1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
| /*
433.92Mhz Recepter on Pin 2
Led1 on Pin 7
Led2 on Pin 8
Led3 on Pin 9
Led4 on Pin 10
Led5 on Pin 11
Led6 on Pin 12
Led7 on Pin 13
Led8 on Pin 6
*/
int remotereceiver = 2;
int led1 = 7;
int led2 = 8;
int led3 = 9;
int led4 = 10;
int led5 = 11;
int led6 = 12;
int led7 = 13;
int led8 = 6;
String message;
//Setting things up
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
// Remote Receiver are on Input mode / Leds on Ouput
pinMode(remotereceiver, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
}
void loop() {
//This delay scrolls the message so if the message was received too early it correctly synchronize
delay(20);
//Recording 24 times the digital of the DATA pins before showing it
for(int code = 1; code <=24 ; code++)
{
//This delay is the same as on the Rpi code for synchronisation purpose.
delay(10);
message = message + digitalRead(remotereceiver);
}
//Leds ON message
if (message == "011111110011010011010011")
{
Serial.println("And Rpi said let's there be light!");
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(led3,LOW);
digitalWrite(led4,LOW);
digitalWrite(led5,HIGH);
digitalWrite(led6,HIGH);
digitalWrite(led7,LOW);
digitalWrite(led8,LOW);}
//Leds Off message
if (message == "111111111101011111111111")
{
Serial.println("And Rpi send everything to darkness!");
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,HIGH);
digitalWrite(led4,HIGH);
digitalWrite(led5,LOW);
digitalWrite(led6,LOW);
digitalWrite(led7,HIGH);
digitalWrite(led8,HIGH);
}
//Show message and reset it
Serial.println(message);
message = "";
} |
Partager