Zero Projecte
Aquest projecte ens permet veure al monitor del IDE d'Arduino el codi que porta cadascun dels bonos del comandament a distància.
Cal pujar l'script, obrir el monitor (Herramientas>Monitor Serie) i comprovar quins son els codis dels botons.
/*
informació treta de
http://www.prometec.net/infrarrojos/
Nos informa del modelo de señal que usa nuestro mando.
En este momento reconoce 4 protocolos y el autor pide la colaboración ciudadana, para aumentar el número de protocolos disponibles con la librería.
Actualmente son:
IR_NO_PROTOCOL , 0
IR_USER, 1
IR_ALL, 2
IR_NEC, 3.
IR_PANASONIC, 4
Address, dirección de tu mando. Cada mando lleva una dirección para identificarle.
Podrías usar más de un mando a distancia para controlar lo que sea, y reconocerlos de forma diferenciada.
La orden o identificación del botón pulsado en el mando.
Cada botón tiene un código diferente y estos son los códigos que usaras en tu programa para lanzar acciones diferentes en función del botón pulsado.
*/
#include "IRLremote.h"
const int interruptIR = 0; // Arduino interrupcion 0: Pin 2
uint8_t IRProtocol = 0; // Variables para recibir los datos
uint16_t IRAddress = 0;
uint32_t IRCommand = 0;
void setup()
{ Serial.begin(9600); // Fijate en la velocidad, he canviat la velocitat original. Amb l que duia no es podia llegir res
Serial.println("Startup");
IRLbegin<IR_ALL>(interruptIR);
}
void loop()
{
uint8_t oldSREG = SREG; // Parar las interrupciones
cli();
if (IRProtocol) // Si reconoce el protocolo
{
Serial.print("Protocol:");
Serial.println(IRProtocol);
Serial.print("Address:");
Serial.println(IRAddress, HEX);
Serial.print("Command:");
Serial.println(IRCommand, HEX);
IRProtocol = 0;
}
SREG = oldSREG;
}
void IREvent(uint8_t protocol, uint16_t address, uint32_t command)
{
IRProtocol = protocol; // Recogemos los valores y nos volvemos
IRAddress = address;
IRCommand = command;
}
Obra publicada con Licencia Creative Commons Reconocimiento Compartir igual 4.0