mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD ansteuern via I2C mit Channaa Adapter


Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche derzeit ein LCD Display (EA W204-BNLED 
-https://www.distrelec.com/distrelec/datasheets.nsf...) 
mithilfe des I2C-LCD Adapters von Channaa 
(http://www.channaa.com/html/i2c_lcd_adapter.html) anzusteuern.

Ich arbeite mit Avrstudio, habe die Library von Peter Fleury 
implementiert und in dieser auch die Pinbelegung auf meine Hardware 
umgestellt.

Mit meinen bescheidenen I2C Kentnissen, dem Demofile von P. Fleury und 
dem Channaa Manual habe ich mal folgendes Prog zusammengebastelt:
#include <avr/io.h>
#include <util/delay.h>
#include <i2cmaster.h> 

#define LCD  0xFE      // Adresse I2C-LCD Adapter

int main(void)
{
    i2c_init();                             // I2C library initialisieren

    i2c_start_wait(LCD+I2C_WRITE);         // I2C Adresse und "Schreib Modus" setzen
    i2c_write(0x6C);                        // Schreib Adresse 0x6C
    i2c_write(0x0F);                        // Wert 0x0F in Adresse schreiben
    i2c_stop();                             // I2C Stop

    for(;;);
}

Ziel ist es den Adapter auf seiner Werkadresse 0xFE anzusteuern und den 
Befehl Display_On zu senden.

Das ganze erscheint mir etwas komisch, klappt das so oder muss man die 
Befehle so senden wie sie im Manual stehen (ClrDisplay/ReturnHome,....)?
Gibt es nirgends ein Demofile oder ähnliches zu dem Channaa Modul?

Besten Dank

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da es ein 4x20 Zeichen Display ist muss diese Einstellung (Display Typ) 
nicht vorgenommen werden da 4x20 Standart ist.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier mein Hello World File, leider tut sich auf dem Display nichts :(
#include <avr/io.h>
#include <util/delay.h>
#include <i2cmaster.h> 

#define LCD  0xFE                  // Adresse I2C-LCD Adapter

int main(void)
{
  i2c_init();                             // I2C library initialisieren
      i2c_start_wait(LCD+I2C_WRITE);         // I2C Adresse und "Schreib Modus" setzen
      i2c_write(0x6C);                        // Display ON
  i2c_write(0x61);            // Display löschen
  i2c_write(0x64);            // Schreib Adresse 0x64
  i2c_write(0x48);            // H
  i2c_write(0x45);            // E
  i2c_write(0x4C);            // L
  i2c_write(0x4C);            // L
  i2c_write(0x4F);            // O
  i2c_write(0x20);            // Space
  i2c_write(0x57);            // W
  i2c_write(0x4F);            // O
  i2c_write(0x52);            // R
  i2c_write(0x4C);            // L
  i2c_write(0x44);            // D
      i2c_stop();                             // I2C Stop
}

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe nun noch ein Blinklicht (Port C) ans Ende des Programmes 
gehängt und das ganze in ne While Schlaufe gepackt. Wenn ich nun das 
Port C mit dem KO anschaue dauert es ziemlich genau 5 sec für einen 
Programmdurchlauf ohne das Blink Delay. So langsam sollte das doch nicht 
sein?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schaue ich die beiden I2C Pins an (PB 0 und 1)so habe ich dauerhaft 5V 
die beiden Leitungen sind via 4k7 auf VCC gehängt, das ist doch richtig 
so?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe nun mal das Kontrast Poti etwas verändert und bemerkt das 
immerhin ein blinkender Cursor vorhanden ist jedoch auch wenn ich den 
Atmega lösche. Der Cursor erscheint einfach sobald das Display gespiesen 
wird.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal allgemein gefragt: die I2C_master.s Datei kann ich doch änder ohne 
das ich jedes mal eine neue *.o datei compilieren muss?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.