Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.sci.electronics > #311632 > unrolled thread

LCD mit HD44780 an Rpi Pico GPIOs?

Started by"Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de>
First post2021-10-13 11:00 +0000
Last post2021-10-14 06:54 +0000
Articles 11 on this page of 31 — 10 participants

Back to article view | Back to de.sci.electronics


Contents

  LCD mit HD44780 an Rpi Pico GPIOs? "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2021-10-13 11:00 +0000
    Re: LCD mit HD44780 an Rpi Pico GPIOs? Wolfgang Mahringer <yeti201@gmx.at> - 2021-10-13 13:24 +0200
    Re: LCD mit HD44780 an Rpi Pico GPIOs? Sebastin Wolf <invaild@invaild.net> - 2021-10-13 13:30 +0200
      Re: LCD mit HD44780 an Rpi Pico GPIOs? "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2021-10-13 11:59 +0000
        Re: LCD mit HD44780 an Rpi Pico GPIOs? Sebastin Wolf <invaild@invaild.net> - 2021-10-13 14:12 +0200
          Re: LCD mit HD44780 an Rpi Pico GPIOs? "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2021-10-13 12:25 +0000
            Re: LCD mit HD44780 an Rpi Pico GPIOs? Sebastin Wolf <invaild@invaild.net> - 2021-10-13 14:28 +0200
              Re: LCD mit HD44780 an Rpi Pico GPIOs? Sebastin Wolf <invaild@invaild.net> - 2021-10-13 14:35 +0200
              Re: LCD mit HD44780 an Rpi Pico GPIOs? "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2021-10-13 12:57 +0000
              Re: LCD mit HD44780 an Rpi Pico GPIOs? Rolf Bombach <rolfnospambombach@invalid.invalid> - 2021-11-01 19:37 +0100
    Re: LCD mit HD44780 an Rpi Pico GPIOs? Rafael Deliano <rafael_deliano@arcor.de> - 2021-10-13 17:30 +0200
    Re: LCD mit HD44780 an Rpi Pico GPIOs? stefan <adresse@ist.invalid> - 2021-10-13 17:54 +0200
      Re: LCD mit HD44780 an Rpi Pico GPIOs? Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2021-10-13 18:09 +0200
        Re: LCD mit HD44780 an Rpi Pico GPIOs? stefan <adresse@ist.invalid> - 2021-10-13 18:33 +0200
      Re: LCD mit HD44780 an Rpi Pico GPIOs? Sebastin Wolf <invaild@invaild.net> - 2021-10-13 20:22 +0200
    Re: LCD mit HD44780 an Rpi Pico GPIOs? Gernot Fink <g.fink@gmx.net> - 2021-10-13 20:47 +0200
      Re: LCD mit HD44780 an Rpi Pico GPIOs? Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2021-10-13 21:14 +0200
        Re: LCD mit HD44780 an Rpi Pico GPIOs? "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2021-10-14 07:08 +0000
          Re: LCD mit HD44780 an Rpi Pico GPIOs? Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2021-10-14 09:19 +0200
            Re: LCD mit HD44780 an Rpi Pico GPIOs? "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2021-10-14 07:43 +0000
              Re: LCD mit HD44780 an Rpi Pico GPIOs? Gerrit Heitsch <gerrit@laosinh.s.bawue.de> - 2021-10-14 09:45 +0200
                Re: LCD mit HD44780 an Rpi Pico GPIOs? Marte Schwarz <marte.schwarz@gmx.de> - 2021-10-15 15:05 +0200
                  Re: LCD mit HD44780 an Rpi Pico GPIOs? "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2021-10-15 13:27 +0000
                    Re: LCD mit HD44780 an Rpi Pico GPIOs? Sebastin Wolf <invaild@invaild.net> - 2021-10-15 16:46 +0200
              Re: LCD mit HD44780 an Rpi Pico GPIOs? Arno Welzel <usenet@arnowelzel.de> - 2021-10-24 19:58 +0200
                Re: LCD mit HD44780 an Rpi Pico GPIOs? "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2021-10-25 07:55 +0000
                  Re: LCD mit HD44780 an Rpi Pico GPIOs? Arno Welzel <usenet@arnowelzel.de> - 2021-10-29 15:02 +0200
                    Re: LCD mit HD44780 an Rpi Pico GPIOs? "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2021-10-29 13:13 +0000
            Re: LCD mit HD44780 an Rpi Pico GPIOs? Marte Schwarz <marte.schwarz@gmx.de> - 2021-10-15 15:02 +0200
      Re: LCD mit HD44780 an Rpi Pico GPIOs? Gernot Fink <g.fink@gmx.net> - 2021-10-13 21:14 +0200
      Re: LCD mit HD44780 an Rpi Pico GPIOs? "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> - 2021-10-14 06:54 +0000

