Primeros pasos con arduino y primer problema

:)Con un potenciometro conectado a la entrada analogica intentaba que el LED conectado al pin 13 se encendiese y se apagase mas rapido o lento dependiendo del giro que yo le daba al potenciometro.

Y todo fue de perlas pues fui usando los ejemplos para crear mi propio programa de control.

¡¡¡Pero solo lograba que se encendiese y se apagase un numero FIJO de veces!!!

Y me estaba volviendo loco!!!

¿que podria ir mal en la placa?

finalmente descubri que la funcion MILLIS() me daba un numero que iba en aumento a medida que pasaban los segundos y ese numero yo lo almacenaba en una variable definida al principio de mi programa; concretamente en: int previousMillis…

Entonces me di cuenta!!!.. …se supone que una variable int solo puede almacenar un numero que no sea demasiado grande, asi que voy a cambiar “int” por “long” y a ver que pasa… ¡¡y si sigue fallando tiro la placa a la basura!!

…y el problema se resolvio!.. aun veo parpadear el LED naranja unas dos veces por segundo, mientras que antes se me quedaba encendido fijo al medio minuto de resetear la placa arduino. :slight_smile:

Aqui pongo el codigo para variar el parpadeo del led conectado al pin 13 digital de arduino con un potenciometro externo conectado entre GND, V5+ y la entrada analogica 0:

int ledPin = 13; // LED conectado al pin digital número 13
long previousMillis = 0; // Almacena la última vez que el LED fué modificado
int value = LOW; // Estado anterior del LED
int interval = 1000; // Intervalo de parpadeo (milisegundos)

void setup()
{
pinMode(ledPin, OUTPUT); // Configura como salida el pin digital
}

void loop()
{
if (millis() - previousMillis > interval)
{
previousMillis = millis(); // Recuerda la última vez que el estado del LED cambió
if (value == LOW) // Si el LED está apagado lo enciende y viceversa.
{
value = HIGH;
}
else
{
value = LOW;
}
digitalWrite(ledPin, value);
}
interval = analogRead(0);
}

Hola,

esto hubiera sido bueno postearlo en la web en Español … lo podrias ahi? Seguro que mucha gente se interesara por este mismo problema.

Un saludo,

/David