Forum: Mikrocontroller und Digitale Elektronik Arduino Nano LCD 5V und 3.3V


von Mike (Gast)


Lesenswert?

Hallo Zusammen,

ich habe mir für meinen Arduino Nano folgendes Display gekauft: 
https://www.banggood.com/3_2-Inch-ILI9341-TFT-LCD-Display-Module-Touch-Panel-p-918609.html?rmmds=search&cur_warehouse=UK

Wenn ich das richtig verstehe, benötige ich dafür wohl noch 10k 
Widerstände, da die Signale des Arduino 5V verwenden, das Display aber 
mit 3V3 arbeitet. Aber wieso 10k bzw. wie berechnet sich das?

Verwende ich die 10k-Widerstände dann lediglich für die Leitungen SCK, 
DC? Ich finde nämlich immer wieder Tutorials, in denen das so ist, VCC 
vom Display hängt dann jedoch auch 5V. Das passt ja dann nicht. Ich 
müsste das Display entweder an VCC 3V3 vom Arduino hängen oder eben auch 
mit einem 10k Widerstand oder?

von Arduinoquäler (Gast)


Lesenswert?

Mike schrieb:
> Wenn ich das richtig verstehe, benötige ich dafür wohl noch 10k
> Widerstände, da die Signale des Arduino 5V verwenden, das Display aber
> mit 3V3 arbeitet.

Wo steht das bzw. wer sagt dir das?

Mike schrieb:
> folgendes Display gekauft:

Wenn es genau das ist dann brauchst du

a) einen Arduino Mega
b) ein Arduino Shield-Adapter um das Display an deinen
Arduino anzuschliessen.
Mit einem Arduino Uno oder Nano wirst du nicht weit(er) kommen.

Mike schrieb:
> für die Leitungen SCK, DC?

Die gibt es auf denm genannten LCD Board gar nicht.

Werde dir selbst erst mal klar welches Board du wirklich hast ....

von Hans (Gast)


Lesenswert?

Wo bitte steht da in der Beschreibung, dass es nur mit einem Arduino 
mega funktioniert? Und auf den shield sind 20k Widerstände. Demnach hat 
der Themensteller Recht, dass er 10 Widerstände benötigt.

von Arduinoquäler (Gast)


Lesenswert?

Hans schrieb:
> Wo bitte steht da in der Beschreibung, dass es nur mit einem Arduino
> mega funktioniert?

Weiss ich nicht. Die Chinesen können einem viel erzählen wenn
der Tag lang ist.

Aber ich sehe auf den Bildern ein Display-Modul das mit einem
16-Bit-Paprallel-Interface ausgestattet ist.

Und 16 Bit Steuerung ist mit einem Uno oder Nano nicht ohne
weitere Hilfmittel möglich.

Aber wenn du es besser weisst dann erkläre es uns genau. Ich
bin seeeehr gespannt.

von Christian M. (Gast)


Lesenswert?


von Wolfgang (Gast)


Lesenswert?

Arduinoquäler schrieb:
> Mike schrieb:
>> Wenn ich das richtig verstehe, ... , das Display aber
>> mit 3V3 arbeitet.
>
> Wo steht das bzw. wer sagt dir das?


