Ich beschäftige mich nun erst seit kurzen mit dem ARDUINO aber ich hoffe die richtige Wahl getroffen zu haben für das was ich mir vorstelle.
Was ist passiert:
Meine Aquariumlampe hat gebadet und leuchtet nicht mehr so wie früher.
Was soll passieren:
Neue Aquariumlampe mit LED
Im Zuge des Bauens einer Lampe möchte ich nun auch meinen alten "überflüssigen" "überteuerten" Aquariumcomputer ersetzen.
Was soll ARDUINO alles können:
7x PWM mit ca. 1 kHz (Sonnenauf- & untergangssimmulation) für die LED Lampe (Zeitgesteuert)
4x Temperatursensoren Logen 0,1°C Abständen
2x Lüfter steuern (ohne PWM)
4x Relais steuern (Zeitgesteuert/ Temperatur)
1x Anzeige mit Uhrzeit / Temperatur
Leichte Programmierung..... vielleicht die Möglichkeit direkt Temerpaturen / Zeiten / Dimmung (PWM) für die Steuerungen einzugeben ohne im Quellcode zu suchen
Als Option automatische Datenübertragung per WIFI auf ein NAS (FTP-Server).
Das alles soll nicht gleich Aufgebaut werden.
Wichtig ist mir erstmal das ich die PWM mit Zeit hinbekommen und die Lüftersteurung.
Was habe ich Bestellt:
Arduino Mega 2560 Rev3
Big Bargain New Arduino I2C RTC DS1307 AT24C32 Real Time Clock Module Board für AVR ARM PIC
HD44780 1602 LCD Module Display Anzeigen 2X16 Zeichen
Steckbord / Stecker
Nun die kleine Frage kann der kleine ARDUINO das alles "gleichzeitig" oder bin ich total auf dem Holzweg. Möchte ungern auf dem halben Weg alles ändern weil nichts zueinander passt.
Was die Relais angeht Brauche ich nur nur die "Steuerspannung" 5V. Ich habe schon eine Steckdose mit Optokopllern die für mich schalten würden.
Danke für eure Mühe mich auf den richtigen Weg zu bringen.
Sieht nach einem schönen Projekt aus, schön zum ausprobieren und lernen. Ähnliche Projekte findest du auch hier im deutschsprachigen Subforum - ebenso Leute, die sich mit der Thematik Aquarienbeleuchtung auskennen.
Alle Aufgaben gleichzeitig zu erledigen setzt vor allem eines voraus: den konsequenten Verzicht auf Pausen durch die delay()-Anweisung.
Willst du jede einzelne Led ansteuern? Wie hast du dir denn das vorgestellt wie es am Ende aussehen soll?
Im Grunde ist das alles nicht so sonderlich schwer zu realisieren. Achte nur darauf das du wie der Vorredner von mir schon sagte kein delay() drinnen hast, denn das sorgt dafür das der Arduino für diese Zeit nichts anderes machen kann. besser ist dafür mittels millis() eine gewisse Zeit abzuwarten (einfach mal nach "Arduino millis()" googeln.
also nein es sollen nicht direkt die LED´s mit PWM angesteuert werden sondern 7 Konstantstromquellen, diese können mit 1khZ arbeiten, insgesammt sind es ca. 100 LED´s.
Ich möchte gerne das Licht etwas abstimmen deshalb auch 7 x PWM auch muss ich an ein "Mondlicht" denken.
Danke schon mal für die ersten Tipps.
Noch habe ich keine Hardware in den Händen aber das erste Oreilly Buch zu hälfte durch nun geht es an die ersten Experimente.
Priorität hat bei mir erstmal die Zeitsteuerung sprich die einbindung einer RTC obwohl ich noch am überlegen bin nicht gleich zum DCF77 zu gehen.
Wie genau sind die DS1307 Chip´s hat da jemand erfahrung?
Sobald diese steht möchte ich Zeitgesteuert das PWM Signal erzeugen. Ziel: fertig in 3 Wochen
Die Lüfter lasse ich erstmal über nen Spannungsteiler laufen und per Handregeln bis ich die Tempsensoren ausgesucht habe, anschließend geht es den zur Lüftersteuerung per Temperatur und im gleichen Zuge auch gleich die Tempertursteuerung der Heizung. Ziel: fertig in 8 Wochen
Und sobald diesen den endlich mal steht, möchte ich noch ein paar Pumpen ansteuern (Dosieranlage) dafür die Relais.
Sollte dies wirklich irgendwann mal alles Funktionieren gibt es noch ein Display dazu. Aber dies wird wohl der letzte und größte Schritt.
klingt nach einem schönen Projekt.
Dein Nadelöhr sind die PWM-Ausgänge. Wenn du 7x für LED, 4 Temperatursensoren (1 Wire?)
und dann noch ein LCD Display anschliessen möchtest, dann reichen die 14 PWM Ausgänge nicht aus.
Deswegen schaue, dass du die LEDs und die Temp-Sensoren intelligent auswählst/ansteuerst.
Ansonsten sehe ich keinen Grund warum es nicht mit dem Arduino Mega nicht funktionieren sollte.
Nighti:
Dein Nadelöhr sind die PWM-Ausgänge. Wenn du 7x für LED, 4 Temperatursensoren (1 Wire?)
und dann noch ein LCD Display anschliessen möchtest, dann reichen die 14 PWM Ausgänge nicht aus.
14 PWM-Ausgänge? Wie kommst du darauf? Vermutlich meinst du die Digitalpins - wobei man ja auch die Analogpins A0 bis A5 als digitale Pins nutzen kann. Dann sollte es doch schon fast reichen. 7 PWM hat man allerdings nur beim Leonardo, mehr sinds beim (teureren) Arduino Mega 2560.
Pins sparen ist doch auch immer eine sportliche Aufgabe: Das LCD kann man über I2C oder über Schieberegister ansteuern, Sensoren über Multiplexer, spezielle Chips wie der TLC5940 sorgen für mehr PWM-Ausgänge usw. Das alles kann auch der kleine Uno meistern.
Mit deinem Arduino Mega 2560 passt das mit den Pins, deine Wahl ging bei mir etwas unter. In der Regel empfehlen wir hier für Einsteiger den Arduino Uno R3, da muss man sich oftmals etwas einfallen lassen, wie man Pins spart. Dann frohes Schaffen, wir helfen so gut wir können.
habe sowohl mit dem DS1307 als auch mit dem DS3234 experimentiert.
Den DS1307 habe ich in einer Daueranwendung(Uhr, Temperatur) und da wird die Zeitabweichung (mehrere Sekunden in 24 Stunden)
via Software korrigiert.
Der DS3234 (hier : This domain has been registered for a customer by nicsell ) hat nur eine geringe
Abweichung (bei mir 1 Sekunde im Monat).
Für beide Anwendungen gibt es eine gute Programmunterstützung.
Bei Deiner Anwendung unbedingt einen Wachhund verwenden.
nein, für das ganze System solltest Du ein "Watchdog" verwenden. Falls sich der Arduino aufhängt, steht
das ganze System. Isst Du gern gekochten Fisch ?
Okay
sowas in der Art hatte ich mir schon gedacht.
Also die Heizung selber im Aquarium hat ja auch noch eine Temperaturregelung aber die ist halt nicht so gut auch hat sie immer Probleme gemacht wenn das Licht an war und dieses das Wasser noch mehr aufgeheizt hat.
Was das Licht angeht da macht es ja nichts wenn es mal länger an ist....
Das was interessant sein könnte wäre die Lüftersteuerung für die LED damit diese nicht zu heiß werden