Der Flowgrow Aquacomp

Snakey

Member
Hi,

schönes Projekt, sowas habe ich früher auch mal mit der CControl gebaut. Ich würde Dir empfehlen folgende 4 Teile möglichst früh einzubauen und zu berücksichtigen (bin auch Softwareentwickler).

- 4 Tasten (hoch und runter zur Menüaswahl und zur Einstellung von Werten, rechts für Bestätigen bzw. Menü wechseln, und links für Menü abbrechen bzw. zurück)
- Menüstruktur zum Einstellen diverser Werte
- Daten im ROM abspeichern
- Daten aus dem ROM laden, falls vorhanden

Und die Software, was einstellbare Werte angeht, möglichst in Strukturen halten, damit man sie möglichst generisch über das Menü editieren kann und nicht alles im Code fest verdrahtet ist.

Gruß,
Andi
 

MajorMadness

Active Member
Ich hab mir dadrüber schon gedanken gemacht, aber: Ich hab 20 Tasten bei mir dran, andere haben 5 vom keypad shield, andere 9 von nem Keybad...
Klar wir brauchen irgendwann die möglichkeit etwas ein zu stellen, doch ganz ehrlich... Wie oft am Tag veränderst du deine Heizung, Licht und/ oder CO2? Ich eigentlich nie. Aus dem Grund schreibe Ich im moment alles fest in den QT und dokumentiere den nur gut. EEPROM schreiben und lesen kommt sobalt wir die Hauptfunktionen (Düngung, Temp, Licht, CO2) drin haben und auch alles auf dem Display haben. Wenn das erst mal ist, ist nen Menü relative einfach. Z.Z. klemm Ich selber noc hschnell Lappie an die Abdeckung wenn Ich was ändern möchte und steuere nur die Helligkeit beim Reinigen ect mit der Hand.
 

MajorMadness

Active Member
So, da Ich grade nichts besseres zu tuen habe und eh grade nicht schlafen kann, gibts direkt noch nen Teil hinterher.
Diesmal nehmen wir uns die Steuerung von Hochvolt Geräten vor. Hierzu nochmal die Warnung:
230V sind kein Spielzeug! Das kann kribbeln und wenn es auf einmal dunkel ist, ist das sehr schlecht. Also finger weg wenn Ihr nicht wisst was Ihr macht!

Also, bisher haben wir ja mit kleinen Spannungen gearbeitet und nur im DC (Gleichstrom) bereich. Jetzt wollen wir uns 230V Wechselstrom (AC) vornehmen. Um die zu schalten brauchen wir nen bisschen mehr als nur nen Transistor. Das Stichwort hier ist Relay. Wir könnten uns sowas natürlich selber zusammen bauen, schaut man sich aber die Preise an, lohnt das kaum. Ausserdem ist mit 230V nicht zu scherzen, da gehen wir lieber auf sicher.
Stellen wir uns also die Frage was wir alles Schalten müssen an unserem Aquarium was 230V benötigt. Eigentlich alles was in einer Steckdose Steckt... Da wären bei mir:
Filter, Heizstab, LED Netzteil, Rückwandbeleuchtung, CO2 Magnetventil.
Filter muss immer an sein und Rückwandbeleuchtung wird noch umgebaut. Bleiben also 3 Teile und Ich entscheide mich für nen 4er Relay, z.B. http://www.exp-tech.de/Shields/5V-4-Cha ... hield.html
Schliessen wir das erstmal an. GRD löten wir auf unsere Platine an Ground (besser gesagt wir löten da nen Kabel dran und dann mit einem Buchsenstecker an das Shield), dann VCC daneben an 5V (da es ja ein 5V Relay ist, wer 12V hat nimmt natürlich diese) und INT1-INT4 kommt an den Arduino. Aber wo? Kurz in die Pin Map geschaut und wir sehen, dafür sind 22-25 Vorgesehen. Schon sollte alles funktionieren. Jetzt nur noch die andere Seite anschliessen.
Hier haben wir pro Relay 3 Buchsen. Die mittlere ist die die von der Steckdose kommt. Hier können wir also einen Stecker anschliessen und alle 4 mit einander Verbinden. Ich hab dafür eine 5er Wago Klemme benutzt. Die linke und Rechte Seite haben je entgegen gesetzte Funktionen. Eine Seite ist Stromlos offen, die andere Geschlossen. Heißt wenn wir das Relay High schalten leitet es den Strom zur einen Seite, bei Low zur anderen. Dass können wir nutzen um z.B. die Heizung ein zu schalten, beim Arduino-ausfall ist sie aber aus und den Filter auch bei Ausfall noch laufen zu haben, aber aus wenn wir Reinigen z.B..
Welche Seite welche ist KANN abweichen, bei mir ist aber von vorne gesehen die linke die, die beim Neustart oder abstecken aus ist. Also Stecke Ich hier eine Ader der Heizung ein und Verbinde die andere wieder mit ner Wago Klemme mit dem Stecker. Schutzleiter habe Ich leider keinen an der Heizung, also ignorieren wir den.
Das Gleiche mache Ich nun noch mit den Kabel vom Netzteil. Filter und Magnet Ventil schliesse Ich anderes mal an. Alternativ dazu kann man natürlich auch Steckdosen ans Relay anschliessen und dort die Geräte einstecken. In meiner Abdeckung war hierfür leider kein Platz...

