20*4 LCD per Web ansprechen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo.

    ich weis nicht, ob dieses Thema jetzt genau hier reingehört, oder doch eher unter Web.

    Ich habe vor mir das 20*4 LCD welches hier auch mit den amazonlinks im Forum angeboten wird zu kaufen, und dieses dan als kleine Spielerei vom Web aus anzusprechen.
    (Als info: Mit PHP/HTML habe ich noch nicht viel gemacht, doch wenn ich den code lese, weis ich schon, was da gerade gemeint ist)


    (Ein späteres Projekt soll werden: Eine Whatsapp-Nachricht auf dem Display anzeigen)


    Das heist ich will eine Webseite, auf Welcher ich 4 Zeilen zum Text eintippen habe + "Anzeigen" Button.

    Ich finde im Netz immer nur Sachen zum 2*16 LCD, weshalb ich nicht genau weis, wie ich es überhaupt Konsolenintern ansprechen kann: Hier könnte ich auch etwas hilfe gebrauchen. (Links zu einem Script)

    Auch den Anschluss des LCDs an den PI kenn ich nicht ganz genau. (Die Pinbelegung + die Sache mit dem Kontrast)

    Ich werde nochmal mehrere kleine Fragen hier im Forum zu den einzelnen Sachen machen, nur, damit ihr schon mal vorbereitet seit.

    Nun die Frage um was dieser Thread gehen soll:

    Kann mir wer beim PHP/HTML-Aufbau helfen, sodass am Ende ich genau dieses Display angesprochen werden kann ?


    (habe irgendwo gelesen, das man das Display mit einem Script mit: "./Display.py "Zeile1" "Zeile2" "Zeile3" "Zeile4"" ansprechen kann)

    Ich weis, es ist etwas größeres für jemanden, der noch nichteinmal das Display hat, doch ich wollte es schonmal gefragt haben.

    LG. AltBen

    Ich bin root! Ich darf das! :D


    Diese Signatur könnte jetzt sinnvoll sein ... ist sie aber nicht! :denker:

    Einmal editiert, zuletzt von AltBen (24. November 2013 um 13:34)

  • http://us1.php.net/function.exec

    damit kannst du ein shell command ausführen nun musst du nur noch ein script schreiben welches auf dein display passt.

    Ich habe z.b. das Pollin I2C LCD modul gekauft und zusammengelötet und daran befindet sich ein 4x16 display auch von Pollin. Alle Infos die du brauchst um nun ein display anzusteuern kannst du aus den Datenblättern des Displays und des Modules nehmen sowie diese Seite hier

    http://www.protostack.com/blog/2010/03/c…isplays-part-1/

    wenn du mir sagst an welchem GPIO welche Leitung des Displays hängt könnte ich dir ein kleines script zusammen baun (FreeBasic, wiringPi)


    Edit: GPIO's ansteuern benötigt soweit ich weis rootrechte und ich weis nicht ob das so clever ist einem webserver diese zu geben.

    BASIC für den PI -> Tutorial

    Einmal editiert, zuletzt von ruohki (26. November 2013 um 23:57)

  • Danke, das du bereit wärst, mir da was zu schreiben!

    Habe heute folgende 2 Displays bestellt:

    http://www.amazon.de/HD44780-Module-Display-Anzeigen-Zeichen/dp/B009GEPZRE/ref=sr_1_1?ie=UTF8&qid=1385668020&sr=8-1&keywords=lcd+2%2A16&tag=psblog-21 [Anzeige]

    und

    http://www.amazon.de/Display-Anzeigen-Zeichen-kompatibel-HD44780/dp/B00ALNHTVY/ref=sr_1_1?ie=UTF8&qid=1385668045&sr=8-1&keywords=lcd+4%2A20&tag=psblog-21 [Anzeige]

    Das 4*20 ist für den Webserver gedacht, das ander für meinen anderen Pi

    Für das 2*16 er gibts haufenweise sachen im Internet, das kriege ich schon hin,

    aber wenn du mir was für das 4*20 er machen köntest, währe ich dir sehr dankbar!

    An welchen GPIO-ports das Display hängt, ist mir egal, hauptsache, es geht!


    Wenn ich dich noch folgendes bitten darf:

    Wenn du mir sowas schreibst, könnte der Befehl zum Anzeigen folgendermaßen aussehen:
    ./kp "zeile1" "zeile2" "Zeile3" "Zeile4"

    Das würde mir die restliche Arbeit erleichtern.

    Zu den Root-Rechten: Das geht schon, ist nur im Heimnetz!

    LG. AltBen

    Ich bin root! Ich darf das! :D


    Diese Signatur könnte jetzt sinnvoll sein ... ist sie aber nicht! :denker:

    Einmal editiert, zuletzt von AltBen (28. November 2013 um 20:53)

  • Ich bin da eher offen :D
    Wenn ich mir damit GPIO-Plätze sparen kann, würde / werde ich es machen, doch im Moment nutze ich keins / habe mich nochnicht damit beschäftigt.

    Ich hätte gern ein Script ohne, doch wenn ich mir in Zukunft eines holen werde, werde ich mich diesbezüglich an dich wenden!

    Nochmals vielen Dank für die Mühe!

    LG. AltBen

    Ich bin root! Ich darf das! :D


    Diese Signatur könnte jetzt sinnvoll sein ... ist sie aber nicht! :denker:

    Einmal editiert, zuletzt von AltBen (1. Dezember 2013 um 22:56)

  • Also ich habe dir 2 Versionen geschrieben die teile sind fertig compiliert mit FreeBasic und wiringPi als Schnittstelle. Es gibt eine I2C Version und eine Normale version

    Die I2C Version kommt mit 4 Drähten aus und nutzt keinen der normalen GPIO's sondern +5V GND SCL SDA
    Aufrufen tust du das ganze so

    Code
    ./lc_i2c I2C_Adresse RS_PIN RW_PIN E_PIN BL_PIN DS7 DS6 DS5 DS4 "Zeile 1" "Zeile 2" "Zeile 3" "Zeile"
    
    
    ./lc_i2c 34 4 5 6 7 3 2 1 0 "Hallo" "Welt" "das ist" "ein Test"

    I2C Adresse bekommst du über i2cdetect -y 1 vorausgesetzt du hast die i2c-tools installiert da steht dann die adresse des port expanders in HEX du musst das in DEZ umwandeln und dann dort angeben
    der BL Pin ist der der am PIN15 des LCD liegt

    Code
    ./lc_normal RS_PIN RW_PIN E_PIN BL_PIN DS7 DS6 DS5 DS4 "Zeile 1" "Zeile 2" "Zeile 3" "Zeile 4"
    
    
    ./lc_normal 0 1 2 3 4 5 6 7 "Hallo" "Welt" "das ist" "ein Test"

    die GPIO adresse ist wiringPi schema d.h. 0 = GPIO 17 1 = GPIO 18 usw

    bei der normalen version benötigst du 8 GPIO's + GND + 5V

    Ich habe das ganze nur mit dem I2C modul von Pollin getestet und auch nur auf einem 4x16 display die normale version sollte aber trozdem funktionieren wenn du die richtigen pinnummern übergibst.

    Ich habe kein debugging eingebaut ... produzierst du einen fehler irgenwo gibts evtl ne exeption oder ähnliches wenn du fragen hast kannst du ruhig fragen. Ich hänge den code von einem der beiden versionen an damit du dir das mal ansehen kannst wenn du möchtest schicke ich dir auch die kompletten sources wenn du es selbst compilen möchtest.

    Nachtrag! Wenn du nur ein 2 Zeilen display verwendest lautet die Commandozeile einfach
    "Zeile 1" "" "Zeile 2" ""

    Nachtrag 2! Ich hab einfach alles in ein archiv gepackt und angehangen Source und Precompiled. Der source ist recht unsauber da ich das ein wenig zusammenkopiert habe und angepasst für deine zwecke. Die I2C version funktioniert bei mir auf jeden fall :)

    Es ist nur etwas langsamer per commandline einfach alleine weil mit jedem aufruf der display neu initialisiert wird

    87wn44x3.jpg

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!