Zumindest der Display Controller ILI9341 arbeitet mit maximal 3.3V
(S.224 im DS: "Logic Operating Voltage max 3.3V)"
https://cdn-shop.adafruit.com/datasheets/ILI9341.pdf

von OMG (Gast)


Lesenswert?

Wolfgang schrieb:
> Zumindest der Display Controller ILI9341 arbeitet mit maximal 3.3V

Hans schrieb:
> Demnach hat
> der Themensteller Recht, dass er 10 Widerstände benötigt.

Ja genau. Wir nehmen 10 Widerstände, stecken die in den Arduino
rein und dann funktioniert alles.

Ihr seid mir die richtigen Fachleute! Solche Leute brauchen wir!

von Franz M. (elmo64)


Lesenswert?

Arduinoquäler schrieb:
> Und 16 Bit Steuerung ist mit einem Uno oder Nano nicht ohne
> weitere Hilfmittel möglich.

Ein Atmega328 besitzt 23 GPIOs, in der PB-Version sogar 27 (RSTDISBL 
gesetzt). Für das Display(ILI9341) alleine, komme ich auf 21 Leitungen. 
(+SD,+TS) Möglicherweise kann man einzelne Steuerleitungen des Displays, 
zB. Reset direkt mit VCC/GND verbinden. Die Basisfunktionalität ist also 
auch ohne Schieberegister und I/O-Erweiterung möglich, wenn man davon 
absieht, dass ein AVR für die Ansteuerung eines solchen Displays 
Hardwaremäßig eher schlecht ausgestattet ist.

Mike schrieb:
> Lediglich für die Leitungen SCK, DC?
> Ich finde nämlich immer wieder Tutorials, in denen das so ist

Dein Problem ist, dass der ILI9341 prinzipiell mehrere unterschiedliche 
Schnittstellen könnte, was im Normalfall jedoch bereits durch den 
Modul-Hersteller festgelegt wird. In deinem Fall ist das eben ein 
paralleler Modus und kein SPI. Du hast 2 Möglichkeiten: Entweder du 
versorgst µC und Display aus der selben zB. 3,3V Quelle, oder du nutzt 
etliche Level Shifter.

Schaue mal hier: Pegelwandler. Dort wird auch das Prinzip mit 
Vorwiderstand, bzw. der Missbrauch der Schutzdioden, erklärt.

Mike schrieb:
> VCC vom Display hängt dann jedoch auch 5V

Das Geht nur, falls das Display-Modul/Break-out-Board/"Shield" einen 
Spannungsregler besitzt. Möglicherweise benötigt die 
Hintergrundbeleuchtung eine andere Spannung, als die Logik,....
Auf der von dir verlinkten Seite stehen Datenblätter und 
Beispielsoftware zum Download bereit.

: Bearbeitet durch User
von OMG (Gast)


Lesenswert?

A. M. schrieb:
> Ein Atmega328 besitzt 23 GPIOs, in der PB-Version sogar 27 (RSTDISBL
> gesetzt). Für das Display(ILI9341) alleine, komme ich auf 21 Leitungen.
> (+SD,+TS) Möglicherweise kann man einzelne Steuerleitungen des Displays,
> zB. Reset direkt mit VCC/GND verbinden. Die Basisfunktionalität ist also
> auch ohne Schieberegister und I/O expander möglich.

Nachdem du das soooo schön erklärt hast können wir uns ja darauf
freuen dass der TO deine geniale Lösung mit Begeisterung in
Realisierung präsentiert. Ich denke das wird in Kürze passieren.

Und du kannst dich freuen dass du hast darstellen zu können dass
Arduinoquäler völlig zu Unrecht behauptet hast dass es so nicht
funktionieren kann.

von RamaLamaDingDong (Gast)


Lesenswert?

OMG schrieb:

> Und du kannst dich freuen dass du hast darstellen zu können dass
> Arduinoquäler völlig zu Unrecht behauptet hast dass es so nicht
> funktionieren kann.

Wisch Dir mal den Schaum vom Mund und miß den Blutdruck! Vor lauter Wut 
bringst Du nicht mal mehr einen verständlichen Satz zusammen.

von Mike (Gast)


Lesenswert?

Ich habe mir jetzt ein passendes Display gekauft ,, dass auf SPI setzt. 
Nur ist mir immer noch nicht klar, wieso 10k Widerstände zusätzlich 
genutzt werden ? Pegelwandler leuchtet mir ein, wenn das Display 3,3V an 
den Leitungen benötigt. Manche können sich 5V zusätzlich. Aber in fast 
jedem Tutorial sehe ich 10k Widerstände

von Wolfgang (Gast)


Lesenswert?

Mike schrieb:
> Aber in fast jedem Tutorial sehe ich 10k Widerstände

Link?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

10k verschleifen doch die SPI- oder Datensignale viel zu stark und man 
muss den Display Takt weit runtersetzen. Wenn man da 1k oder so 
einsetzt, sieht das deutlich besser aus. 1,7mA Strom wird wohl jeder 
Portpin gerne liefern.
Das grösste Problem sehe ich darin, das der kleine MC dann fast nichts 
anderes mehr machen kann.

: Bearbeitet durch User
von Michael U. (amiga)


Lesenswert?

Hallo,

alle hier gängigen Displaycontroller sind 3,3V Typen. Spannungsregler 
für die BEtriebsspannung ist drauf oder nicht. Die Methode, 
Pegelanpassung mit ein paar Längswiderständen zu machen, ist leider 
verbreitet und geht auch meist.
Lusitig finden es die Schutzdioden des Displaycontrollers vermutlich 
nicht, die müssen das ja dann zu den 3,3V ableiten. Eruegt auch oft 
rückwärts eine Spannungsanhebung hinter dem 3,3V Regler, damit wird 
alles andere dann auch über die Schutzdioden versogt und der Regler ist 
sinnlos...

SPI ist sinnvoll, schon wegen der nötigen Anzahl I/Os. MISO kann direkt 
ran, MOSI, SCLK, CS und andere Steuerleitungen bekommen bei mir einen 
PullUp 4,7k gegen 3,3V und eine kleine Schottkydiode, Anode am Display, 
Kathode am Arduino. Das läuft auch mit 10MHz SPI-Clock stabil.
Kann man auch mit den Parallelen so machen, sind eben mehr 
Widerstände/Dioden, der ILI9341 kann auch 8-Bit Mode, wird von den Lins 
auch meist benutzt, damit geht auch ein UNO/Nano wenn es unbedingt sein 
muß.

Bei den Display auch aufpassen beim Backlight, einige haben einen 
Schalttransistor dafür, einige nicht. Ohne ist ein Vorwiderstand drauf 
oder auch nicht. Der hat einen sinnvollen Wert oder auch nicht.

Ansonsten laufen die alle, egal woher, solange man den Controlller 
kennt, der da drauf ist.

Gruß aus Berlin
Michael

von Arduinoquäler (Gast)


Lesenswert?

Mike schrieb:
> Manche können sich 5V zusätzlich. Aber in fast
> jedem Tutorial sehe ich 10k Widerstände

Wir haben hier auch ein "Tutorial", nur leider ist etwas viel
Information vorhanden und es ist nicht so mundgerecht für
"Maker" bzw Arduidioten geschrieben weshalb es wohl weniger
oft gefunden und gelesen wird. Aber die Quintessenz ist dass
es nur funktioniert wenn man es richtig macht ....

Beitrag "ILI9341 langsam Verbesserungsvorschläge?"

von Arduinoquäler (Gast)


Lesenswert?

Arduinoquäler schrieb:
> Wir haben hier auch ein "Tutorial",

Insbesondere ab hier

Beitrag "Re: ILI9341 langsam Verbesserungsvorschläge?"

wird es noch etwas mehr "mundgerecht", erreicht aber nie den
Level den die eingefleischten Arduidioten von einem Tutorial
erwarten.

von Mike (Gast)


Lesenswert?

Ich habe mir für den Arduino nano den hier gekauft:

2,8 Zoll ILI9341 240x320 SPI TFT LCD Display Touch Platte SPI Serieller 
Anschluss Modul Modulplatine für Arduino from Elektronik on banggood.com
https://banggood.app.link/shvRDC8V53

Der dürfte für eine Temperaturregelung bestehend aus Temperaturfühler 
und 4 Pin Lüfter ausreichend sein.


Das andere Display werde ich dann irgendwann einmal mit einem Arduino 
2560 nutzen.

von Manfred (Gast)


Lesenswert?

Mike schrieb:
> Aber in fast jedem Tutorial sehe ich 10k Widerstände

Fast jedes "Tutorial", was G* aus dem Arduino-Umfeld findet, lässt mir 
mein Mittagessen aus dem Gesicht fallen.

Ich habe mehrere Aufbauten, wo der A*-Nano mit 3,3V-Peripherie umgehen 
muß. Da pfusche ich ganz sicher keine Widerstände in die Signalleitungen 
und verlasse mich auf Schutzdioden.

Dafür gibt es Pegelwandler, z.B. 74HCT125 und TXS0108E.

Man darf auch gerne die andere Richtung betrachten, von der 
3,3V-Peripherie zum 5V-µC. Meistens reicht der Highpegel, aber sauber 
mit anständigem Störabstand geht anders. Also wieder: Pegelwandler.

Wieso kauft man bei banggood ein Display, was total schlampig 
beschrieben ist - weil es modern ist, dort einzkaufen?

von Mike (Gast)


Lesenswert?

Die Displays bei Reichelt oder Conrad sind auch aus China. Wieso soll 
ich dann doppelt so viel bezahlen. Nicht alle Produkte bei banggood sind 
miserabel. Bei gewissen Anwendungen würde ich auch keine billig 
Komponenten verwenden. Es kommt immer darauf an, was man damit umsetzen 
möchte ...

von Stefan F. (Gast)


Lesenswert?

Mike schrieb:
> Wieso soll ich dann doppelt so viel bezahlen.

Weil sie dort ordentlich dokumentiert sind.

Weil Conrad nur von Herstellern bezieht, die Conrad für vertrauenswürdig 
hält. Da wird zum Beispiel nicht jedes Wochenende anders bestückt und 
trotzdem unter gleichem namen verkauft.

Weil Conrad die Artikel zurücknimmt, wenn du nicht zufrieden bist. 
Versuche mal, ein einzelnes Display nach Shenzhen zu schicken ohne 
mehrfach drauf zu zahlen!

> Nicht alle Produkte bei banggood sind miserabel.

Das nicht, aber es sind praktisch immer Wundertüten ohne Rückgaberecht.

Erfahrene Elektroniker können die Platinen analysieren und sich einen 
Reim daraus machen, wie man sie wohl benutzen soll. Anfänger sind damit 
oft überfordert.

von Wolfgang (Gast)


Lesenswert?

Michael U. schrieb:
> Eruegt auch oft rückwärts eine Spannungsanhebung hinter dem 3,3V Regler,
> damit wird alles andere dann auch über die Schutzdioden versogt und der
> Regler ist sinnlos...

Solange die Stromaufnahme des Dispay-Boards größer als der rückwärts 
über die Schutzdioden eingespeiste Strom ist, wird da gar keine Spannung 
angehoben und der Regler ist schon gar nicht sinnlos, sondern regelt das 
aus.

von Wolfgang (Gast)


Lesenswert?

Manfred schrieb:
> Dafür gibt es Pegelwandler, z.B. 74HCT125 und TXS0108E.

Dafür gibt es Arduinos und arduinokompatible Boards, die direkt mit 3.3V 
arbeiten. Den ganzen Zirkus mit Pegelwandlerei kann man sich dann 
sparen.

von Stefan F. (Gast)


Lesenswert?

Ich halte es für einen Fehler, dass Arduino mit 5V startete. Die 
verwendeten Chips hätte man allesamt mit 3,3V betreiben können und damit 
eine große Menge Inkompatibilität vermieden.

Diese Arduino Seuche ist schlimm. Alle paar Monate empfange ich Kritik 
für meine Bücher, ich hätte besser 5V anstatt 3,3V empfehlen sollen, 
weil 5V bei Arduino üblich seien.

von Wolfgang (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Alle paar Monate empfange ich Kritik für meine Bücher, ich hätte besser
> 5V anstatt 3,3V empfehlen sollen, weil 5V bei Arduino üblich seien.

Dann lege den Leuten den Arduino Due nahe. Der arbeitet schon immer mit 
3.3V und das, ohne Einschränkungen bei der Taktfrequenz.

von Stefan F. (Gast)


Lesenswert?

Wolfgang schrieb:
> Dann lege den Leuten den Arduino Due nahe.

Das mache ich.

Was die Taktfrequenz angeht: Wenn mir 8 MHz wirklich nicht reichen, 
sollte ich besser auf einen anderen Mikrocontroller setzen anstatt die 
Spannung zu erhöhen.

von Michael U. (amiga)


Lesenswert?

Hallo,

Wolfgang schrieb:
> Michael U. schrieb:
>> Eruegt auch oft rückwärts eine Spannungsanhebung hinter dem 3,3V Regler,
>> damit wird alles andere dann auch über die Schutzdioden versogt und der
>> Regler ist sinnlos...
>
> Solange die Stromaufnahme des Dispay-Boards größer als der rückwärts
> über die Schutzdioden eingespeiste Strom ist, wird da gar keine Spannung
> angehoben und der Regler ist schon gar nicht sinnlos, sondern regelt das
> aus.

Am Regler hängen nur DisplayController und, wenn vorhanden, der 
Touchcontroller. Schau Dir deren Stromaufnahme an und Du weißt warum das 
einigen Leuten ganz real schon passiert ist. Fällt auch meist garnicht 
auf und spielt eben. Wenn dann an den IOs 3,3V Logik hängt, die für 3,7V 
kein Verständnis hat und spinnt, bemerkt es dann mal einer.

Gruß aus Berlin
Michael

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
Noch kein Account? Hier anmelden.