Hallo zusammen.
Habe mir den arduino Mega geholt.
Soll dann ein Motor Shield ran und der lcm1602 IIC.
Außerdem noch Lüfter und da18b20.
Will damit dann meine Aquarien automatisch kühlen.
Nun wollte ich erstmal das Display testen und bin schon an meine Grenzen geatoßen
Habe das Programm runter geladen, die Library für den lcd runter geladen
Und dann diverse Beispiel Programme "Hello World" getestet.
Bei denen wo das Programm keinen Fehler ausgespuckt hat, hat das Display aber nichts angezeigt.
Lediglich das Display leuchtet.
Habe das Display vollendet Maßen angeschlossen
Board - lcd
Sda 20 - sda
Sdl 21 - sdl.
Gnd - gnd
Und 5v - vcc
Es gibt da mehrere Sorten I2C Adapter die anders verdrahtet sind. Entsprechend gehen da nicht alle Libs mit allen. Oder man muss sie anders initialisieren. Das hatten wir gerade erst: http://forum.arduino.cc/index.php?topic=259491.0
Den code von wikispace hatte ich getestet. Da hat er mir was von falscher Funktion positive gesagt....
Werde nachher mal die verschiedenen libarys testen.
Aber dieser code sollte ja wenn die libary die richtige ist funktionieren der?
//DFRobot.com
//Compatible with the Arduino IDE 1.0
//Library version:1.1 #include <Wire.h> #include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
void setup()
{
lcd.init(); // initialize the lcd
// Print a message to the LCD.
lcd.backlight();
lcd.print("Hello, world!");
}
Du musst da aber auch wegen den verschiedenen Libs aufpassen. Die heißen zum Teil gleich. Wenn die Header identisch sind ist es besser man hat nur eine davon im Libraries Verzeichnis.
Werde mir die verschiedenen librarys mit 1,2,3 usw nummerieren und auf dem Desk packen.
Und nur den Inhalt dann austauschen und mit dem Programm testen.
Versuche dieses mal mit folgenden Adressen
0x3F, 0x20, 0x38
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x38); // Set the LCD I2C address
void setup()
{
lcd.begin(20,4); // initialize the lcd
lcd.home (); // go home
lcd.print("Hello, ARDUINO ");
lcd.setCursor ( 0, 1 ); // go to the next line
lcd.print (" WORLD! ");
}
void loop()
{
}
Drehe den Poti mal in beide Richtung um zu schauen, ob sich was tut.
Hast du jetzt eigentlich ein 16x2 oder 20x4. Im Titel ist es ein 1602 aber verlinkt hast zu einem 2004. Das macht aber glaube ich von der grundlegenden Funktion keinen Unterschied. Sollte auch so gehen, aber die Adressierung der Zeilen passt dann nicht richtig.
Ich glaube die Adresse ist entweder 0x20 oder 0x27. Alle Jumper offen und dann je nachdem ob offen eine 1 oder 0 ist.
Kommt bei dir noch mehr als die 1 Zeile als Fehlermeldung? Ich kann sonst gleich mal kurz den Mega + 20x4 LCD rausholen. Ich glaub ich hab da einen mit I2C noch von rumliegen.
Wo steht auf der Rückeite 1602? Auf der Displayplatine oder dem I2C Adapter? 2. wäre möglich, da beide Displaytypen über die 4 bzw. 8 bit Parrallel Schnittstelle angesprochen werden.
Edit:
Mein I2C Adapter ist leider defekt. Habe gesehen, das beim letzten Mal entlöten die Kontaktflächen sich aufgelöst haben. Sind halt sehr günstig hergestellte PCB ohne Durchkontaktierungsnieten.
Jedoch kam beim kompilieren kein Fehler! Kann es sein dass du die BETA IDE nutzt? Wenn ja, ist diese nicht kompatibel mit der Libary wieso auch immer (kann gerade nicht nachschauen.)
auf dem I2C adapter steht YWRobot Arduino LCM11602 IIC V1 könnte auch IG V1 sein
das steht bei dem code den du gepostet hast
sketch_aug08a:4: error: no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(int)'
C:\Users\kevin\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:58: note: candidates are: LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t, uint8_t, uint8_t)
C:\Users\kevin\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:56: note: LiquidCrystal_I2C::LiquidCrystal_I2C(const LiquidCrystal_I2C&)
ok schlagt mich nicht...
muss man ja einem esel sagen, dass die library in das verzeichnis eigene dokumente und nicht in den installations ordner muss...
Jetzt zeigt es was an...
allerdings kann das keiner lesen...
sieht aus wie kyrillisch...
Wackelkontakt evtl. in der Leitung? Ob ich die Lib im Core-Lib-Order oder im User-Lib-Ordner befindet, spielt eigentlich keine Rolle. Welche Version der Arduino IDE nutzt?
Japanisch und Griechisch. Der Controller hat einen Mix aus Lateinischen, Japanischen und diversen Sonderzeichen
Seite 17:
Der linke Teil der Tabelle entspricht bis auf die zweiten letzten Zeichen dem Standard ASCII Code. Die Zeichen aus dem rechten Teil muss man per Hand einfügen, z.B. die Umlaute
na da war ja eine drinnen...
Mit dieser hat es nicht funktioniert, also habe ich die dateien aus dem ordner gelöscht und die anderen eingefügt...
jetzt habe ich sie gelöscht und im arduino program nochmal eingefügt...
und siehe da.... es geht.... oh man
riesen dank...
@sschultewolter:
dein code wegen dem temp messen ausm forum...
wo bekomme ichn die ds18b20 lib und die afmotor lib her?