Hallo ich hoffe es geht euch gut und ich bitte um eure Hilfe.
Schon seit einigen Tagen versuche ich die Bodenfeuchte Werte auf einem Display anzuzeigen, allerdings tauchen dort immer Fehler. Ich habe wirklich alles versucht, vieles aus dem Internet kopiert, viele Videos geguckt, aber irgendwie werden die Daten nicht angezeigt. Es wird immer nur ein eine Stelle Fehler angezeigt. (Zeile:8 lcd.init();).
Ich stelle den Code hier im Anhang.
Nur zum Info, ich habe dieses Video angeguckt und nachgemacht: https://srituhobby.com/capacitive-soil-moisture-sensor-v1-2-arduino-code/
Vielen Dank im Voraus.
Setze Deinen Sketch bitte in Codetags. Wie das geht, steht hier.
Außerdem formatiere den Code bitte ordentlich. Strg+T in der IDE hilft Dir dabei.
Das kannst Du auch noch nachträglich ändern.
nach dem du den Sketch richtig gepostest hast (Anleitung siehe Tommy)
poste auch die Fehlermeldung. Wir sehen ja nicht welcher Fehler genau gemeldet wird!
Was passiert:
Es gibt verschiedene ähnlich lautende LCD Libraries.
die einen brauchen lcd.begin(), die anderen ein lcd.init(), einige mit Parameter die anderen ohne.
Entweder du verwendest die gleiche Library die auch derjenige Verwendet von dem du den Code kopiert hast oder du schaust nach in den Beispielen der installierten Library, wie die dieses begin oder init machen und hältst dich ganz genau daran.
Evtl. sieht dann auch der Konstruktor - diese Zeile
LiquidCrystal_I2C lcd (0x27, 16, 2);
anders aus.
Also - lad erst mal das Hello World beispiel aus deiner Library hoch und kontrolliere, ob dieses etwas auf deinem Display anzeigt.
auch das ganze rote da unten kannst mit STRG-C/STRG-V rauskopieren und hier als Text in Code-Tags posten.
Aber mach mal wie ich sage ... nimm das Hello World Beispiel aus deiner installierten LCD Library und kompiliere das mal und lade das hoch auf deinen Uno.
Ich wette einfach mal - du hast eine Library installiert deren Beispiel nicht ein aufrufbares init() enthält sondern ein begin(). Die Fehlermeldung dazu ist ja eindeutig.
Hallo Nochmal. Ich habe nun den richtigen Library verwendet und das Programcode lässt sich auch übertragen, aber das LCD-Display flattert. In dem Display bewegen sich viele komischen Linien. Auch wenn ich die Helligkeit mehr oder weniger mache. Außerdem habe ich auch alle Kabeln kontrolliert.
Vielen Dank, dass sie sich die Zeit für meine Fragen nehmen.
Ich blende nochmal meine neuen Coden auf.
Hallo nochmal,
Wie besprochen habe ich die Lötstellen sauber nachgelötet und alle Jumperkabeln erneuert. Bilder gibt es im Anhang.
Diesmal habe ich versucht die Temperatur mit einem DHT11 Sensor auf dem Display anzuzeigen, welche eigentlich auch ganz gut geklappt hat. Die Coden dazu finden sie im Anhang.
#include <dht.h> //DHT and LCD libraries
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
dht DHT; //Declaring the DHT as a dht type to use it later
#define DHT11_PIN 7 //Declaring where the DHT signal pin is wired
void setup(){
lcd.begin (16,2);
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);
lcd.home ();
}
void loop()
{
lcd.clear();
lcd.setCursor(0,0);
int chk = DHT.read11(DHT11_PIN); //Reading data from the module
lcd.print("Temp: ");
lcd.print(DHT.temperature); //Showing temperature value (before that you can do some math to get the temperature in Farnheit)
lcd.print(" C");
lcd.setCursor(0,1);
lcd.print("Humidity: ");
lcd.println(DHT.humidity); //Showing humidity percentage
lcd.print(" %");
delay(1000); //Refreshing every 1s
}
Das klappt aber immer noch nicht bei dem Bodenfeuchtigkeitssensor, welche ich eigentlich am meisten brauche.
Ich bedanke mich nochmal für eure Unterstützung.
Funktioniert leider immer noch nicht. Auf dem Display wird nur ein "A" angezeigt und wenn die Feuchtigkeitswerte sich ändern dann werden mehreren "AAAAA" angezeigt.
Kennen sie irgendwelche Internetseiten, wo man sich informieren kann?