Код (Text): #define REDPIN 5 #define GREENPIN 6 #define BLUEPIN 3 #define FADESPEED 5 // чем выше число, тем медленнее будет fade-эффект void setup() { pinMode(REDPIN, OUTPUT); pinMode(GREENPIN, OUTPUT); pinMode(BLUEPIN, OUTPUT); } void loop() { int r, g, b; // fade от голубого к фиолетовому for (r = 0; r < 256; r++) { analogWrite(REDPIN, r); delay(FADESPEED); } // fade от фиолетового к красному for (b = 255; b > 0; b--) { analogWrite(BLUEPIN, b); delay(FADESPEED); } // fade от красного к желтому for (g = 0; g < 256; g++) { analogWrite(GREENPIN, g); delay(FADESPEED); } // fade от желтого к зеленому for (r = 255; r > 0; r--) { analogWrite(REDPIN, r); delay(FADESPEED); } // fade от зеленого к зеленовато-голубому for (b = 0; b < 256; b++) { analogWrite(BLUEPIN, b); delay(FADESPEED); } // fade от зеленовато-голубого к голубому for (g = 255; g > 0; g--) { analogWrite(GREENPIN, g); delay(FADESPEED); } } помогите пожалуйста добавить в данный код для срабатывания датчика движения. Т.е. прошел -все включилось, ушел все выключилось. Спасибо
Набросал код, сможете проверить? Что тут не так?. Код (Text): int sensor = 2; // the pin that the sensor is atteched to int state = LOW; // by default, no motion detected int val = 0; // variable to store the sensor status (value) #define REDPIN 5 #define GREENPIN 6 #define BLUEPIN 3 #define FADESPEED 5 // чем выше число, тем медленнее будет fade-эффект void setup() { pinMode(REDPIN, OUTPUT); pinMode(GREENPIN, OUTPUT); pinMode(BLUEPIN, OUTPUT); pinMode(sensor, INPUT); // initialize sensor as an input Serial.begin(9600); // initialize serial } void loop(){ int r, g, b; val = digitalRead(sensor); // read sensor value if (val == HIGH) { for (r = 0; r < 256; r++) { analogWrite(REDPIN, r); delay(FADESPEED); } for (b = 255; b > 0; b--) { analogWrite(BLUEPIN, b); delay(FADESPEED); } for (g = 0; g < 256; g++) { analogWrite(GREENPIN, g); delay(FADESPEED); } // fade от желтого к зеленому for (r = 255; r > 0; r--) { analogWrite(REDPIN, r); delay(FADESPEED); } // fade от зеленого к зеленовато-голубому for (b = 0; b < 256; b++) { analogWrite(BLUEPIN, b); delay(FADESPEED); } // fade от зеленовато-голубого к голубому for (g = 255; g > 0; g--) { analogWrite(GREENPIN, g); delay(FADESPEED); } if (state == LOW) { Serial.println("Motion detected!"); state = HIGH; // update variable state to HIGH } } else { analogWrite(GREENPIN, LOW); analogWrite(BLUEPIN, LOW); analogWrite(REDPIN,LOW); delay(400); // delay 400 milliseconds if (state == HIGH){ Serial.println("Motion stopped!"); state = LOW; // update variable state to LOW } } }