Minimalistischer Aquarien-Controller

MajorMadness

Active Member

Setech

Member
Hey Moritz,

ich habe zwar minimale Programmierkenntnisse, aber ich denke das sollte bei diesem Aufbau auch für jemanden, der noch nie damit Kontakte hatte, gut verständlich sein.
Spätestens wenn es irgendwann im How-To eine kleine Beispielzeile für die Einstellungen mit Erklärung der Parameter gibt, sollten keine Fragen offen bleiben.


Übrigens:
Schön, dass du wieder zurück und fit bist.
Du leistest hier wirklich super Arbeit, vielen Dank dafür!

Ich ärgere mich richtig darüber letzte Woche meine BlueTwiled bekommen zu haben... :lol:
 

doerk

Member
Hallo Moritz,
auch für mich ist es verständlich bzw ich werde in der Lage sein, meine Werte in die Programierung einbauen zu können. Ich habe keine Ahnung von programieren.

Gruß
Dirk
 
Ich denke, dass für uns in erster Linie die Zeilen 28-31 relevant sind.
Dort ist es schon selbsterklärend, was einzutragen ist.
Bei “1=NPK=10:00=5=60“ wüsste ich im Moment jedoch nicht, wofür 5 und 60 stehen.
Bei den 10 Schaltzeichen fürs Licht können wir werte für ein Kanal eingeben.
Wie funktioniert es, wenn ich andere Zeiten für die übrigen Kanäle eintragen möchte?

Grüße
Christian
 

MajorMadness

Active Member
Danke fürs Feedback!

Config hat ne beschreibung bekommen. :bier:
Code:
// Aufbau: 10 werte mit je Uhrzeit = % Helligkeit getrennt mit ,
String s_lightVal ="0:01=0,11:00=0,13:00=50,20:00=50,22:00=0,23:30=0,23:30=0,23:32=0,23:30=0,23:32=0";
// Aufbau Aktive (ja:1, nein:0) = Name = Uhrzeit = ml Menge = Kalibrierung pumpe (ml/Minute)
String s_dosingVal = "1=NPK=10:00=5=60";
// Aufbau: 6 Zeiten mit anschalten(1) oder ausschalten (0) getrennt mit , 
String s_relayVal ="0:00:00=0,11:00:00=1,13:00:00=0,20:00:00=1,22:00:00=0,23:30:00=1";
// Aufbau: 2 Uhrzeiten mit Anzahl Klicks getrennt mit , 
String s_feederVal ="0:00=2,11:00=1";

// Temperatur ab Wann Lüfter an gehen (Ganzzahl)
int coolingTemp = 30;
// ph Weert wo Relay schaltet (decimalzahl mit . "punkt")
double phValue = 7.00;

// Soll PH im Display angezeigt werden
boolean show_ph = false;
// Soll 2tes relay als Steckdose benutzt werden
boolean use_relay = false;

// Ab hier sind keine Standart einstellungen. Nur anpassen wenn ihr wisst was ihr macht
boolean overwrite=1;

// Neu zuordnung der Pins für Dosierung
int dosingPins[]={DOSE1,DOSE2,DOSE3};

// Pumpen Einstellungen mit zuordnung der Pins
PUMP dosing[] = {  
{0,0,"",dosingPins[0],false,0,0},
{0,0,"",dosingPins[0],false,0,0},
{0,0,"",dosingPins[1],false,0,0}, 
{0,0,"",dosingPins[1],false,0,0}, 
{0,0,"",dosingPins[2],false,0,0}, 
{0,0,"",dosingPins[2],false,0,0}
};

Das mit den LED Stimmt. Da der String nur daqs Standart Value ist und alle anderen Werte Dynamisch aus dem EEPROM kommen werde ich das drin lassen müssen.
Ich hab aber erstmal Kühlertemperatur, PH, Steckdose und Futterzeiten raus geschmissen da die wahrscheinlich seltenst verändert werden. Dadurch hab ich wieder 1kb an platz gewonnen. mal sehen ob das für die dimmung reicht und was ich noch übrig hab um das Relay evt wieder rein zu nehmen...
 

Dominik009

Member
Hi,
finde das Projekt super. Habe mir grade mal den Code angesehen und finde das sich dort alles sehr leicht einstellen lässt. Ich habe nur Grundkentnisse in Bascom, leider nicht in C.

