INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Substrat-Feuchtigkeitsmesser + Temp. und RLF
15.06.2015, 17:51 (Dieser Beitrag wurde zuletzt bearbeitet: 15.06.2015 17:52 von Nifu.)
Beitrag #1
Substrat-Feuchtigkeitsmesser + Temp. und RLF
Hallo Leute!
Ich habe meinen Arduino Uno nun schon etwas länger hier liegen und habe nun ein paar Spielerein zugeschickt bekommen. Ich habe hier ein paar Pflanzen stehen, die als Versuchskanickel herhalten sollen. Mein Plan ist, mit dem Arduino UNO eine kleine Mess Station aufzubauen. Zur Verfügung steht mir :
- DHT22
- 10x Substrat Feuchtigkeitsmesser (Link)
- Arduino UNO
- Breadboard mit Krimskrams (Widerstände, Buzzer etc.)
- Ein 3.2 Inch SSD1289 TFT LCD Display Module Touch Panel Link

So, mein Problem ist erstmal, dass ich das Display scheinbar garnicht so ohne weiteres verwenden kann. Denn es passt nicht drauf - brauche vermutlich irgendein Shield (?). Also war jetzt der Plan, dass die Daten auf den Rechner übertragen werden sollen, ist natürlich nur Übergangsweise, da die Messstation nicht immer mit dem Rechner verbunden sein wird.
Das zweite Problem ist die Programmierung. Ich habe bisher wenig Ahnung von der Materie, möchte aber dennoch probieren, es zum laufen zu bringen.
Ich habe mir schon mehrmals die Tutorials durchgelesen, komme aber nicht weiter. Ist gut möglich, dass ich was vergessen habe.... Rolleyes
Ich nahm mir für den DHT22 diesen Code zur Hand: Link und wenn ich den copy&past'e funktioniert es wunderbar. Wenn ich es jetzt aber Handschriftlich mache - Denn ich will es ja lernen - funktioniert es überhaupt nicht und ich bekomme zich Fehler. So sieht der Code richtig aus:
#include "DHT.h"

#define DHTPIN 9
#define DHTTYPE DHT22 //DHT11, DHT21, DHT22

DHT dht(DHTPIN, DHTTYPE);

void setup()
{
Serial.begin(9600);
Serial.println("DHT22 - Test!");

dht.begin();
}

void loop()
{
float h = dht.readHumidity(); //Luftfeuchte auslesen
float t = dht.readTemperature(); //Temperatur auslesen

// Prüfen ob eine gültige Zahl zurückgegeben wird. Wenn NaN (not a number) zurückgegeben wird, dann Fehler ausgeben.
if (isnan(t) || isnan(h))
{
Serial.println("DHT22 konnte nicht ausgelesen werden");
}
else
{
Serial.print("Luftfeuchte: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperatur: ");
Serial.print(t);
Serial.println(" C");
}
}

und so meiner:
#include "DHT.h"

#define DHTPIN 9
#define DHTTYPE DHT22 //DHT11, DHT21, DHT22

DHT dht(DHTPIN, DHTTYPE);

void setup()
{
Serial.begin(9600);
Serial.printIn("DHT22 - Test!");
dht.begin();
}
void loop()
{
float h = dht.readHumiditiy();
float t = dht.readTemperature();
if (isnan(t) || isnan(h))
{
Serial.printIn("DHT22 konnte nicht ausgelesen werden!");
} else
{
Serial.print("Luftfeuchte: ");
Serial.print(h);
Serial.print(" %/t")
Serial.print(t);
Serial.printIn(" C");
}
}

Als Fehler bekomme ich folgende:

sketch_jun15a.ino: In function 'void setup()':
sketch_jun15a.ino:11:10: error: 'class HardwareSerial' has no member named 'printIn'
sketch_jun15a.ino: In function 'void loop()':
sketch_jun15a.ino:16:19: error: 'class DHT' has no member named 'readHumiditiy'
sketch_jun15a.ino:20:14: error: 'class HardwareSerial' has no member named 'printIn'
sketch_jun15a.ino:26:9: error: expected ';' before 'Serial'
sketch_jun15a.ino:27:16: error: 'class HardwareSerial' has no member named 'printIn'
Multiple libraries were found for "DHT.h"
Used: C:\Users\Documents\Arduino\libraries\DHT
Not used: C:\Program Files (x86)\Arduino\libraries\DHT22
Fehler beim Kompilieren.

Könnt ihr mir sagen, auf was ich genauer achten muss ?
Dann kurz zu den Befehlen..
#define DHTTYPE DHT22 //DHT11, DHT21, DHT22 und DHT dht(DHTPIN, DHTTYPE); Was bewirken die genau ? Der Rest der Befehle ist mir sonst eigentlich klar, bis auf das void setup. Es wird eine Verbindung mit 9600 baud aufgebaut und es wird der Test Text ausgegeben. Danach soll der DHT mit den Messungen anfangen - Oder ?

