Hallo zusammen, Ich soll mithilfe eines analogen Temperatursensor die Temperatur auf dem lcd Displays ausgeben. Doch auf dem Display kommt nichts aus. Ich hab zum testen "Lcd4_Write_String("Test");" eingefügt aber am Display kam trotzdem nichts an. Ich glaub mein LCD Display initialisiert nicht richtig aber ich weiß nicht warum. Die Initialisierung ist aber glaub richtig weil meine Klassenkameraden es genau so gemacht haben. Ich bin ein Anfänger und kenn mich so gut wie gar nicht damit aus. Wäre nett wenn mir jemand helfen könnte. Ich nutze ein ATMEGA328P LCD Display: LCD1602
Wenn der Code bei anderen Funktioniert würde ich mal die Hardware überprüfen. Mit einem Logic-Analyzer kann man bequem alle Leitungen gleichzeitig kontrollieren und deren Spannungsverläufe als Zeit-Diagramm darstellen.
Reduziere dein Hauptprogramm auf einen minimalen Test, damit du dich alleine auf die Kommunikation mit dem Display konzentrieren kannst.
1 | Lcd4_Init(); |
2 | Lcd4_Clear(); |
3 | Lcd4_Set_Cursor(1,0); |
4 | Lcd4_Write_String("Test"); |
Dann fällt dir wahrscheinlich auf, dass du vergessen hast, die I/O Pins als Ausgang zu konfigurieren (im DDRx Register). Ich sehe "DDRD = 0xff" aber da fehlen noch die beiden Leitungen von Port B. Außerdem musst du das vor der Initialisierung des Displays machen.
Standardmaessig muss man nach dem Reset Command sehr lange warten, hunderte von Milisekunden.
Hallo, sind da #define D4 eS_PORTD4 #define D5 eS_PORTD5 #define D6 eS_PORTD6 #define D7 eS_PORTD7 #define RS eS_PORTB1 #define EN eS_PORTB2 die Leitungen des LCDs wirklich angeschlossen? Alleine dieser Teil hier void pinChange(int a, int b) verkompliziert das Programm so weit, daß man wohl einige der Schüler bereits hier scheitern läßt. mfG
Man sollte im Fredtitel das [*uino] nicht weglassen. Da haette ich mir das Lesen sparen koennen.
Cartman schrieb: > Man sollte im Fredtitel das [*uino] nicht weglassen. Es hat aber mit Arduino nichts zu tun!
Ich weiß ja nicht in welche Klasse/Schule Du gehst oder wie alt Du bist. Von den nicht bekannten Vorkenntnissen mal abgesehen. In der library.txt wurde erwähnt "//LCD Functions Developed by electroSome" Also würde ich auf deren Seite: https://electrosome.com/interfacing-lcd-arduino-uno/ das Beispiel umsetzen und mein LCD incl. Verdratung testen. Die LiquidCrystal.h findest Du im Web oder Du kannst diese auch direkt über die Arduino IDE importieren. Wenn dass alles "passt" und Dein LCD in Ordnung ist,dann setze Dein eigenes Programm um und bringe es "zum laufen".
Noch eine Frage: warum einen analogen Sensor ? Sensoren mit I2C + fertige Libs incl. erprobte Beispiele gibt es im Web mehr als genug.
SNK schrieb: > LCD1602 Hi, Pinout überprüfen. Es kursieren viele "162 1602 etc. pp. Kleine Unterschiede in der Belegung. Und von oben gesehen oder von unten gesehen. Dann nimm einmal eine gängige LCDisplay-Initialisierungsroutine. Das 1602 ist sowas von gängig, das ist kein Exot, der eine Extrawurst braucht... ciao gustav
:
Bearbeitet durch User
> Es hat aber mit Arduino nichts zu tun!
Ja richtig. Dann wuerde man es mit I2C ansteuern.
SNK schrieb: > Danke, genau das war mein Fehler Was war der Fehler? Sicher nicht die I²C Sache im Beitrag davor.
SNK schrieb: > Danke, genau das war mein Fehler Es geht hier nicht genau darum, den Erkenntsisdurst des geneigten Publikums zu stillen. mfG
Beitrag #6928110 wurde von einem Moderator gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.