So, wir können nun etwas schalten, aber wie sieht das jetzt im Code aus?
eigentlich ganz einfach:
Code:
//Bei Variablen
int DaylightPowerPin = 22;    // Relay 1
int Water_TempPin=23;    // Relay 2

// In Setup()

  pinMode(DaylightPowerPin, OUTPUT);
  digitalWrite(DaylightPowerPin, HIGH);
  pinMode(Water_TempPin, OUTPUT);
  digitalWrite(Water_TempPin, HIGH);
Sehr schön. HIGH gesetzt und aus ist es? Irgendwie komisch aber bei LOW schaltet er ein. Andersrum wäre es logischer, aber wenn Ich die andere Seite der Buchse nehme hab Ich storm an der Heizung wenn Ich den Arduino abklemme.

Nun, was machen wwir jetzt damit? Heizung immer wieder per Hand an und aus zuschalten nerved irgendwie. Also braauchen wir nen Temperatur Fühler. Hier fiel meine Wahl auf den Dallas DS18B20. Vorteil: jeder von diesen hat eine eigene ID, was bedeutet Ich kann viele davon an einen Pin anschliessen und getrennt ansprechen. :) Es gibt Ihn sogar Wasserdicht aus Metal oder Plastik. Ich hab beide (Oberfläshentemperatur und 30cm Tiefe :irre: ) und merke keinen unterschied. Nunja, wollen wir den mal anschliessen: Schwarz an Ground, Rot (oder weiss) an 5V und Gelb (oder blau) an Pin 26. Dann noch einen 4,7K Widerstand von Gelb zu 5V und fertig ist es.
Als erstes sollten wir uns die lib nun runterladen und das DS18B20 Beispiel aufrufen (denkt dran den Pin zu ändern). Er zeigt euch nun im serial Monitor eure Sensor ID an. Schreibt euch die auf. (Meine sind 0x7059, 0x9C6E und 0xF5)
Nun bringen wir das ganze in unser Programm. Also erstmal wieder variablen definieren:
Code:
DS18B20_List ds18b20(26); // pin 10 <- Konstruktor aufrufen
#define TempOnBoard 0x7059
#define TempMetal 0x9C6E
#define TempPlastik 0xF5
float Water_Temp = 25.5;    // Unsere Wassertemperatur/Mittelwert
Das warrs auch schon. Der Rest passiert wieder in der loop():
Code:
	ds18b20.update(); // Temperatur update
und dann irgendwo in unserer 1Sek schleiffe:
Code:
            // Temperaturen auslesen
		float T_inside=ds18b20.get_temp_by_id(TempOnBoard);
		float T_air=ds18b20.get_temp_by_id(TempMetal); 
		float T_water=ds18b20.get_temp_by_id(TempPlastik);

                // Heizung Steuern
                if(Water_Temp-0.5>T_water && Water_TempState==HIGH){
                  Water_TempState=LOW;
                  digitalWrite(Water_TempPin,Water_TempState);
                }else if(Water_Temp+0.5<T_water && Water_TempState==LOW){
                  Water_TempState=HIGH;
                  digitalWrite(Water_TempPin,Water_TempState);
                }
