//**************************************************************** // Filename: _3_Way.ino // // The Arduino program to send signals to the 3_Way.c program // Running on the RaspberryPi. // //**************************************************************** int outpin[3]={11,10,9}; //**************************************************************** // setup() //**************************************************************** void setup() { for(int i=0;i<3;i++) pinMode(outpin[i], OUTPUT); } //**************************************************************** // function alloff() - Sets all pins low. //**************************************************************** void alloff() { delay(500); for(int i=0;i<3;i++) digitalWrite(outpin[i], LOW); } //**************************************************************** // blink() Blink red, green, blue, yellow, magenta, cyan, white. //**************************************************************** void blink() { for(int i=0;i<3;i++) { alloff(); digitalWrite(outpin[i], HIGH); // Red, Green, Blue. } alloff(); digitalWrite(outpin[0], HIGH); // Yellow, Red + Green. digitalWrite(outpin[1], HIGH); alloff(); digitalWrite(outpin[0], HIGH); // Magenta, Red + Blue. digitalWrite(outpin[2], HIGH); alloff(); digitalWrite(outpin[1], HIGH); // Cyan, Green + Blue. digitalWrite(outpin[2], HIGH); alloff(); digitalWrite(outpin[0], HIGH); // White, Red + Green + Blue. digitalWrite(outpin[1], HIGH); digitalWrite(outpin[2], HIGH); } //**************************************************************** // loop() //**************************************************************** void loop() { int delaytime=20; for(int i=0;i<5;i++) blink(); alloff(); delay(1000); for(int j=0;j<3;j++) { int x=1; for(int i=0;i>-1;i+=x) { analogWrite(outpin[j], i); // Fade in and out, if(i==255) x=-1; // RGB sequence. delay(delaytime); } } alloff(); delay(1000); }