Hola gente,como están?
estoy tratando de hacer un circuito que haga lo siguiente.
Lo estoy probando con leds,y la cuestion es que el led 1 tiene que depender pura y exclusivamente del estado del pulsador y debe ser ciclíco,por eso lo coloqué en el loop,entonces si el pulsador no está oprimido,el led se enciende,y una vez que se oprimió,el led se apagó,en cambio,el led2 debe primero esperar cierto tiempo (No le coloqué el delay,pero tiene que ser de 12 horas),leer si el pulsador2 no está oprimido y ahí debe prenderse el led,una vez que se oprimió el pulsador2,se apagó.
Se entiende?
este es el codigo que hice,pero no funciona como pretendo...
int led = 4; int led1 = 3; int pulsador1 = 12; int pulsador= 10; volatile int state = LOW; void setup() {
** pinMode(led, OUTPUT);**
** pinMode(led1, OUTPUT);**
** pinMode(pulsador1, INPUT);**
** pinMode(pulsador, INPUT);**
** attachInterrupt(led1, stateChange, CHANGE);** } void loop() {
** if (digitalRead(pulsador)==LOW)**
** {**
** digitalWrite(led,HIGH);**
** }**
** else**
** {**
** digitalWrite(led,LOW);**
** }** } void stateChange() {
** if (digitalRead(pulsador1)==LOW)**
** {**
una vez pulsado,el led se apaga,y una vez que se suelta de nuevo,se vuelve a prender,pero como digo...uno es ciclico,y el otro led (LED1) necesito esperar 12 horas si o si
Gente!!
Logré hacer que el led 1 y 2 prendan y actuen por separado,pero no puedo lograr generar el retardo para que comience a funcionar el led 2,en todo momento se queda prendido, y yo deseo que el led2 se prenda cada 12 horas unicamente,sin que afecte al led 1
alguno sabe como?
Les dejo el codigo que hice
int led1 = 4;
int led2 = 5;
int puls1 = 2;
int puls2 = 3;
void loop()
{ if (digitalRead(puls1)==HIGH)// Condicional para determinar si la llave esta en estado alto
{
digitalWrite(led1,LOW);//se cumplio el condicional,led1 OFF
}
else
{
digitalWrite(led1,HIGH);//No se cumplio condicional..led1 ON
}
}
void parpadeo(){
// Condicional para determinar si la llave esta en estado alto
{ if (digitalRead(puls2)==HIGH)
{ digitalWrite(led2,LOW);//se cumplio el condicional,led2 OFF
}
else
{
digitalWrite(led2,HIGH);//No se cumplio condicional..led2 ON
}
Muchas gracias marcial!
pero el que necesita tiempo de espera para su activacion es solamente el led 2,el led 1 debe estar en el loop,en cambio,el led 2 no debe ser ciclico y estar en el void loop,sino que debe estar en otro void,me explico?
el led 1 funciona en todo momento,es decir,es "Sensado" en todo momento.
En cambio el led 2 solo es sensado cada 12 horas
Ey compa!
tu codigo funciona perfecto,pero solo tengo un problema!!!
funciona a lo esperado,pero al pulsar el puls2 el led se apaga,y al soltarlo instantaneamente se enciende,yo pretendo que al soltarlo,esperé nuevamente el tiempo y recien ahi se prenda el led,se comprende?
es decir..
12 horas --> pulsador no oprimido --> led enciende --> pulsador oprimido --> led apaga y si el pulsador se vuelve a modo no oprimido que espere 12 horas,no que encienda el led instantaneamente
sos un craaaack!!!!!!!!!!!!!!!!!!!!!
Gracias por toda tu ayuda compa!!! la verdad que me alegraste el dia,no tengo más que palabras de agradecimientos para contigo! muchisimas gracias compa!
Gracias por toda tu paciencia,por tus ganas de aportar,por todo!
me has salvado!