Wie wird das mit dem füttern realisiert? Das verstehe ich nicht so ganz. Servo mit Futterbehälter? Vieleicht könntest du dazu noch kurz was schreiben.
Ich werde mir sobald das Projekt noch etwas weiter ist auch die Teile bestellen und mitbasteln. Vieleicht sollte ich auch mal anfangen C zulernen, mit Bascom ist das alles etwas umständlicher.

Viele Grüße
Dominik
 

MajorMadness

Active Member
Wie das mit dem Füttern geht habe ich selber noch keine ahnung von.... die idee ist das nen Solenoid für mich den JBL Click drückt und das bis zu 2 mal täglich in der richtigen menge. Doch wie das am Ende wird, muss ich selber noch schauen. Soweit bin ich noch nicht :p
 

lomilo

New Member
Thema Füttern:
Ich habe einmal einen EHEIM-Futterautomaten umgebaut. Der hat zwar 4 einstellbare Zeiten, ich wollte aber für die Fütterung von Regenbogenfisch-Larven 8x am Tage sehr kleine Mengen füttern. Seinerzeit habe ich einfach ein Relais angesteuert, welches den Kontakt schloss. Man könnte aber evtl. auch direkt den Motor ansteuern.

Müßte man sich mal ansehen.

Grüße

Rüdiger
 

MajorMadness

Active Member
Ich will keinen futterautomat haben weil der mit batterien betrieben werden muss oder ich den umbauen muss und er mir zuviel kostet. Daher nehm ich den JBL und Solenoid. Aber da es ja nur ein Pin ist der anders angeschlossen werden muss kann das natürlich jeder machen wie er will. es gibt da nen paar mods im Netz zu finden wie man den umbaut. Ich habe aber auch noch nen billig ding irgendwo rumliegen den ich evt für mein nächstes AQ umbaue da da neos drin sind... wenn ich das mache gibt's natürlich nen Mod von mir mit bildern und erklärung.
 

psoydo

New Member
Hi Moritz,

Hab da mal ne Frage wegen dem Stepper Motor Driver.
Die Dosierpumpen von ebay sind doch keine Schrittmotoren wie willst du diese ansteuern. Hast du vor mit einem Controler 2 DC-Motoren anzusteuern und lassen die sich unabhängig von einander Regeln. Danke schonmal für deine Antwort.

Mfg
Philipp
 

MajorMadness

Active Member
Hi, nicht nur 2 Sogar 4. ;)
Im gegensatz zu einigen anderen Stepper Motoren beruht der den Ich ausgewählt habe auf dem ULN2003. Das ist im Prinzip nix anderes als ein Chip mit 7 Darling Transitoren. Ein Darling Transistor ist (einfach ausgedrückt) ein NPN Transistor, also ein Teil welches eine größere Last "Schalten" kann. wenn am eingang 5V anliegen, kann Strom durch den Tranistor fließen. Wenn 0V an liegen fließt nix. Der Arduino Liefert genau das: 5V am Eingang wenn der Pin "high" ist. Somit schaltet der Tranisstor durch und die 12V Minus der Pumpe können fließen. Somit dreht die Dosierpumpe sich.
Leider sind auf der Platine nur 4 der 7 Ein/Ausgänge geschaltet (laut beschreibung). Sonst wäre es Perfekt und wir bräuchten nur ein Board... So brauchen wir halt 2 um alles zu basteln was wir wollen...

Ich hoffe es war halbwechs verständlich. :bier:
 
Sieht doch alles sehr gut aus.
Hast einen Haufen guter Arbeit geleistet. Auch wenn es sich doof anhört, und Du Dir nichts davon kaufen kannst >>> Danke! Es ist wirklich ehrlich gemeint. :smile:

Jetzt müssen nur noch die Teile aus China kommen
Lanhsam kann man sich Gedanken über ein schickes Gehäuse machen

MajorMadness":12wwbdu3 schrieb:
Das mit den LED Stimmt. Da der String nur daqs Standart Value ist und alle anderen Werte Dynamisch aus dem EEPROM kommen werde ich das drin lassen müssen.
Kannst Du mir/uns noch mal diesen Satz erklären?

MajorMadness":12wwbdu3 schrieb:
Ich will keinen futterautomat haben weil der......... mir zuviel kostet
Dafür ist das Futter in diesen Klickdingern teuer. Oder lassen die sich nachfüllen?