Der nächste Schritt sollen dann die Feuchtigkeitsmesser sein. Brauche ich dafür einen Widerstand bzw. ab wann genau brauch ich generell welche Big Grin ?
Bekomme ich 10 Messer an einen Arduino ? oder wird mir das zu eng ?
Ich hoffe, ich nerve euch nicht zu sehr mit meinen Fragen.... Wink

Vielen Dank!
Liebe Grüße,
Jannis
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.06.2015, 19:58
Beitrag #2
RE: Substrat-Feuchtigkeitsmesser + Temp. und RLF
Hi!

Schade, also wieder etwas sparen..Wink
Aber hat mir schonmal geholfen, danke!

Wenn ich doch aber den Code tatsächlich nur kopiere und einfüge, dann macht er es ohne murren. Habe es auch auf dem Monitor überprüft - Der spuckt tatsächlich Daten aus.
Es müsste dann doch eher ein Fehler an der Schreibweise liegen, oder ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.06.2015, 04:48
Beitrag #3
RE: Substrat-Feuchtigkeitsmesser + Temp. und RLF
Hallo,

deine beiden Sketche haben tatsächlich Abweichungen. Nutze mal Notepad++ mit Compare-Plugin, da siehst du die Unterschiede besser.

z.B. Serial.println und Serial.printIn ..... dann noch ein fehlendes Semilokon in einer Zeile.

Gruß Rainer
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.06.2015, 05:45
Beitrag #4
RE: Substrat-Feuchtigkeitsmesser + Temp. und RLF
Guten Morgen!
Wird sich direkt angeschaut, vielen Dank ! Smile

Wie ist eure Erfahrung was das lernen von Programmiersprachen angeht ?
Ich hätte es jetzt so probiert, dass ich mir Projekte erstmal anschaue, die Sketche so übernehme aber selbst abtippe und mir jede Zeile anschaue und versuche zu verstehen, was da gemacht wird. Ich hoffe darauf, dass ich dadurch ein Gefühl aufbauen kann, wie Sketche aufgebaut sein müssen um zu funktionieren.
Wie macht ihr das ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.06.2015, 10:20
Beitrag #5
RE: Substrat-Feuchtigkeitsmesser + Temp. und RLF
(16.06.2015 05:45)Nifu schrieb:  Wie ist eure Erfahrung was das lernen von Programmiersprachen angeht ?
Ab der 20sten oder so schaut man sich's mal kurz an und weiss, wie der Hase laeuft. Vielleicht ausser bei solchen Kraempfen wie Perl...

Zitat:Ich hätte es jetzt so probiert, dass ich mir Projekte erstmal anschaue, die Sketche so übernehme aber selbst abtippe und mir jede Zeile anschaue und versuche zu verstehen, was da gemacht wird. Ich hoffe darauf, dass ich dadurch ein Gefühl aufbauen kann, wie Sketche aufgebaut sein müssen um zu funktionieren.
Das ist erstmal kein schlechter Ansatz. Allerdings ist der am meisten gemachte Fehler, dass man mit zu komplizierten Sachen anfaengt. Damit wird man nur frustriert und die ganze Sache dauert im Endeffekt viel laenger.
Beim Arduino wuerde ich jedem raten, sich erstmal ein Starter-Set zu kaufen und dann die zugehoerigen Beispiele durchzuarbeiten, angefangen beim Blink-Programm.
Alternativ kann man auch die Beispiele aus der IDE nehmen, ganz oben angefangen.
Gruss,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.06.2015, 19:59
Beitrag #6
RE: Substrat-Feuchtigkeitsmesser + Temp. und RLF
Ja, ich kenne das... Sowas ähnliches wie ein Starterset habe ich ja, da sind einige Sachen dabei. Habe nur keine Ahnung, was ich damit anfange....
Ich hatte schon eine LED zum leuchten und blicken gebracht - In verschiedenen Intervallen. Hab noch die Möglichkeit, Knöppe und Kondensatoren einzubauen - Aber mir fehlt da ein Anstoß zu.

Ich habe die Fehler gefunden Smile Notepad++ und das PlugIn sind installiert - Allerdings verstehe ich noch nicht ganz die Aufmachung des Programms. Wird aber noch irgendwie kommen.

Mir ist aufgefallen, dass der Humidity Wert nicht stimmt. Zumindest glaube ich das.. Ich habe ein Delay von 4sek in den Algorythmus eingebaut, einfach mal um zu schauen, ob sich die Werte dann ändern. Temperature stimmt ungefähr überein. Habe eben ein "Analoges" Thermometer in den Raum gestellt und abgewartet. Temp stimmt ungefähr überein.
Bei der Luftfeuchtigkeit wird mir ein Wert von ~34% angezeigt. Ich habe zwar kein Hygrometer hier, aber ist das nicht deutlich zu wenig ? Laut Wetterdienst, sollten es draußen um die 50% haben..
Ist das Teil einfach defekt ? Kann man das kalibrieren o.ä. ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.07.2015, 19:39
Beitrag #7
RE: Substrat-Feuchtigkeitsmesser + Temp. und RLF
Guten Abend,

