//librerias
#include <Servo.h>
Servo AEXT; //representa A+
Servo DOOR; //portones
String entradas = ""; //inputs seriales
void loop() {
//INICIA COMUNICACION SERIAL
Serial.begin(9600);
//DIGITAL INPUTS
pinMode (3, INPUT); //HS00
pinMode (4, INPUT); //HS01
pinMode (5, INPUT); //HS02
pinMode (6, INPUT); //LLAVE
pinMode (7, INPUT); //FCS
pinMode (8, INPUT); //FCI
//DIGITAL OUTPUTS
AEXT.attach(9); //A+ Y A-
pinMode (11, OUTPUT); //CPA
pinMode (12, OUTPUT); //CPB
pinMode (13, OUTPUT); // YL00
pinMode (14, OUTPUT); //YL01
pinMode (15, OUTPUT); //YL02
pinMode (16, OUTPUT); //YL03
pinMode (17, OUTPUT); //YL04
pinMode (18, OUTPUT); //YL05
pinMode (19, OUTPUT); //YL06
//MENSAJE DE OPERACIONAL
Serial.println("LISTO PARA INGRESAR");
}
void setup() {
while(Serial.available()){
entradas = Serial.read();
//Cuando se presiona HS00:
//Activar CPA
//Activar A+
//Activar YL00
if (digitalRead(3)==HIGH)
{
digitalWrite(11,HIGH);
AEXT.write(180);
digitalWrite (13,HIGH);
//Esperar a FCS
if(digitalRead(7)==HIGH)
{
//encender YL01
digitalWrite(14,HIGH);
//while reciba info del serial
while(1){
//vacio
}
// probando con void loop
while(entradas!="HE2"){
//esperar datos
if(Serial.available()>0){
//asignar datos a una variable
entradas = Serial.read();
}
}
//
if(entradas=="HE2")
{
//Activar A- Y ACTIVAR YL00/APAGAR YL01
digitalWrite (14,LOW);
digitalWrite (13, HIGH);
AEXT.write(0);
//Esperar FCI, aunque se enciende HE3 Y HE4
if(digitalRead(8)==HIGH)
{
//Para poder luego activar:
//CPB y YL05 Y YL01/APAGAR YL0
digitalWrite(12,HIGH); //CPB ON
digitalWrite (13,LOW);
digitalWrite (14, HIGH);
digitalWrite(18,HIGH); // YL05 ON
}
// probando con void loop para dejar de sensar HE3
while(entradas!="HE3") {
//esperar datos
if(Serial.available()>0)
{
//asignar datos a una variable
entradas = Serial.read();
}
}
if(entradas=="HE3 OFF")
{
//esperar que se dejen de sensar HE3 para desactivar CPB
digitalWrite(12,LOW); //CPB OFF
}
// probando con void loop para HE5
while(entradas!="HE5"){
if(Serial.available()>0){
//asignar datos a una variable
entradas = Serial.read();
}
}
if(entradas=="HE5")
{
//Despues esperar HE5 para poder llevar a la etapa inicial en la que estan CPA y
//CPB van en contrario
digitalWrite(12,LOW); //CPB INVERTIDO
digitalWrite(11,LOW); //CPA INVERTIDO
}
}
}
}
}
}