Page 2 of 2 — ← Prev page 1 [2]


#311709

FromGerrit Heitsch <gerrit@laosinh.s.bawue.de>
Date2021-10-14 09:45 +0200
Message-ID<sk8n6l$p3t$1@news.bawue.net>
In reply to#311708
On 10/14/21 9:43 AM, Peter Heitzer wrote:
> Gerrit Heitsch <gerrit@laosinh.s.bawue.de> wrote:
>> On 10/14/21 9:08 AM, Peter Heitzer wrote:
>>> Gerrit Heitsch <gerrit@laosinh.s.bawue.de> wrote:
>>>> On 10/13/21 8:47 PM, Gernot Fink wrote:
>>>>> In article <isnsj0Fou49U1@mid.individual.net>,
>>>>>         "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> writes:
>>>>>> Ich habe seit ein paar Tagen einen Raspberry Pi Pico und möchte
>>>>>> daran ein LCD mit HD44780 anschliessen. Da der RP2040 nur max. 3.3 V an
>>>>>
>>>>> Wenn du wirklich dieses Display verwenden willst und es nicht unter 5V läuft
>>>>> könntest du zwei CD4504 für 8-Bit betrieb verwenden.
>>>>> Leider hat der 4504 nur 6 Pegelwandler so dass einer nicht für 4-Bitbetrieb
>>>>> reicht.
>>>>>
>>>>> Bei kleinen Neudisplays verwende ich gerne die DOG-Displays bei 4V mit SPI.
>>>
>>>> Hat der RP2040 I2C? Wenn ja könnte man das Problem mit einem PCF8574 lösen.
>>> Der RP2040 hat 2 I2C in Hardware. Das löst aber IMO das Problem nicht, daß
>>> ich Pegelwandler benötige.
> 
>> Doch, eigentlich schon... I2C ist doch open-collector mit
>> Pullupwiderständen. Den PCF kann man mit 5V laufen lassen und hat damit
>> den Pegel für das Display korrekt.
> 
>> Es würden dann aber vmtl. zwei Transistoren
>>> dafür ausreichen. Die Ansteuerung wird aber komplizierter und für E brauche
>>> ich einen weiteren GPIO, wenn ich das Display im 8 Bit Modus ansteuern möchte.
> 
>> Letzteres braucht man eher selten.
> Die Initialisierung im 4 Bitmodus ist deutlich aufwendiger und die Ausgabe
> von H und L Nibble nur beim 8048 und 8051 ohne Schiebebefehle möglich.

Mag sein, aber man muss das ja nur einmal implementieren und 
zeitkritisch ist das auch nicht.


>>> Da kann ich den PCF8574 gleich durch ein 74x164 ersetzen und im Bitbang
>>> mit 3 GPIOs arbeiten.
> 
>> Dürfte mehr Arbeit bei der Software machen.
> Auf 8031 mit SDCC trivial. Beim RP2040 kann ich vmtl. Software SPI
> nutzen, was in Micropython standardmässig vorhanden ist.

Wer benutzt noch 8031/8032 für neue Projekte?

  Gerrit


[toc] | [prev] | [next] | [standalone]


#311793

FromMarte Schwarz <marte.schwarz@gmx.de>
Date2021-10-15 15:05 +0200
Message-ID<skbuaa$1cffe$4@gwaiyur.mb-net.net>
In reply to#311709
Hi Gerrit,
>> Die Initialisierung im 4 Bitmodus ist deutlich aufwendiger und die 
>> Ausgabe
>> von H und L Nibble nur beim 8048 und 8051 ohne Schiebebefehle möglich.
> 
> Mag sein, aber man muss das ja nur einmal implementieren und 
> zeitkritisch ist das auch nicht.

