Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

ayuda con programa (arduino)

DDEAD

Bovino adolescente
Desde
13 Sep 2008
Mensajes
50
hola amigos lo que pasa es que llevo horas sin lograr el objetivo de apagar un led sin que se vuelva un ciclo de prender y apagar si no que pase determinado tiempo y apague definitivamente espero me puedan ayudar soy nuevo en esto del arduino
les dejo el codigo que intento hacer

int potPin = A0;
int potPini = A1;

int led=13;
int led2=12;
int apagado= 0;
int encendido= 1;
void setup(){
pinMode(led,OUTPUT);
pinMode(led2,OUTPUT);

Serial.begin(9600);
}
void loop(){
potPin = analogRead(A0)/4;
potPini = analogRead(A1)/4;

Serial.println(potPini);
delay(100);
if(potPin<40){

digitalWrite(led, HIGH);

digitalWrite(led, apagado);


}
}
 
if(potPin<40){

digitalWrite(led, HIGH);

digitalWrite(led, apagado);

}
}

Lo que estas haciendo aquí es básicamente decirle que si el valor del potenciometro es menor a 40 prenda y apague de manera instantánea.

lo correcto sería:

if(potPin<40){ // si el valor es menor a 40

digitalWrite(led, HIGH); // enciende
}
else // si no lo es
{
digitalWrite(led, apagado); // se apaga


}


Tampoco necesitas declarar "apagado" o "encendido" para eso usas los valores HIGH y LOW donde sean necesarios (es a lo que se refiere carlosg15).

El estado del led en tu programa no depende de un cierto tiempo si no del valor de tu potenciometro o fuente análoga de entrada ya que es lo que estas usando para la comparación.

Si lo que quieres es que dependa de tiempo debes usar un delay o los millis para hacer la comparación.

Si usas delay la ejecucion del programa se detiene durante el tiempo especificado lo que significa que no ejecutara ninguna orden ni lectura durante este tiempo.
 
Volver
Arriba