AYUDA código Arduino

Buenas tardes a todos, les cuento que hoy aprendí a programar el famoso Arduino, recurro a ustedes porque tengo problema con un código que desarrolle para la aplicación que explico:

1. Presiono un botón y verifica el estado de un sensor infrarrojo
2. Si el sensor:
2.1.- Manda un 1 digital
2.1.1.- Activar una salida, desactivarla, esperar, activar otra salida, desactivarla
2.2.- Manda un 0
2.2.1.- Activar una salida (reloj), luego desactivarla

La salida reloj se usa para hacer cambiar de estado un circuito integrado 4017

Todo funciona a la perfección, excepto la parte donde incluyo la función "else", y esta parte es la que hace cambiar de estado al 4017, el programa compila el código sin ningún error

Cualquier ayuda se agradece

Código:
int reset = 2;     // pin para reset de 4017
int sal1 = 3;      // salida 1
int sal2 = 4;      // salida 2
int reloj = 5;     // reloj de 4017
int sensor = 8;      // sensor infrarrojo
int entrada = 12;  // push button para activar
int val1 = 0;      // para leer push button
int val2 = 0;      // para leer sensor infrarrojo

void setup() {
  pinMode(reset, OUTPUT);   
  pinMode(sal1, OUTPUT);    
  pinMode(sal2, OUTPUT);    
  pinMode(reloj, OUTPUT); 
  pinMode(sensor, INPUT);    
  pinMode(entrada, INPUT);
}

void loop(){
digitalWrite(reloj, LOW);
digitalWrite(reset, LOW);
  val1 = digitalRead(entrada);  // lee el valor del boton
  if (val1 == LOW) {            // checa que el boton este presionado
    val2 = digitalRead(sensor);
     if (val2 ==HIGH){ 
      digitalWrite(sal1, HIGH); 
       delay(1500);
       digitalWrite(sal1,LOW);
       delay(500);
       digitalWrite(sal2,HIGH);
       delay(500);
       digitalWrite(sal2,LOW);  

     }else {
      digitalWrite(reloj, HIGH);  // turn LED ON
      delay(100);
      digitalWrite(reloj,LOW);
    }
    }
  }

arduino.jpg
 
Última edición:
Atrás
Arriba