Man muss das gar nichtimplementieren, das ist in jeder HD44780 Bib schon 
fertig.

Marte

[toc] | [prev] | [next] | [standalone]


#311795

From"Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de>
Date2021-10-15 13:27 +0000
Message-ID<istdtlFr3ldU1@mid.individual.net>
In reply to#311793
Marte Schwarz <marte.schwarz@gmx.de> wrote:
>Hi Gerrit,
>>> Die Initialisierung im 4 Bitmodus ist deutlich aufwendiger und die 
>>> Ausgabe
>>> von H und L Nibble nur beim 8048 und 8051 ohne Schiebebefehle möglich.
>> 
>> Mag sein, aber man muss das ja nur einmal implementieren und 
>> zeitkritisch ist das auch nicht.

>Man muss das gar nichtimplementieren, das ist in jeder HD44780 Bib schon 
>fertig.

>Marte
Die Initialisierung im 8 Bitmodus kann ich aus dem Kopf; für 4 Bit muss ich
nachschauen. Zum Test auf einem Steckbrett nur mit Mäuseklavier und 
(entprellten) Tastern ist 8 Bit angenehmer. Wenn man wenig freie Portpins
hat ist natürlich 4 Bit günstiger, aber dann kann man auch ein 74x164 
verwenden und braucht nur 3 Pins.

-- 
Dipl.-Inform(FH) Peter Heitzer, peter.heitzer@rz.uni-regensburg.de

[toc] | [prev] | [next] | [standalone]


#311797

FromSebastin Wolf <invaild@invaild.net>
Date2021-10-15 16:46 +0200
Message-ID<skc48g$ha8$1@gioia.aioe.org>
In reply to#311795
Am 15.10.2021 um 15:27 schrieb Peter Heitzer:
> braucht nur 3 Pins.

I2C nur zwei.

[toc] | [prev] | [next] | [standalone]


#312138

FromArno Welzel <usenet@arnowelzel.de>
Date2021-10-24 19:58 +0200
Message-ID<itll6hFgpljU1@mid.individual.net>
In reply to#311708
Peter Heitzer:

> Gerrit Heitsch <gerrit@laosinh.s.bawue.de> wrote:

[HD44780 im 8-Bit-Modus]

>> Letzteres braucht man eher selten.
> Die Initialisierung im 4 Bitmodus ist deutlich aufwendiger und die Ausgabe
> von H und L Nibble nur beim 8048 und 8051 ohne Schiebebefehle möglich.

Aufwendig?

<https://www.mikrocontroller.net/articles/AVR-Tutorial:_LCD#Initialisierung_f.C3.BCr_4_Bit_Modus>

Der 8-Bit-Modus ist nicht wesentlich einfacher. Und ein Schiebebefehl
pro Zeichen dürfte das Kraut jetzt nicht wirklich fett machen.

[...]
>> Dürfte mehr Arbeit bei der Software machen.
> Auf 8031 mit SDCC trivial. Beim RP2040 kann ich vmtl. Software SPI 
> nutzen, was in Micropython standardmässig vorhanden ist.

Selbst wenn man die Ports einzeln anhand der Bits im Zeichen setzen
muss, um ein Nibble zusammenzubasteln und abzusenden, ist das in
Anbetracht der Geschwindigkeit aktueller Microcontroller weitgehend zu
vernachlässigen.

Ich nutze ein 20*4 LCD mit einem Arduino Micro für einen CO2-Monitor,
der einen MH-Z19 abfragt und auf dem Display Datum aus und Uhrzeit aus
einem DS3231 anzeigt. Zusätzlich sind ein paar Taster vorhanden, mit
denen man Alarmmeldungen bestätigen kann und eine Menüsteuerung nutzen,
um den Sensor manuell zu kalibrieren oder Uhrzeit/Datum einzustellen,
wenn nötig.

