Stap 3: Arduino code
De volgende code ontvangt het frame op de RC5. Als de Raad van bestuur ontvangen de systeem code 5 en 16 opdracht die het Relais zal worden geactiveerd en als het systeem code 5 en 56 opdrachtcode ontvangen wordt het Relais is uitgeschakeld. Merk op dat een dergelijke code kan variëren naar gelang de afstandsbediening gebruikt wordt aanbevolen het systeem via periodieke code en om te controleren of de ontvangen opdrachtcode afdrukken, en dus de code aanpassen.
Intel Iot Roadshow Nov/2015 - Brazilië
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);
/ * ************* Foreign functionality ************* * /
ongeldig setup(void) {}
pinMode(RC_5,INPUT_PULLUP);
pinMode(RELE1,OUTPUT);
Serial.begin(9600);}
/* * * * * * * * * * * * * * Função de loop * * * * * * * * * * * * * */
void loop(void) {i
Als (digitalRead(RC_5)==0) {}
char comando = 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;
Als (sistema == 5 & & comando == 16)
digitalWrite(RELE1,1);
Als (sistema == 5 & & comando == 56)
digitalWrite(RELE1,0);}
}
/ * ************* Foreign para ler bits ************* * /
char le_bit(void) {}
char last_rx = 1;
delayMicroseconds(890);
Als (digitalRead(RC_5))
last_rx = 0;
delayMicroseconds(890);
Return(last_rx);
}