Gelöst:LCD Probleme

Hallo zusammen

Ich habe nun meine Pillenbox soweit fertig gestellt. Da ich noch ein LCD Modul hatte, habe ich das mit eingebaut , so das die Uhrzeit und das Datum mit angezeigt werden soll. Jedoch habe ich ein Problem das LCD Modul ans laufen zu bekommen. Obwohl ich bei meinem Aqua-Controller schon im Anfang eins verbaut hatte und das auch super lief, geht jetzt garnichts mehr. Jede Lib. die Ich verwende streikt. Einmal bekomme ich bei der LiquidCrystal.h jedesmal die Meldung das delay() nicht deklariert sei obwohl ich kein delay() verwende und redefinition of 'LiquidCrystal lcd'. sowie redefinition of 'void loop() 'Auch wenn ich den Alten Sketch verwenden will kommen diese Fehlermeldungen. Ich habe schon die IDE 022, 023, 1.0, 1,05 sowie die 1.5.5. ausprobiert immer das gleiche Resultat. woran könnte das liegen. Ich bekomme es jetzt mit der Lib LiquidCrystalfast.h soweit ans laufen das es kompiliert wird auch hochgeladen, jedoch sobald ich über lcd.print(xxx) was ausgeben möchte, streikt alles. Die Fernbediehnung, geht nicht mehr, ich kann keine LED mehr schalten, die Uhr läuft nicht mehr weiter. Sobald ich alle lcd.print(); ausklammer und den Sketch hochlade geht alles wieder aber es dauert sehr lange bis das Programm ausgeführt wird. Gut das könnte daran liegen das die Libs initialisiert werden, das würde mich auch nicht stören. Jedoch mir nutzt es nichts wenn alles andere ausfällt, wenn ich die Ausgabe auf der LCD realisieren möchte.

Funktioniert auch die mitgelieferte Libary in der AIDE nicht?

/*
  LiquidCrystal Library - Hello World
 
 Demonstrates the use a 16x2 LCD display.  The LiquidCrystal
 library works with all LCD displays that are compatible with the 
 Hitachi HD44780 driver. There are many of them out there, and you
 can usually tell them by the 16-pin interface.
 
 This sketch prints "Hello World!" to the LCD
 and shows the time.
 
  The circuit:
 * LCD RS pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
 * 10K resistor:
 * ends to +5V and ground
 * wiper to LCD VO pin (pin 3)
 
 Library originally added 18 Apr 2008
 by David A. Mellis
 library modified 5 Jul 2009
 by Limor Fried (http://www.ladyada.net)
 example added 9 Jul 2009
 by Tom Igoe
 modified 22 Nov 2010
 by Tom Igoe
 
 This example code is in the public domain.

 http://www.arduino.cc/en/Tutorial/LiquidCrystal
 */

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis()/1000);
}

Ist das LCD über I2C angeschlossen? Wenn nein, überprüfe mal das PinOut des Displays. Einige haben ein oder zwei Pins vertauscht.

Ein Übersichtsbild kann auch nicht Schaden.

Nein Stefan

Es klappt keine , auch mit den Beispiel programmen nicht. Jetzt bekomme ich immer folgende Fehlermeldung.

\LiquidCrystal\LiquidCrystal.cpp:404: error: '_digitalWrite' was not declared in this scope

ich kann es nicht verstehen, Am Aquarium hat alles super gelaufen. ich denke einmal das irgend etwas in der Lib. LiquidCrystal nicht stimmt. Aber in einer Lib. habe ich noch nie was geändert , da kenne ich mich überhaupt nicht mit aus. kann man die LCD den nicht ohne LIB ansprechen? die RTC 1307 betreibe ich doch auch ohne Lib.

Da du Probleme mit digitalWrite und delay hast, was soweit ich weiß, Arduino spezifische Funktionen sind, gehe ich davon aus, dass andersweitig irgendetwas an den Core-Libs defekt ist.

Du kannst mal folgendes versuchen, geh in die IDE unter Datei > Einstellungen. Dann steht in dem Popup etwas von preferences.txt. Klick auf den Link, mach ALLE Fenster der IDE zu, lösche dann erst die preferences.txt und starte dann die IDE neu.

Hat keine Auswirkung das neu laden der text datei: preferences.txt. jetzt habe ich die LiquidCrystalFast.h wieder geladen, lässt sich auch kompilieren und wird auch ausgeführt. Jedoch mit verzögerung und sobald ich die LCD mit mylcd.print(xxx) anspreche wird alles gesperrt. Keine Fernbediehnung und keine LED leuchtet. sobald ich von der Initialisierung der LCD 1 Pin streiche läuft mein Programm normal.

Angegeben ist: aber da stopt das Programm
LiquidCrystalFast mylcd(8,7, 6, 5, 4, 3, 2);
// LCD pins: RS RW EN D4 D5 D6 D7

so läuft das Programm weiter
LiquidCrystalFast mylcd(7, 6, 5, 4, 3, 2);
// LCD pins: RS RW EN D4 D5 D6 D7

ich muss mal alles verdrahten mal sehen ob es auch mit nur 6 leitungen klappt, was ich mir nicht vorstellen kann

Hat sich alles geklärt, man mi? nicht zwingend die 7 Pins nutzen man kommt für die normale Anzeige auf der LCD mit den 6 Pins aus die hier angegeben sind. LiquidCrystalFast mylcd(7, 6, 5, 4, 3, 2); // LCD pins: RS RW EN D4 D5 D6 D7

Sehe es gerade im Kochbuch, wenn du es einigermaßen so angeschlossen hat, dann entfällt RW, da dieser in der Schematic auf GND schon gelegt wird.

Ja das stimmt, aber wenn ich den RW Anschluss nutze ist total, Feierabend mit menem Sketch, nicht das sich der Controller aufhängt, er streigt einfach den sketch aus zu führen. Läd hoch und zeigt auch den Upload korrekt an, aber es läuft nichts.

Jenachdem ob du RW HIGH oder LOW schaltest, dürfte da schon ein Kurzschluss rausgekommen sein. Glück gehabt.