Aquarienbeleuchtung mit verschiedenen farbigen LEDs programmieren

Hallo hier ist der Neue mit nicht so viel Plan vom Programmieren :wink:

Ich brauch Hilfe bei Programmierung einer Aquarienbeleuchtung mit verschiedenen farbigen LEDs.
Gleich vorweg, die LEDs werden mit einem starken Transistor oder Mosfet geschaltet.

Die Beleuchtung soll wie folgt ablaufen:

Nach einschalten des Arduinos sollen die gelben und roten LEDs langsam, also mit einer einstellbaren Zeit langsam bis auf Nennleistung gefahren werden. Quassie das es eine fade time gibt. So wie im Beispielcode vom Arduino Programmer.

Nun werden die Hauptbeleuchtung gefadet, während die gelben und roten LEDs langsam wieder abgefadet.

Hauptbeleuchtung bleibt nun ne weile an.

Zum Abend hin wird die Hauptbeleuchtung abgefadet, hiermit fadet dann auch wieder die roten/gelben LEDs langsam ein.
Nachts faden die roten/gelben LEDs langsam aus und zeitgleich geht die Nachtbeleuchtung, ein.

Die Fade Zeiten sollten einzeln bestimmbar sein.

Gut wäre falls das als loop/Dauerschleife funkionieren könnte.

Fühle mich etwas verloren mit dem Vorhaben :confused:

Freue Mich Seehr auf eure Hilfe und Tipps dazu!

LG
LEDler

Da solltest Du uns erst mal mitteilen, was für LED Du nehmen willst und wie viele davon.
Danach könnte man sich Gedanken um den Prozessor machen.

Grundlegend ist das Anliegen des Forums die Hilfe zur Selbsthilfe, nicht die Auftragsvergabe. Welche Erfahrungen hast Du denn bereits mit dem Arduino gesammelt?
Wenn Du völlig von 0 anfängst, wäre es sinnvoll, Dir über ein Starterkit erst mal die Grundlagen zu erarbeiten.

Gruß Tommy

habe für mein aquarium, mit 12v-ledstripes, einen billigen(unter 15€) aquarium-computer aus china geholt(eine meiner wenigen china-käufe über einen deutschen händler).
programmierbar per USB und bis auf ab und an mal wieder an den USB zum zeitabgleich, läuft der zuverlässigst mit einem 12v-netzeil(hatte noch ein 20A-teil liegen).
netzteil kann man auch ein altes pc-netzteil nehmen.

mit dem teil mache ich morgens eine 1/4std 'sonnenaufgang'
abends 1h vor ende schonmal etwas dunkler
und ab einer 1/4std vor 'schluss' sonnenuntergang.

das ding kann 5 kanäle von denen ich nur 3 nutze (noch, hab noch änderungen in planung) aber erstmal will ich noch die LED's anders einbauen wegen wasserdicht usw
--diese 'wasserdichten' stripes sind nicht wasserdicht(also muss ich hier nacharbeiten mit silikon) und die demnächst zu verbauenden RGB-stripes machen mehr abwärme, da muss ich die kühlung verbessern, da arbeite ich grad dran mir da was zu überlegen, zb wasserkühlung, spart auch auqariumheizung...

geist4711:
habe für mein aquarium, mit 12v-ledstripes, einen billigen(unter 15€) aquarium-computer aus china geholt
.....

Und was hat das mit der Frage des TO bzw. mit Arduino zu tun ?
Klar kann man alles fertig kaufen.

Hi

Zur Wärmeentwicklung - hatte in meinem Windfang WS2812B nur auf die Wand geklebt - einzelne LEDs verstarben nach kurzer Zeit. Also das Gelump auf Alu-Leisten geklebt, aber auch hier habe ich in der Mitte einen Ausfall (der Rest des Stripe bekommt keine Daten mehr) und einige LEDs illuminieren blau, statt weiß. Also auch Das ist nicht der Weisheit letzter Schluss und soll drauf aufmerksam machen, daß Das wohl auch konkret überlegt werden will. ... da auch die halbe Beleuchtung den Windfang dicke ausreichend erhellt, bleibt Das erst Mal so, bis ist dafür wieder in Stimmung bin ...