ich habe meinen Plan mal entsprechend erweitert:
Nun ist der - vorerst - Plan so, dass mein Arduino also Wasserwichtel agieren soll.
Ich habe mir dazu eine 12V Pumpe für's Aquarium zugelegt, natürlich einen Schlauch und die Feuchtigkeitsmesser für Substrate hatte ich ja schon.

Nun ist es so, dass ich ich in Urlaub fahre - Der Umschwung hat also Sinn! ;-)
Zwar nur für 2 Wochen, allerdings brauchen die Pflanzen auch dann eben Wasser.
Damit kein Missgeschick passiert, möchte ich, dass der Arduino sich von einem der zwei Sensoren die Werte schnappt und mit dem anderen vergleicht.
Fällt der verglichene Wert und der eigene unter einen bestimmten Wert, so geht die Pumpe an. Diese lässt eine halbwegs definierte Menge an Wasser laufen und macht nach einer definierten Zeit wieder dicht.
Wie ihr euch vielleicht denken könnt, wird das bisher noch mit delay fabriziert. Also die Wasserdauer und die Zeit zwischen den Wässerungen. Demnach müsste ich das über mehrere Tage optimieren, damit es nacher keinen Sumpf o.ä. bei mir gibt.

Erstmal zum Code.. Ich habe den durch den Compiler gejagt, dieser hat mir zum Glück nach ein paar Änderungen nichts mehr angezeigt. Geprüft wurde die Schaltung auf dem Breadboard: Eingesetzt wurden unteranderem die Pumpe, eine Diode, ein Transistor und natürlich der Arduino. Hat die paar Sekunden die geprüft wurde auch gut geklappt.

Zitat:int soil_humidity_1;
int soil_humidity_2;
int motorPin = A0;
int blinkPin = 13;
int watertime = 5000;
int waittime = 20000;

void setup()
{
Serial.begin(9600);
pinMode(motorPin, OUTPUT);
pinMode(blinkPin, OUTPUT);
}

void loop()
{
// Für zwei Feuchtigkeitsmesser

int sensorValue = analogRead(A1);
sensorValue = constrain(sensorValue, 485 , 1023);
soil_humidity_1 = map(sensorValue, 485, 1023, 100, 0);
Serial.print(soil_humidity_1);
Serial.println("%");
delay (1000);


int sensorValue_2 = analogRead(A2);
sensorValue_2 = constrain(sensorValue_2, 485 , 1023);
soil_humidity_2 = map(sensorValue_2, 485, 1023, 100, 0);
Serial.print(soil_humidity_2);
Serial.println("%");
delay (1000);

// hier soll die if-Abfrage hin
if(soil_humidity_1 < 50 && soil_humidity_2 < 50)
{
digitalWrite(motorPin, HIGH);
digitalWrite(blinkPin, HIGH);
delay(watertime);
digitalWrite(motorPin, LOW);
digitalWrite(blinkPin, LOW);
delay(waittime);
}
}
So sieht der dazugehörige Sketch aus. Kann man das so übernehmen ?

Nun suche ich nach einer Möglichkeit, das Delay da raus zu bekommen.
Hatte oft gelesen, dass ein "delay" zwar nützlich ist, aber eher nicht gebraucht werden sollte - Warum eigentlich?
Ich hatte hier an die Verwendung einer RTC gedacht, allerdings kenne ich nur den Namen und das Aussehen. Dementsprechend noch keine Erfahrung damit ;-)
Ganz super wäre natürlich nur eine definierte Menge fließen zu lassen..
Aber ich denke, ab hier wird es eher frimelich Big Grin?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.07.2015, 20:23
Beitrag #8
RE: Substrat-Feuchtigkeitsmesser + Temp. und RLF
Hi,
in dem Fall sehe ich kein Problem mit dem delay. Du willst den Vorgang ja nicht unterbrechen.
Auch eine RTC muss meiner Meinung nach nicht sein, außer Du willst sicher stellen, dass das Ding immer zur selben Tageszeit gießt.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
Rainbow Wetterstation mit LC-Display I2C --> Feuchte, Temp, Wind, Druck, Tau, Tendenz Wampo 25 36.365 24.10.2016 19:05
Letzter Beitrag: Wampo
Sad Temperatur u. feuchtigkeit Webserver+speichern der Temp. u. Feuchti. auf sd Porblem!! TbO92 0 1.895 27.10.2014 10:14
Letzter Beitrag: TbO92
  Temp. Rollo Steuerung - Was brauche ich? Backjump 7 4.330 26.12.2013 05:04
Letzter Beitrag: Sloompie

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste