Hallo, ich versuche vergeblich ein älteres LCD-Modul über den dafür gedachten I2C-Adapter von Pollin mit einem ATMega48 zu beleben. Leider finde ich im Netz nichts passendes dazu oder eine Beschreibung der Pollin_Lcd_i2c.lib! Wäre für ein einfaches Beispiel dankbar. Schönen Sonntag noch und Gruß vom Martin
Martin schrieb: > Pollin_Lcd_i2c.lib! > Wäre für ein einfaches Beispiel dankbar. Von Pollin gab es eine lib? Für Bascom gibt es verschiedene libs, siehe auch in der Hilfe. Es gab auch verschiedene Beschaltungen Display - PCF8574. Kann es sein, das Pollin die Schaltung verwendet die im Franzis Buch mal drin war. Schau mal ob das vom Datei Anhang mit deiner Hardware funktioniert.
Danke erst mal Paul! Die LIB heißt so, wird aber nicht von Pollin sein. Warum sollte sie auch! Die Hardware müßte funktionieren, da ich zur zeit über den I2C-Bus (softwaremäßig) die Hintergrundbeleuchtung am Pin7 des PCFs blinken lasse! Hier mal die LIB im Anhang
Guten Morgen, das Pollin-Modul hat eine andere Belegung. Meine Hoffnung war ja auch, dass es mit der Lib funktioniert. Ein anderes Mudul aus Chinesien mit einem fest verlöteten blauen LCD habe ich mit der YwRobot_Lcd_I2C am laufen. Ist auch in der Hilfe von MSC ... gut beschrieben.
Martin schrieb: > das Pollin-Modul hat eine andere Belegung. Dieses Problem habe ich auch gehabt. Habe dann noch mal in meinen alten Unterlagen gewühlt und meine damalige Lösung wiedergefunden. Zur Info: die I2C_Lib von Pollin ist die von MCS-Bascom. Geschrieben von Ken Anderson MCS_AN118. Nach vielen Mühen habe ich damals herausgefunden, dass LCD_Enable bei Pollin an einem andern Pin liegt. Das LCD wird im 4Bit Modus betrieben und da gibt es eine Variable '_lcd_e'. Die muss '64' sein, 192 geht auch, 128 nicht. Richtig verstanden habe ich es auch heute noch nicht, hat aber funktioniert. Wenns klappt.... Ausprobieren, vielleicht war es das. Viel Glück. 73 Wilhelm
Martin schrieb: > das Pollin-Modul hat eine andere Belegung. Meine Hoffnung war ja auch, > dass es mit der Lib funktioniert. Hallo Martin, im Anhang die Beschaltung wie sie mal verwendet wurde. Die lib wo ich dir geschickt habe funktioniert mit der Beschaltung. Pollin hat zusätzlich noch die Abschaltung der Beleuchtung. Für meine Anwendungen verwende ich das nicht mehr. Die in der Bascom Hilfe gezeigte Schaltung ist die Schaltung wie Sie auf den Arduino Adaptern verwendet wird. Der Adapter alleine ist recht billig zu bekommen. Auch die Sets Display + I2C Interface sind auch nicht teuer.
Nein Paul, beim meinem Pollin Modul geht der Pin 11 auf den Anschluß 6 der LCD und nicht der Pin 12. Deshalb ist wohl der Hinweis vom Wilhelm schon sehr gut. In den Libs wird auch gleich ganz oben Ken Anderson MCS_AN118 als Autor erwähnt. Demnächst will ich mir ein kleines Modul auf Basis einer UART-Kommunikation bauen mit einem ATTiny2313. Da ist dann nur eine Verbindung und Masse nötig.
Hallo zusammen. Paul Neumüller schrieb: > Für Bascom gibt es verschiedene libs, siehe auch in der Hilfe. > Es gab auch verschiedene Beschaltungen Display - PCF8574. Das, was du da im Anhang hast, ist die Lib von Kent Anderson. Kann man sich mit einem Editor ansehen. Da steht ziemlich am Anfang, das es eine '_LCD_e' Variable gibt, die auf '64' oder '192' gesetzt werden muss. Du hast in deinem Quelltext '128' Das hier.... ;define a constant named PCF8574_LCD pointing to the i2c address ;dimension _lcd_e as byte to control the E-lines (4 lines LCD:s) ;_lcd_e should have one of the following values ;128 to enable E1, 64 to enable E2, 192 to enable both E1 and E2 (cls, deflcdchar) ....habe ich aus deiner Lib kopiert. Habe gerade nachgesehen, das steht auch in der Original Lib von MCS. @ Martin Wenn schon die Beleuchtung klappt, kannst du das Teil ja schon ansprechen. Der Rest kann dann auch kein Problem mehr sein. 73 Wilhelm
Martin schrieb: > Demnächst will ich mir ein kleines Modul auf Basis einer > UART-Kommunikation bauen mit einem ATTiny2313. Hi, ist jetzt noch I2C-Ansteuerung gefragt oder nicht?: Der 2313-er hat nämlich kein TWI aka I2C. Trotzdem geht das über Umweg USI. ciao gustav
Karl B. schrieb: > Trotzdem geht das über Umweg USI Da wäre ich nicht drauf gekommen.... Ob Martin den Tipp braucht, weiss ich nicht. Wer sich aber schon mal mit AVR und I2C beschäftigt hat, braucht diesen Tip nicht! 73 Wilhelm
:
Bearbeitet durch User
So! Hier das funktionierende Programm! Danke euch nochmals! Mit Add 192 geht es auch. Ist schließlich 64 und 128 dabei! '******************************************************************* 'Compiler : BASCOM-AVR (Vers. 2.0.7.7) 'Hardware : Versuchsplatine LCD 8x2 u. I2C_LCD von Pollin 'Chip type : ATMega48V (8%) 'Programm : I2C_LCD_2 '******************************************************************* $regfile = "m48def.dat" $crystal = 4000000 'Quarz (111101) DivideClock = disabled $lib "Pollin_Lcd_i2c.lib" Config SDA = PortD.2 'PortD.2 = serial data (SDA) gelb Config SCL = PortD.3 'PortD.3 = serial data (SCL) grün I2Cinit 'Ini the I2C SCL and SDA pins '******************* Deklarationen ************************ Const Pcf8574_lcd = &H40 'Adresse des I2C-LCDs Dim Lcd_backlight As Byte '1 = an; 0 = aus. Wird erst nach einen 'LCD-Befehl umgesetzt! Dim I As Byte Dim _lcd_e As Byte _lcd_e = 64 'LCD im 4-Bit Mode betreiben '****************** Initialisierung *********************** Config Lcd = 16 * 2 'nicht unbedingt nötig Config I2cdelay = 1 Waitms 300 'warte bis LCD-Initialisiert ist! '******************** Hauptprogramm *********************** Cls Lcd " Hallo Dresden! " Wait 1 Lcd_backlight = 0 Locate 2 , 1 Lcd "-- 16 Zeichen --" Wait 2 Lcd_backlight = 1 Locate 1 , 1 'Backlight-Zustand an LCD übermitteln Do 'Sinnlose Schleife! nop Loop End
Martin schrieb: > Demnächst will ich mir ein kleines Modul auf Basis einer > UART-Kommunikation bauen mit einem ATTiny2313. Da ist dann nur eine > Verbindung und Masse nötig. Vielleicht klärt uns der TO einmal auf, welche AVRs er wo einsetzen möchte. In der Lib sehe ich keine 2313-er. Oder übersehe ich da was? Martin schrieb: > 'Chip type : ATMega48V (8%) ciao gustav
Karl B. schrieb: > In der Lib sehe ich keine 2313-er. Oder übersehe ich da was? Ja du übersiehst etwas oder dir ist die Funktion der lib nicht bekannt. Diese LCD_I2C Lib wird vom Compiler dafür verwendet um das LCD per I2C anzusteuern. Alternativ gibt es eine lib. um das LC Display per 4Bit Verbindung zu verwenden. Diese lib kannst mit dem ATTiny 2313 verwenden, aber auch mit einem ATMEGA 32 oder ATMEGA 328 usw. Wobei es mit dem ATTINY 2313 nicht mehr viele Möglichkeiten gibt was der Controller erledigen kann. Der Speicher wird hier schnell mal knapp. Es muss neben der LCD lib auch noch eine lib für den I2C Bus eingebunden werden. Es kommt noch dazu, dass der ATTINY 2313 kein Hardware TWI hat. Der I2C Bus muss per Software realisiert werden. Hier hat ein ATMEGA 8, 168, 328 usw. den Vorteil ein Hardware TWI zu haben.
Pichler schrieb: > Es kommt noch dazu, dass der ATTINY 2313 kein Hardware TWI hat. > Der I2C Bus muss per Software realisiert werden. Nichts anderes hatte ich oben behauptet und wurde dafür abgebasht. Karl B. schrieb: > Der 2313-er hat nämlich kein TWI aka I2C. > Trotzdem geht das über Umweg USI. Wilhelm S. schrieb: > Wer sich aber schon mal mit > AVR und I2C beschäftigt hat, braucht diesen Tip nicht! ciao gustav
Ganz einfach Karl Gustav, Mann nehme einen ATTiny2313 und nutze seine Hardware UART. Nicht TWI! Da ist dann noch Platz für einen Max232. Hänge mal den "Vorläufer" dafür als Eagle-File an, den ich damit sogar im 8Bit-Modus ansteuere. Da hat damals sogar noch ein Spannungsregler drauf gepasst! Ich hatte diese an unserer FH fräsen lassen. Jetzt schicke ich so etwas nach JLCPCB. 5 Stk. für unter 10 Euronen. Und wenn der Speicher nicht reicht, was ich bezweifele, wird eben ein ATTiny4313 verwendet.
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.