Hola a todos me presento me llamo Jorge.
Llevo un tiempo realizando proyectos de arduino por mi cuenta, e comprado varios libros y por practicas e internet estoy aprendiendo poco a poco.
El problema que planteo es que no e sido capaz de encontrar ni en internet ni en el foro como actuar de la siguiente forma.
La idea es conseguir mediante 2 pulsadores a la vez que activemos un servo que nos abriria la cerradura de una caja. En el codigo que pondre a continuacion todo esta realizado con LEDS, unicamente esto es para averiguar si el funcionamiento me era correcto antes de llevarlo a la practica. Para mi me esta resultando mas sencillo de esta forma aprender.
La idea es si pulsas (pulsador izq) ilumina unos leds rojos izq (como señalando error) si pulsas (pulsador dch) ilumina unos leds rojos dch ( señalando error ) si pulsaras los 2 a la vez solamente se encenderian 2 leds verdes que señalizan que esta correcto y la cerradura a abierto.
El codigo esta completo a excepcion de la parte de los 2 pulsadores pues no consigo como poder realizarlo de ninguna forma.
#define LEDRI 8
#define LEDRD 10
#define LEDVI 9
#define LEDVD 11
#define LEDRBD 5
#define LEDABI 6
#define BOTONA 3
#define BOTONR 4
void setup() {
pinMode(LEDRI,OUTPUT); //LEDS ROJO IZQUIERDA GRUPO DE 3 ERROR
pinMode(LEDRD,OUTPUT); // LEDS ROJO DERECHA GRUPO DE 3 ERROR
pinMode(LEDVI,OUTPUT);// LED VERDE IZQUIERDA OK
pinMode(LEDVD,OUTPUT);// LED VERDE DERECHAOK
pinMode(LEDABI,OUTPUT); // LED AMARILLO AL LADO DEL PULSADOR AMARILLO ( MARCA CUANDO ESTA ON/OFF EL PULSADOR )
pinMode(LEDRBD,OUTPUT); // LED ROJO AL LADO DEL PULSADOR ROJO ( MARCA CUANDO ESTA ON/OFF EL PULSADOR )
pinMode(BOTONA,INPUT); // PULSADOR AMARILLO
pinMode(BOTONR,INPUT); // // PULSADOR ROJO
digitalWrite(LEDRI,LOW);
digitalWrite(LEDRD,LOW);
digitalWrite(LEDVI,LOW);
digitalWrite(LEDVD,LOW);
digitalWrite(LEDRBD,HIGH);
digitalWrite(LEDABI,HIGH);
// put your setup code here, to run once:
}
void loop() {
if(digitalRead(BOTONA)==HIGH)
{
digitalWrite(LEDABI,HIGH);
digitalWrite(LEDRI,LOW);
digitalWrite(LEDVI,LOW);
}
else
{
digitalWrite(LEDABI,LOW);
digitalWrite(LEDRI,HIGH);
digitalWrite(LEDVI,LOW);
}
if(digitalRead(BOTONR)==HIGH)
{
digitalWrite(LEDRBD,HIGH);
digitalWrite(LEDRD,LOW);
digitalWrite(LEDVD,LOW);
}
else
{
digitalWrite(LEDRBD,LOW);
digitalWrite(LEDRD,HIGH);
digitalWrite(LEDVD,LOW);
}
// put your main code here, to run repeatedly:
if ( (BOTONR == LOW) || (BOTONA == LOW) )
{digitalWrite(LEDABI,LOW);
digitalWrite(LEDRI,LOW);
digitalWrite(LEDVI,HIGH);
digitalWrite(LEDRBD,LOW);
digitalWrite(LEDRD,LOW);
digitalWrite(LEDVD,HIGH);
}
}
Espero no haber errado en donde e puesto el post, y pido disculpas si es asi. Poco a poco ire aprendiendo y solo consultare cuando ya no vea una salida.
Gracias a toda la comunidad y en un futuro no muy lejano me gustaria aportar y ayudar a todo el que lo necesite