Étape 3: Code d’Arduino
Le code suivant reçoit la trame sur RC5. Si le Conseil a reçu la commande de code 5 et 16 du système que se déclenchera le relais et a reçu le code de commande système code 5 et 56 le relais est désactivé. Notez que ce code peut varier selon la télécommande utilisée est recommandé imprimer le système par l’intermédiaire de code de série et de vérifier le code de commande reçue et donc régler le code.
Intel Iot Roadshow Nov/2015 - Brésil
AUTORES : Vitor Amadeu e Renata Leal
/* * * * * * * * * * * * * * Declaração de I/Os * * * * * * * * * * * * * */
#define RC_5 A0
#define RELE1 3
#define TEMPO 890 char le_bit(void) ;
/ * ************* Função de inicialização ************* * /
void setup(void) {}
pinMode(RC_5,INPUT_PULLUP) ;
pinMode(RELE1,OUTPUT) ;
Serial.Begin(9600);}
/* * * * * * * * * * * * * * Função de loop * * * * * * * * * * * * * */
void loop(void) {i
Si (digitalRead(RC_5)==0) {}
comando de char = 0, sistema = 0 ;
delayMicroseconds(4000) ;
Sistema=Sistema|le_bit() << 4 ;
Sistema=Sistema|le_bit() << 3 ;
Sistema=Sistema|le_bit() << 2 ;
Sistema=Sistema|le_bit() << 1 ;
Sistema=Sistema|le_bit() << 0 ;
Comando=Comando|le_bit() << 5 ;
Comando=Comando|le_bit() << 4 ;
Comando=Comando|le_bit() << 3 ;
Comando=Comando|le_bit() << 2 ;
Comando=Comando|le_bit() << 1 ;
Comando=Comando|le_bit() << 0 ;
Si (sistema == 5 & & comando == 16)
digitalWrite(RELE1,1) ;
Si (sistema == 5 & & comando == 56)
digitalWrite(RELE1,0);}
}
/ * ************* Função bit de para ler ************* * /
char le_bit(void) {}
char last_rx = 1 ;
delayMicroseconds(890) ;
Si (digitalRead(RC_5))
last_rx = 0 ;
delayMicroseconds(890) ;
Return(last_rx) ;
}