RGB LED Strip für Aquarium, Sonnenuntergang-Mondlicht
wie der titel schon sagt, habe ich vor, bei abschalten der beleuchtung eine rgb-led-strip als sonnenuntergang mit anschließendem mondlicht zu bauen.
die funktion des sonnenuntergangs habe ich schon hinbekommen, nur bekomme ich es nicht hin, dass solange das licht aus ist, die rgb auf blau bleibt, bis das tageslicht wieder ist.
hier mein bisheriger code:
hier nochmal das ziel:
leuchtstofflampen sind = led-strip aus
leuchtstofflampen sind aus = gruen dimmt ab - rot dimmt ab - blau bleibt an
leuchtstofflampen gehen wieder = led-strip geht aus
kann mir da jemand nen tip geben, wie ich es hinbekomme, das die schleifen dim stehen bleibt, bis das licht wieder ist?
gruß
jörg
die funktion des sonnenuntergangs habe ich schon hinbekommen, nur bekomme ich es nicht hin, dass solange das licht aus ist, die rgb auf blau bleibt, bis das tageslicht wieder ist.
hier mein bisheriger code:
code: [select]
// aquarium sonnenuntergang mit mondlicht geschaltet mit fotowiederstand, wenn leuchstofflampen aus sind.
const int blaupin = 5; // blaue led pin 5 angeschlossen
const int rotpin = 3; // rote led pin 3 angeschlossen
const int gruenpin = 6; // gruene led pin 6 angeschlossen
const int fadezeit = 20; // ein höherer wert verlangsamt den farbwechsel
int r, g, b; // variablen rot, gruen, blau
int licht; // variable lichtsensor
void setup() {
serial.begin(9600); //serielle schnittstelle zum testen
pinmode(blaupin, output); // pin´s auf ausgang
pinmode(rotpin, output); // pin´s auf ausgang
pinmode(gruenpin, output); // pin´s auf ausgang
// alles aus
analogwrite(blaupin, 0);
analogwrite(gruenpin, 0);
analogwrite(rotpin, 0);
}
void loop (){
licht = analogread(0); // sensor analog pin 0
messen ();
}
void messen (){
serial.println("messen");
analogwrite(blaupin, 0);
analogwrite(gruenpin, 0);
analogwrite(rotpin, 0);
if (licht < 200) {
dim ();
}
else {
return;
}
}
void dim () {
serial.println("dimmen");
analogwrite(blaupin, 255); // 100% blau
analogwrite(gruenpin, 255); // 100% gruen
analogwrite(rotpin, 255); //100% rot
delay(1000);
// dimm grün
(g = 255; g > 0; g--) {
analogwrite(gruenpin, g);
delay(fadezeit);
}
// dimm rot
(r = 255; r > 0; r--) {
analogwrite(rotpin, r);
delay(fadezeit);
}
}
hier nochmal das ziel:
leuchtstofflampen sind = led-strip aus
leuchtstofflampen sind aus = gruen dimmt ab - rot dimmt ab - blau bleibt an
leuchtstofflampen gehen wieder = led-strip geht aus
kann mir da jemand nen tip geben, wie ich es hinbekomme, das die schleifen dim stehen bleibt, bis das licht wieder ist?
gruß
jörg
delays abschaffen. -> blinkwithoutdelay tutorial
die loop wird dann sehr schnell durchlaufen und jedesmal kannst du dann abfragen, ob der dim prozess unterbrochen werden soll
die loop wird dann sehr schnell durchlaufen und jedesmal kannst du dann abfragen, ob der dim prozess unterbrochen werden soll
Arduino Forum > International > Deutsch (Moderator: uwefed) > RGB LED Strip für Aquarium, Sonnenuntergang-Mondlicht
arduino
Comments
Post a Comment