buenas tardes compañeros, estoy trabajando en una automatizacion de un natatorio con Arduino uno, Control remoto y receptor infrarrojo.
Como ven, si apreto un botón leeria el estado de la variable "luces" por ejemplo y si es LOW a través de un else lo cambiaria a HIGH y enviaria el msj por Serial.println ("<1>") y ("<\t>") (porque lo leo desde un programa en vb 6.0).
*El problema esta en que yo quiero comprobar el estado, si es LOW que cambie a HIGH y que mande por monitor serial ("<1>") y ("<\t>")
y si es HIGH que cambie a LOW y que mande por monitor serial ("<11>") y ("<\t>")
Aclaro: utilizo CASE porque quiero agregar mas botones del control remoto para otras salidas.
trate de simplificar el codigo para el ejemplo.
Acá dejo el codigo para alguna ayuda.
Muchas gracias.
#include <boarddefs.h>
#include <IRremote.h>
#include <IRremoteInt.h>
#include <ir_Lego_PF_BitStreamEncoder.h>
#include <IRremote.h>
int receptor = 11;
int luces = 0;
IRrecv irrecv(receptor);
decode_results codigo;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(luces, OUTPUT);
}
void loop()
{
delay(100);
if (irrecv.decode(&codigo))
{
switch (codigo.value)
{
case 0xFF30CF:
if (digitalRead(luces))
digitalWrite(luces, LOW);
else
digitalWrite(luces, HIGH);
Serial.print ("<1>");
Serial.println ("\t");
delay(100);
break;
// ACÁ DEBERIA COMPROBAR SI AL MOMENTO DE APRETAR EL BOTON EL DIGITALWRITE ES (LUCES,HIGH) ENTONCES DEBERIA SER ASI
digitalWrite(luces, LOW);
Serial.print ("<11>");
Serial.println ("\t");
}
}
}