Das Display läuft im 4-Bit-Modus und das ganze Projekt verwendet C++ mit
diversen Arduino-Libraries für die Kommunikation mit dem LCD, DS3231 und
MH-Z19. Gebaut wurde es mit PlatformIO. Insgesamt belegt der Code auf
dem Controller ca. 18 KB und dass die Kommunikation mit dem Display
nennenswerte Ressourcen braucht, merke ich nicht. Auch softwaremässige
Entprellung der Tasten ist kein Problem, obwohl das in der Hauptschleife
passiert, die parallel dazu auch noch einmal pro Sekunde das Display mit
je 4 Zeilen Text aktualisiert und alle 10 Sekunden den Sensor inkl.
Berücksichtigung des aktuellen Betriebsmodus wie "Sensorkalibrierung
aktiv, Zeiteinstellung aktiv" etc..


-- 
Arno Welzel
https://arnowelzel.de

[toc] | [prev] | [next] | [standalone]


#312189

From"Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de>
Date2021-10-25 07:55 +0000
Message-ID<itn67lFpbkuU1@mid.individual.net>
In reply to#312138
Arno Welzel <usenet@arnowelzel.de> wrote:
>Peter Heitzer:

>> Gerrit Heitsch <gerrit@laosinh.s.bawue.de> wrote:

>[HD44780 im 8-Bit-Modus]

>>> Letzteres braucht man eher selten.
>> Die Initialisierung im 4 Bitmodus ist deutlich aufwendiger und die Ausgabe
>> von H und L Nibble nur beim 8048 und 8051 ohne Schiebebefehle möglich.

>Aufwendig?

><https://www.mikrocontroller.net/articles/AVR-Tutorial:_LCD#Initialisierung_f.C3.BCr_4_Bit_Modus>

>Der 8-Bit-Modus ist nicht wesentlich einfacher. Und ein Schiebebefehl
>pro Zeichen dürfte das Kraut jetzt nicht wirklich fett machen.
Bei mir hat bisher stets ein 0x3x im 8Bit Modus gereicht. Die beschriebene
Initialisierung ist nur nötig, wenn die Betriebsspannung nicht schnell genug
für den POR des Displays ist.

>[...]
>>> Dürfte mehr Arbeit bei der Software machen.
>> Auf 8031 mit SDCC trivial. Beim RP2040 kann ich vmtl. Software SPI 
>> nutzen, was in Micropython standardmässig vorhanden ist.

>Selbst wenn man die Ports einzeln anhand der Bits im Zeichen setzen
>muss, um ein Nibble zusammenzubasteln und abzusenden, ist das in
>Anbetracht der Geschwindigkeit aktueller Microcontroller weitgehend zu
>vernachlässigen.
Das stimmt natürlich, aber ich teste Displays auch gerne mal zu Fuß auf 
dem Steckbrett und da ist 8Bit deutlich einfacher.

-- 
Dipl.-Inform(FH) Peter Heitzer, peter.heitzer@rz.uni-regensburg.de

[toc] | [prev] | [next] | [standalone]


#312545

FromArno Welzel <usenet@arnowelzel.de>
Date2021-10-29 15:02 +0200
Message-ID<iu29nlFu3dpU2@mid.individual.net>
In reply to#312189
Peter Heitzer:

> Arno Welzel <usenet@arnowelzel.de> wrote:
[...]
>> <https://www.mikrocontroller.net/articles/AVR-Tutorial:_LCD#Initialisierung_f.C3.BCr_4_Bit_Modus>
> 
>> Der 8-Bit-Modus ist nicht wesentlich einfacher. Und ein Schiebebefehl
>> pro Zeichen dürfte das Kraut jetzt nicht wirklich fett machen.
> Bei mir hat bisher stets ein 0x3x im 8Bit Modus gereicht. Die beschriebene
> Initialisierung ist nur nötig, wenn die Betriebsspannung nicht schnell genug
> für den POR des Displays ist.

Was meinst Du konkret mit "Betriebsspannung nicht schnell genug
für den POR des Displays"? Wie wird die Geschwindigkeit von Spannung
gemessen?