Was macht das ganze? Es liest die Temperaturen ein (vom Sensor mit der id XXX), Schaut nach ob der Wert ein halbes grad ober oder unterhalb unseres Mittelwertes ist und falls ja schaltet er das Relay an oder aus. Und wenn wir das ganze nun ausführen wollen: Großer Mist, nix klappt. Logisch wir müssen die lib ja einbinden. Also ganz oben noch schnell
#include <DS18B20.h>
reingeschrieben...
Wer es noch genauer haben möchte kann auch mal if(Water_Temp-0.2>T_water .... }else if(Water_Temp+0.2 schreiben. Oder Nachts und Tags andere Temperaturen?
Code:
                // Heizung Steuern
if(RTC.daystamp>get_ts(10,0,0) && RTC.daystamp<get_ts(20,0,0)){
    if(Water_Temp-0.5>T_water && Water_TempState==HIGH){
        Water_TempState=LOW;
        digitalWrite(Water_TempPin,Water_TempState);
    }else if(Water_Temp+0.5<T_water && Water_TempState==LOW){
        Water_TempState=HIGH;
        digitalWrite(Water_TempPin,Water_TempState);
    }
}else{
    if(Water_Temp-3.0-0.5>T_water && Water_TempState==HIGH){
        Water_TempState=LOW;
        digitalWrite(Water_TempPin,Water_TempState);
    }else if(Water_Temp-3.0+0.5<T_water && Water_TempState==LOW){
        Water_TempState=HIGH;
        digitalWrite(Water_TempPin,Water_TempState);
}
Jetzt haben es die Fische über Tag 25,5 und nachts 22,5° warm...

So und nun kleine denksport Aufgabe:
Wie mach Ich es jetzt Hell und Dunkel? :? Es geht erst weiter wenn Ich ne Lösung sehe :glaskugel:

Bis denne dann Moritz

Achja: Hier noch unser Code bisher:
 

Anhänge

  • MAQ.zip
    3,1 KB · Aufrufe: 243

MajorMadness

Active Member
So, da Ich grade nichts besseres zu tuen habe und eh grade nicht schlafen kann, gibts direkt noch nen Teil hinterher.
Diesmal nehmen wir uns die Steuerung von Hochvolt Geräten vor. Hierzu nochmal die Warnung:
230V sind kein Spielzeug! Das kann kribbeln und wenn es auf einmal dunkel ist, ist das sehr schlecht. Also finger weg wenn Ihr nicht wisst was Ihr macht!

Also, bisher haben wir ja mit kleinen Spannungen gearbeitet und nur im DC (Gleichstrom) bereich. Jetzt wollen wir uns 230V Wechselstrom (AC) vornehmen. Um die zu schalten brauchen wir nen bisschen mehr als nur nen Transistor. Das Stichwort hier ist Relay. Wir könnten uns sowas natürlich selber zusammen bauen, schaut man sich aber die Preise an, lohnt das kaum. Ausserdem ist mit 230V nicht zu scherzen, da gehen wir lieber auf sicher.
Stellen wir uns also die Frage was wir alles Schalten müssen an unserem Aquarium was 230V benötigt. Eigentlich alles was in einer Steckdose Steckt... Da wären bei mir:
Filter, Heizstab, LED Netzteil, Rückwandbeleuchtung, CO2 Magnetventil.
Filter muss immer an sein und Rückwandbeleuchtung wird noch umgebaut. Bleiben also 3 Teile und Ich entscheide mich für nen 4er Relay, z.B. http://www.exp-tech.de/Shields/5V-4-Cha ... hield.html
Schliessen wir das erstmal an. GRD löten wir auf unsere Platine an Ground (besser gesagt wir löten da nen Kabel dran und dann mit einem Buchsenstecker an das Shield), dann VCC daneben an 5V (da es ja ein 5V Relay ist, wer 12V hat nimmt natürlich diese) und INT1-INT4 kommt an den Arduino. Aber wo? Kurz in die Pin Map geschaut und wir sehen, dafür sind 22-25 Vorgesehen. Schon sollte alles funktionieren. Jetzt nur noch die andere Seite anschliessen.
Hier haben wir pro Relay 3 Buchsen. Die mittlere ist die die von der Steckdose kommt. Hier können wir also einen Stecker anschliessen und alle 4 mit einander Verbinden. Ich hab dafür eine 5er Wago Klemme benutzt. Die linke und Rechte Seite haben je entgegen gesetzte Funktionen. Eine Seite ist Stromlos offen, die andere Geschlossen. Heißt wenn wir das Relay High schalten leitet es den Strom zur einen Seite, bei Low zur anderen. Dass können wir nutzen um z.B. die Heizung ein zu schalten, beim Arduino-ausfall ist sie aber aus und den Filter auch bei Ausfall noch laufen zu haben, aber aus wenn wir Reinigen z.B..
Welche Seite welche ist KANN abweichen, bei mir ist aber von vorne gesehen die linke die, die beim Neustart oder abstecken aus ist. Also Stecke Ich hier eine Ader der Heizung ein und Verbinde die andere wieder mit ner Wago Klemme mit dem Stecker. Schutzleiter habe Ich leider keinen an der Heizung, also ignorieren wir den.
Das Gleiche mache Ich nun noch mit den Kabel vom Netzteil. Filter und Magnet Ventil schliesse Ich anderes mal an. Alternativ dazu kann man natürlich auch Steckdosen ans Relay anschliessen und dort die Geräte einstecken. In meiner Abdeckung war hierfür leider kein Platz...

So, wir können nun etwas schalten, aber wie sieht das jetzt im Code aus?
eigentlich ganz einfach:
Code:
//Bei Variablen
int DaylightPowerPin = 22;    // Relay 1
int Water_TempPin=23;    // Relay 2

// In Setup()

  pinMode(DaylightPowerPin, OUTPUT);
  digitalWrite(DaylightPowerPin, HIGH);
  pinMode(Water_TempPin, OUTPUT);
  digitalWrite(Water_TempPin, HIGH);
Sehr schön. HIGH gesetzt und aus ist es? Irgendwie komisch aber bei LOW schaltet er ein. Andersrum wäre es logischer, aber wenn Ich die andere Seite der Buchse nehme hab Ich storm an der Heizung wenn Ich den Arduino abklemme.

Nun, was machen wwir jetzt damit? Heizung immer wieder per Hand an und aus zuschalten nerved irgendwie. Also braauchen wir nen Temperatur Fühler. Hier fiel meine Wahl auf den Dallas DS18B20. Vorteil: jeder von diesen hat eine eigene ID, was bedeutet Ich kann viele davon an einen Pin anschliessen und getrennt ansprechen. :) Es gibt Ihn sogar Wasserdicht aus Metal oder Plastik. Ich hab beide (Oberfläshentemperatur und 30cm Tiefe :irre: ) und merke keinen unterschied. Nunja, wollen wir den mal anschliessen: Schwarz an Ground, Rot (oder weiss) an 5V und Gelb (oder blau) an Pin 26. Dann noch einen 4,7K Widerstand von Gelb zu 5V und fertig ist es.
Als erstes sollten wir uns die lib nun runterladen und das DS18B20 Beispiel aufrufen (denkt dran den Pin zu ändern). Er zeigt euch nun im serial Monitor eure Sensor ID an. Schreibt euch die auf. (Meine sind 0x7059, 0x9C6E und 0xF5)
Nun bringen wir das ganze in unser Programm. Also erstmal wieder variablen definieren:
Code:
DS18B20_List ds18b20(26); // pin 10 <- Konstruktor aufrufen
#define TempOnBoard 0x7059
#define TempMetal 0x9C6E
#define TempPlastik 0xF5
float Water_Temp = 25.5;    // Unsere Wassertemperatur/Mittelwert
Das warrs auch schon. Der Rest passiert wieder in der loop():
Code:
	ds18b20.update(); // Temperatur update
und dann irgendwo in unserer 1Sek schleiffe:
Code:
            // Temperaturen auslesen
		float T_inside=ds18b20.get_temp_by_id(TempOnBoard);
		float T_air=ds18b20.get_temp_by_id(TempMetal); 
		float T_water=ds18b20.get_temp_by_id(TempPlastik);

                // Heizung Steuern
                if(Water_Temp-0.5>T_water && Water_TempState==HIGH){
                  Water_TempState=LOW;
                  digitalWrite(Water_TempPin,Water_TempState);
                }else if(Water_Temp+0.5<T_water && Water_TempState==LOW){
                  Water_TempState=HIGH;
                  digitalWrite(Water_TempPin,Water_TempState);
                }
Was macht das ganze? Es liest die Temperaturen ein (vom Sensor mit der id XXX), Schaut nach ob der Wert ein halbes grad ober oder unterhalb unseres Mittelwertes ist und falls ja schaltet er das Relay an oder aus. Und wenn wir das ganze nun ausführen wollen: Großer Mist, nix klappt. Logisch wir müssen die lib ja einbinden. Also ganz oben noch schnell
#include <DS18B20.h>
reingeschrieben...
Wer es noch genauer haben möchte kann auch mal if(Water_Temp-0.2>T_water .... }else if(Water_Temp+0.2 schreiben. Oder Nachts und Tags andere Temperaturen?
Code:
                // Heizung Steuern
if(RTC.daystamp>get_ts(10,0,0) && RTC.daystamp<get_ts(20,0,0)){
    if(Water_Temp-0.5>T_water && Water_TempState==HIGH){
        Water_TempState=LOW;
        digitalWrite(Water_TempPin,Water_TempState);
    }else if(Water_Temp+0.5<T_water && Water_TempState==LOW){
        Water_TempState=HIGH;
        digitalWrite(Water_TempPin,Water_TempState);
    }
}else{
    if(Water_Temp-3.0-0.5>T_water && Water_TempState==HIGH){
        Water_TempState=LOW;
        digitalWrite(Water_TempPin,Water_TempState);
    }else if(Water_Temp-3.0+0.5<T_water && Water_TempState==LOW){
        Water_TempState=HIGH;
        digitalWrite(Water_TempPin,Water_TempState);
}
Jetzt haben es die Fische über Tag 25,5 und nachts 22,5° warm...

So und nun kleine denksport Aufgabe:
Wie mach Ich es jetzt Hell und Dunkel? :? Es geht erst weiter wenn Ich ne Lösung sehe :glaskugel:

Bis denne dann Moritz

Achja: Hier noch unser Code bisher:
 

*AquaOlli*

Member
Hallo Moritz,

wenn ich die ZIP öffne, befindet sich dort ein Ordner "DS18B20" und dort drinn wiederum ein Ordner und Lib für den DS18S20 ?!
 

MajorMadness

Active Member
Das kommt drauf an wie du die zip entpackst. Ich zippe meinen ordner, lso musst du den ordner nicht in einen ordner entpacken. Falls doch kopier nur den 2ten ordner in dein lib verzeichniss.
 

*AquaOlli*

Member
Hallo Moritz,

ich frag mal andersrum...
in deinem Sketch habe ich gesehen das du die "DS18B20.h" includierst, aber in dem von dir geposteten Link gibt es nur die "OneWire.h". Hast du dir vielleicht ne eigene Lib gebastelt ?
 

MajorMadness

Active Member
Nope, die kommt von dfrobot. Ich hatte oben mal nen link epostet, werde aber gleich mal zur icherheit alle benötigten libs. Und files o zippen as du ie ur in en arduino ordner entpacken musst.
 

Anhänge

  • MAQ.zip
    3,1 KB · Aufrufe: 228
  • libraries.zip
    27 KB · Aufrufe: 226

Harrdy

Member
@ Moritz

Wollte dich mal fragen welchen Arduino du genau verwendest. Habe in deinem Posts gelesen das du ein protoshield als Erweiterung verwendest. Weißt du ob es dieses auch für ein Arduino uno gibt?
 

Snakey

Member
Hallo,
wieso regelst Du eigentlich die Heizung mit einem Fühler ? Ist das Thermostat in einem Heizstab nicht vertrauenswürdig ?
(Habe selber meine Heizung wegoptimiert, habe 21 Grad im Becken = Zimmertemperatur + Lampenabwärme).

Gruß,
Andi
 

MajorMadness

Active Member
Hoi, also Ich verwende nen Arduino Mega 2560 (Baugleich) es gibt viele Klone davon die aber alle Pin Kompatibel sind. Mein jetziger kommt von Sainsmart (ebay) und fürs testen im Moment hab Ich mir einen aus China bestellt (mit Keypad und shipping 13€). In Deutschland z.b. kann man auch
http://www.komputer.de/zen/index.php?ma ... cts_id=185
http://www.exp-tech.de/Mainboards/Ardui ... 60-R3.html oder
http://www.watterott.com/de/Arduino-Mega-2560 nehmen.

Das Shield was Ich verwende im moment ist das Flower 2.2 ProtoBoard-MEGA shield, gefällt mir aber nicht da Pin-Reihe 22-54 nicht gut verbunden ist. Daher hab Ich mir jetzt dasDF Robot bestellt gehabt, was einiges besser ist.
Für den Uno wäre
http://www.komputer.de/zen/index.php?ma ... cts_id=103 oder
http://www.watterott.com/de/WingShield-Screw-Shield bzw
http://www.exp-tech.de/Shields/ITead-St ... hield.html
ne Überlegung wert. Paar wichtige, kleine Teile kann man direkt verlöten, rest über Schraubklemmen anschliessen halte Ich für komfortabel und sicher.

Zur Heizung: Ich hatte Sie zig Jahre nur mit internem Regler im Becken, doch über nen Fühler ist es genauer. Ich kann die ja +-0,2° Schalten, das kann keine Heizung und einstellen ist auch einfacher. Nachtabsenkung eh mal gar nicht möglich über nen Stab... Später (wenn wir das das Keypad anschliessen) wird es sogar noch nen Wartungs/Reinigungs Modus geben der uns Heizung, Filter für WW ausschaltet.
Als nächstes nehmen wir uns aber nen Display vor, wenn Ich erfahren habe wie Ich mein Licht an und aus schalte :lol:

Bis denne dann
 

Snakey

Member
Hallo,

stimmt natürlich, Nachtabsenkung ist damit nicht machbar. Und man kann Alarm geben, wenns dann zu warm oder zu kalt wird, wenn ein Defekt vorliegt.

Ist das schön, wenn Software aus blanker Hardware viel mehr rauskitzeln kann :bier:

Gruß,
Andi
 

*AquaOlli*

Member
Hi Moritz,

das DF-ROBOT sieht nicht schlecht aus, ich glaub das hole ich mir auch mal. Gestern noch nen paar Sachen Sachen nachbestellt, insbesondere das DS18B20 mit Kabel, hatte nämlich nur welche ohne Kabel hier liegen. Weißt du schon welches LCD du verwenden willst ? Ich hab hier noch ein 16x2 mit Keypad liegen, von SaintSmart.
 

MajorMadness

Active Member
Ich verwende im mom 1 hd44780 20x4 (kostete 4€ mit versand), hab aber noch 2 16x2 hier, tippe mal gleiches wie du hast. Anschluss ist ja auch gleich (wie alle hd44780). Ich hab aber auch noch nen 240x64 Pixel GLCD mit T6963C Controller hier, welches Ich einbauen werde. Wer noch displays sucht sollte auf jeden fall drauf achten das er bei 16/20x2/4 Displays den HD44780 Controller hat und bei GLCD's den KS0108B oder T6963C. Mit allem anderen gibt es mehr als nen Krampf beim anschliessen und ans laufen bringen.
TFT und Touch werde Ich nicht machen, es sei denn es schenkt mir wer eins zum testen :flirt:
 

Gerdi

Member
Ich muss sagen das ich das so wie Du es hier aufziehst echt klasse finde.

Ich habe mich zwar vor 2 Jahren für eine Logo für die Steuerung entschieden, aber ich verfolge das hier weiterhin. :thumbs:
 
Ähnliche Themen
Themenersteller Titel Forum Antworten Datum
Tobias Coring Flowgrow - das gelebte Miteinander in der Community Ankündigungen 0
Ewald Flowgrow Forum Uhr - der Zeit voraus? Kein Thema - wenig Regeln 2
HaManFu HaManFu grüßt den Rest der Welt@Flowgrow Mitgliedervorstellungen 15
Tobias Coring Der Flowgrow Dünger ist da ;) Nährstoffe 127
D Neu in der Aquaristik (Benjamin aus Raum Köln/Bonn) Mitgliedervorstellungen 4
D Was kann der Sera CO2-Dauertest (nicht)? Technik 2
Maj.Monogwam Hilfe bei der Geschlechtsbestimmung, Königssalmler. Fische 2
Heiko Muth (Sumpfheini) Leptochilus pteropus, der Javafarn... Pflanzen Allgemein 0
T Weiß jemand, wer der Hersteller des Harzes ist, das sich "Purigen" nennt? Technik 11
Benjamin87 Der Zustand meiner Aquarium Pflanzen Pflanzen Allgemein 4
Benjamin87 Klares Wasser nach der Einlaufphase Technik 2
Benjamin87 Unerfahren in der Düngung Nährstoffe 1
Benjamin87 Trübung in der Einfahrphase Erste Hilfe 8
T In Zeiten der sog. Klimakrise ... Was ist Eure Sicht auf das "Teufelszeug" CO2? Kein Thema - wenig Regeln 10
S Optimierung der Düngung Nährstoffe 40
E Kalium Mangel (meine Pflanzen sagen ja der Test sagt nein) Nährstoffe 42
T Hilfe bei der Namenssuche Artenbestimmung 1
S Düngen in der Einfahrphase Nährstoffe 315
J Tropica Dünger in der Einfahrphase Nährstoffe 19
B4m8i Aquarium in der Arbeit - Proxima 250 ohne allem Aquarienvorstellungen 12

Ähnliche Themen

Oben