Viele Grüße
 

Marion

Member
Hi Christian,

du kannst den Klickaufsatz auf jede andere JBL-Dose schrauben - ersetzt quasi den normalen Deckel.
 

MajorMadness

Active Member
Christian.B":1hgjedpq schrieb:
MajorMadness":1hgjedpq schrieb:
Das mit den LED Stimmt. Da der String nur daqs Standart Value ist und alle anderen Werte Dynamisch aus dem EEPROM kommen werde ich das drin lassen müssen.
Kannst Du mir/uns noch mal diesen Satz erklären?
Öhm Sry... zuviel programmiertechnisch gedacht :p
Also das in der Config ist nur ein Kanal. Der wird beim ersten Start 8 mal geladen (aus dem Flash Speicher) und gespeichert Im EEPROM. Wenn man aber einen Lichtkanal im Serial Monitor ändert und Speichert dann wird der direkt im EEPROM abgelegt. Beim Start/Neustart wird überprüft welcher Speicher/welche Werte geladen werden sollen. Wenn im EEPROM welche gespeichert wurden werden diese genommen, sonst der hinterlegte Standard.

Ich habe das im moment so geplant (solange ich keine Software habe) das man im Arduino den Serial Monitor Öffnet (Strg+Umschalt+M) und dann eintippt:
Code:
2#0#0:01=0,11:00=0,13:00=50,20:00=50,22:00=0,23:30=0,23:30=0,23:32=0
und mit Enter bestätigt. Das ganze ist quasi:
2(für licht)#0(für den kanal also 0-7)#(10 uhrzeiten mit %). Wenn ich dann mal ne Software habe kann man das damit einstellen und es geht einfacher... Kommt dann alles im Tutorial nochmal richtig beschrieben.
 
Moritz,
Das ist verständlich erklärt, super. :bier:

Werden die Platinen sehr warm im Dauerbetrieb?
Kann man den ganzen Kramm in einem geschlossenem Gehäuse verbauen?
Wahrscheinlich werden die KSQ warm, oder?
Wirst Du alles, incl. Display, Dosierpumpen, KSQ etc. in ein Gehäuse einbauen?
Gibt es etwas neues von der Controller-Front?
Welche Teile fehlen Dir eigentlich noch um die Tests fortzuführen?

Grüße
Christian
 
Ähnliche Themen
Themenersteller Titel Forum Antworten Datum
M Hygiene im Umgang mit Aquarien Erste Hilfe 19
A Datenbank Aquarien Bewerten geht nicht Kein Thema - wenig Regeln 2
N Planung zum Aquarien-Regal Technik 2
K Aquarien und Möbel unterschiedlicher Hersteller und Maße miteinander kombinieren - wer hat´s gemacht? Technik 0
ernesto Ernestos Aquarien Aquarienvorstellungen 68
S Grüße von der Saar vom Aquarien Neuling Mitgliedervorstellungen 4
Marco B. Aquarien Datenbank Buggy? Lob und Kritik 2
T Wie Aquarien von bestimmten Usern finden? Kein Thema - wenig Regeln 1
L Erfahrungen mit WellerLED Nachrüsthalterungen für Juwel Aquarien Technik 3
S Die gängigsten Größen von Aquarien für Aquascapes? Technik 17
B Vom Osmosewasser zum Aquarien Wasser Nährstoffe 12
DerGrafZahl Wer baut die qualitativ "besten" Aquarien und Unterschränke fürs Scaping? Aquascaping - "Aquariengestaltung" 19
E Erfahrung mit GlasGarten Aquarien Technik 8
chillhans Erfahrung mit Pool Aquarien von Kurowski Aquascaping - "Aquariengestaltung" 30
moskal Zwei Aquarien starten gleich... Kein Thema - wenig Regeln 0
Plantamaniac Pflanzen und Tiere für kalte Aquarien 15-22 Grad Aquascaping - "Aquariengestaltung" 13
Aquanaut_Official Alu Regal für meine Aquarien Bastelanleitungen 6
E DESINFEKTION VON AQUARIEN Pflanzen Allgemein 3
Witwer Bolte Teil-Neuling übernimmt 2 Aquarien (460+56 L)mit Besatz Mitgliedervorstellungen 9
S 2 Aquarien über eine Sodastream-Anlage laufen lassen? Technik 1

Ähnliche Themen

Oben