-- 
Arno Welzel
https://arnowelzel.de

[toc] | [prev] | [next] | [standalone]


#312546

From"Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de>
Date2021-10-29 13:13 +0000
Message-ID<iu2abqFu5dsU1@mid.individual.net>
In reply to#312545
Arno Welzel <usenet@arnowelzel.de> wrote:
>Peter Heitzer:

>> Arno Welzel <usenet@arnowelzel.de> wrote:
>[...]
>>> <https://www.mikrocontroller.net/articles/AVR-Tutorial:_LCD#Initialisierung_f.C3.BCr_4_Bit_Modus>
>> 
>>> Der 8-Bit-Modus ist nicht wesentlich einfacher. Und ein Schiebebefehl
>>> pro Zeichen dürfte das Kraut jetzt nicht wirklich fett machen.
>> Bei mir hat bisher stets ein 0x3x im 8Bit Modus gereicht. Die beschriebene
>> Initialisierung ist nur nötig, wenn die Betriebsspannung nicht schnell genug
>> für den POR des Displays ist.

>Was meinst Du konkret mit "Betriebsspannung nicht schnell genug
>für den POR des Displays"? Wie wird die Geschwindigkeit von Spannung
>gemessen?
Das war schlampig formuliert. Gemeint war der Anstieg der Betriebsspannung
in V/µs z.B. 



-- 
Dipl.-Inform(FH) Peter Heitzer, peter.heitzer@rz.uni-regensburg.de

[toc] | [prev] | [next] | [standalone]


#311789

FromMarte Schwarz <marte.schwarz@gmx.de>
Date2021-10-15 15:02 +0200
Message-ID<skbu5u$1cffe$3@gwaiyur.mb-net.net>
In reply to#311705
Hi Gerrit,
>> Da kann ich den PCF8574 gleich durch ein 74x164 ersetzen und im Bitbang
>> mit 3 GPIOs arbeiten.
> 
> Dürfte mehr Arbeit bei der Software machen.

Nee, das geht richtig konfiguriert direkt via SPI, zumindest beim ATMega.

Marte

[toc] | [prev] | [next] | [standalone]


#311677

FromGernot Fink <g.fink@gmx.net>
Date2021-10-13 21:14 +0200
Message-ID<2qnj3i-nj3.ln1@garm.g>
In reply to#311669
In article <l7mj3i-o93.ln1@garm.g>,
	Gernot Fink <g.fink@gmx.net> writes:
> Bei kleinen Neudisplays verwende ich gerne die DOG-Displays bei 4V mit SPI. 

nicht 4V sondern 3.3V meinte ich.
 
Gernot

[toc] | [prev] | [next] | [standalone]


#311702

From"Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de>
Date2021-10-14 06:54 +0000
Message-ID<isq2grF7i04U1@mid.individual.net>
In reply to#311669
Gernot Fink <g.fink@gmx.net> wrote:
>In article <isnsj0Fou49U1@mid.individual.net>,
>        "Peter Heitzer" <peter.heitzer@rz.uni-regensburg.de> writes:
>> Ich habe seit ein paar Tagen einen Raspberry Pi Pico und möchte 
>> daran ein LCD mit HD44780 anschliessen. Da der RP2040 nur max. 3.3 V an

>Wenn du wirklich dieses Display verwenden willst und es nicht unter 5V läuft
>könntest du zwei CD4504 für 8-Bit betrieb verwenden.
>Leider hat der 4504 nur 6 Pegelwandler so dass einer nicht für 4-Bitbetrieb
>reicht.
Mit R/-W auf GND schon. Die Notwendigkeit, vom Display zu lesen, hatte ich
noch nie und mit 5 ms delay nach jedem Controlbyte hat es bei mir noch
immer funktioniert. Ich habe auch Displays (aus alten Laserjet II)
https://homepages.uni-regensburg.de/~hep09515/dse/ljetii.jpg
bei denen R/-W fest auf GND gelegt ist und bei denen gar kein Lesen
möglich ist.

-- 
Dipl.-Inform(FH) Peter Heitzer, peter.heitzer@rz.uni-regensburg.de

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | de.sci.electronics


csiph-web