MfG

PS: Sofern die LEDs nicht mit IP68 (oder besser) beworben wurden, würde ich Diese tunlichst vom Wasser fern halten. (IPx8 = untertauchen)

HotSystems:
Und was hat das mit der Frage des TO bzw. mit Arduino zu tun ?
Klar kann man alles fertig kaufen.

nichts hat's mit ardiuno zu tun,
auf den ersten blick...
daher mein posting, kurz knapp und ohne weiteren komentar.

abgesehen davon ist das mit der kühlung/wasserdichtigkeit wirklich so eine sache.
gerade die stripes mit vielen led's/meter machen schon ordentlich abwärme was zulasten der langlebigkeit geht, wenn man das nicht vernünftig abführt.

auch muss man wirklich aufpassen mit zuviel feuchtigkeit/sprühnebel:
hatte den ausströmer der pumpe knapp unter der oberfläche und der sprühnebel(nicht sichbar so wenig) nur von der pumpe reichte aus, um genug mikrotröpfchen nach oben zu wirbeln, das dort die stripes(die als wasserdicht IP65 angegebenen) korrodieren und dann ausfallen.
wobei die stripes da leicht unterschiedlich sind, je nach hersteller.
unterm strich sind die aber weder 'spritzwassergeschützt' IP65, wo sie dann eigentlich den sprühnebel standhalten sollten, noch wirklich 'wasserdicht'.

auch die klebestreifen auf der rückseite sind oft minderwertig auch wenn da '3M' draufsteht.

bin selber momentan beim umbau bzw der planung diesen für 'langjährige haltbarkeit'
und mache mir zb momentan gedanken wie ich die stripes nutzen/einbauen kann.

zwei möglichkeiten sehe ich da:

habe zwar diese mit silikonüberzug(angebich wasserdicht), werde diesen aber wohl abziehen (nächstes mal gleich ohne kaufen) und die stripes nach einkleben mit wärmeleitkleber in alu-U-profil, dann darin mit giessharz vergiessen.

streifen nicht vom silikon befreien,
stripes mit wärmeleitkleber statt dem original-klebeband auf eine aluplatte(volle grösse der abdeckung) kleben und mit silikon die seiten der original-silikonschicht zum blech hin zukleben, das da auch kein wasser 'einkriechen' kann.
sollte das blech zu warm werden ein weiteres mit abstand montieren(mit schlange über die fläche) und über eine kleinst-pumpe wasser durchspülen zum kühlen. das wärmt auch das becken und spart bischen heizung.

wie gut das letztendlich funktioniert kann ich nochnicht sagen, weil ich noch nicht gefertigt und (langzeit-)getestet habe.

Ok

Ohne einen einzigen großen Buchstaben habe ich den Kram dann doch nicht gelesen - schade eigentlich.

Sollte ich doch Einen übersehen haben: tjo - dann ist's halt so.

MfG

postmaster-ino:
Ok
Ohne einen einzigen großen Buchstaben habe ich den Kram dann doch nicht gelesen - schade eigentlich.
Sollte ich doch Einen übersehen haben: tjo - dann ist's halt so.

Ich spende S, C, N und R.

SCNR

Gregor

Hi,

ich habe etwas an Erfahrungen bereits gesammelt. Im Starterkit ist ja einiges an Hard/Software drinne, dort habe ich mir den RGB-Part mal genauer angeschaut und herausgefunden das der Code bereits fast alles an Funktionen bereitstellt. Habe mich im Netz dann etwas umgeschaut und eine anderen enteckt. Diesen habe ich schon etwas modifiziert in dem ich im andere Ausgänge und Datentypen für meinen bedarf umbenannt.
In der Praxis sieht das doch aufgebaut mit LEDs schon sehr vielversprechend aus. :smiley:

Der Code ist mir allerdings an der vermutlich wichtigsten Stelle noch nicht ganz klar.
Im Moment leuchten die LEDs eher "wild" durcheinander.

So sieht der Code aus:

int blau = 6; 
int gelb = 5;
int weiss = 3;
//int t = 20; Aktuell außerkraft gesetzt.

void setup(){
  pinMode(blau, OUTPUT);
  pinMode(gelb, OUTPUT);
  pinMode(weiss, OUTPUT);
}
void Fade(){
for( int i = 0; i <= 255; i++){
  analogWrite(gelb, i); // fade up
  analogWrite(gelb, -i);//fade down
  
  delay(10);
}
for( int i = 0; i <= 255; i++){
  analogWrite(weiss, i); // fade up 
  analogWrite(weiss, -i);//fade down
  delay(10);
}
  for( int i = 0; i <= 255; i++){
  analogWrite(blau, i); // fade up 
  analogWrite(blau, -i);//fade down

  delay(10);
}
} 
void loop(){
Fade();
}

Dieser Part hier ist mir funktionsmäßig nicht klar:

( int i = 0; i <= 255; i++)

Oder meint ihr ich soll eher mit dem Beispiel im Buch arbeiten? Bin mir nicht ganz sicher welcher Code den meisten Lehrwert hat ???
Dort ist der Code wie in meinem Buch:
https://funduino.de/nr-20-rgb-led

Auf die Machbarkeit wegen der Dichtheit gegenüber Wasser, werde ich nicht weiter eingehen. Dort kenne ich mich recht gut aus und kann notfalls jede menge Fachleute zum Thema fragen. Wie ich sehe ist hier IP-Norm nach EN+DIN für Schutzarten elektronischer Geräte leicht fehlinterpretiert worden (Seit mir deswegen nicht böse :wink: ). Aktuell möchte ich eigentlich das Verständnis für den Coden vom Arduino verbessern!

Grüße
LEDler

Setze Deinen Code bitte in Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter ohne *).
So ist er auch auf portablen Geräten lesbar. Das kannst Du auch noch nachträglich ändern.

Gruß Tommy

Dieser Part hier ist mir funktionsmäßig nicht klar:

eigentlich ist es das:

for( int i = 0; i <= 255; i++){

und das wird dir weiterhelfen:
https://www.google.com/search?client=firefox-b-d&q=arduino+for+schleife

vereinfacht gesagt:

lege eine variable i an
führe den Abschnitt in geschweifter Klammer aus, bis die variable i größer oder gleich 255 ist
erhöhe nach jedem Schleifendurchlauf die Variable i um 1

in anderen Worten "führe den Abschnitt 256 mal durch und erhöhe dabei i jeweils um 1)

und ja, man hätte bei 0-255 kein int gebraucht, da hätte ein Variable der Größe byte auch gelangt.

Hi, bin nun wieder da...Srry :wink:
Hui, das ist irgendwie noch nicht so meine Welt.
Wäre einfacher ohne diese for int Schleife die jedes mal +1 draufzählt.
Hatte mir auch gedacht das der Ablauf durch einen Taster aktiviert werden soll, später vielleicht über IR-Fernbedienung.

Ist das miteinander kompatibel miteinander also fade und Taster Aktivierung?
Grüße

geist4711:
sollte das blech zu warm werden ein weiteres mit abstand montieren(mit schlange über die fläche) und über eine kleinst-pumpe wasser durchspülen zum kühlen. das wärmt auch das becken und spart bischen heizung.

wie gut das letztendlich funktioniert kann ich nochnicht sagen, weil ich noch nicht gefertigt und (langzeit-)getestet habe.

Das Funktioniert super sowas!
Hatte mal als Versuch n U-Profil aus Alu genommen, und n paar von diesen 10w COBs von ebay mit etwas WLP und Heißkleber darauf montiert.
Das Profil habe ich mit etwas Gefälle montiert, damit das Wasser immer schön in eine Richtung fließt und keinen Wärmestau verursacht.
5 davon haben das das 60l Becken auf so ~24°C gehalten, obwohl es nicht wirklich warm bei mir ist.
Die LEDs waren nie über Handwarm.

Hmmm.. muss wohl nun alleine zurechtkommen/oder auch nicht wie es scheint. Hab das ganze eh so gut wie auf Eis gelegt.
Danke trotzdem.