|
 |
 |
 |
 | Die Ansteuerung des LC-Displays HD44780 mit einem Arduino      |
|
Highli
Mitglied

Dabei seit: 23.12.2011
Beiträge: 24
Wohnort: Brühl
 |
|
Das LCD vom Typ HD44780
Liebe Freunde, ich möchte euch in diesem Arduino-AddOn die Programmierung eines LC-Displays zeigen. Bei meinem ersten Besuch beim Computerclub² hatte ich das Vergnügen, das Arduino-Board und eine Schaltung zur Ansteuerung eines LC-Displays vorzustellen. Da die Zeit für eine derartige Präsentation leider sehr begrenzt ist, möchte ich an dieser Stelle noch weitere Informationen liefern, um euch – falls nicht schon geschehen - gegebenenfalls noch mehr für die Materie zu begeistern. So ein Arduino-Board ist ja schon eine feine Sache und Du kannst eine Menge unterschiedlichster Sensoren an die Eingänge des Mikrocontrollers anschließen. Doch wenn es z.B. darum geht, einen Status eines digitalen Ausgangs anzuzeigen, bleibt uns lediglich eine Leuchtdiode, um das zu realisieren. An oder Aus bzw. LOW- oder HIGH-Pegel! Das sind die einzigen Möglichkeiten, die Dir bei dieser Variante zur Verfügung stehen. Möchtest Du jedoch ein etwas anspruchsvolleres Design in Form einer alphanumerischen Anzeige, dann bietet sich ein LC-Display an. Es handelt sich dabei um ein Anzeigemodul, das auf der Basis einer Flüssigkristallanzeige (Liquid Crystal Display) arbeitet. Hört sich schon recht merkwürdig an, nicht wahr? Etwas Flüssiges wird zur Anzeige von irgendwelchen Informationen genutzt. Doch die Sache ist schnell erklärt, wenn sich dahinter auch etwas viel komplexeres verbirgt. Die in der Anzeige enthaltenen Flüssigkeitskristalle können durch eine von außen angelegte Spannung in ihrer Ausrichtung beeinflusst werden. So können sie Einfluss auf die Polarisationsrichtung des Lichtes nehmen. Ich habe für unser Beispiel ein LCD-Modul vom Typ HD44780 von Hitachi verwendet, was ein sehr verbreitetes Modul ist. Es ist aus einer 5x8 Punkt-Matrix aufgebaut

wobei jeder einzelne Punkt durch den auf dem Modul befindlichen Treiberchip angesteuert wird. Dieser Treiber nimmt uns eine Menge Arbeit ab, denn wir müssen uns nicht darum kümmern, bei welchem Buchstaben oder welcher Ziffer, die wir anzeigen lassen wollen, welche Punkte der Matrix anzusteuern sind. Diese Aufgabe übernimmt der besagte Treiberchip.
Die AD-Wandlerschaltung
Auf dem folgenden Foto siehst Du einen Schaltungsaufbau auf einem Steckbrett – auch Breadboard genannt. Die beiden Hauptakteure sind natürlich
- Das Arduino Mikrocontrollerboard
- Das LCD-Modul vom Typ HD44780
Diese Schaltung, die ich hier aufgebaut habe, erfüllt einen ganz praktikablen Zweck. Es handelt sich um eine AD-Wandler Schaltung.

Wie Du schön erkennst, wird auf dem LC-Display eine interessante Information angezeigt. In der ersten Zeile steht eine allgemeine statische Information, die sich nicht ändert und Aufschluss darüber gibt, wo sich die Schaltung zum Zeitpunkt der Aufnahme befand. Hey, wir waren beim Computerclub². Soweit so gut! In der zweiten Zeile erscheint jetzt etwas noch Interessanteres. Dort wird ein Spannungswert angezeigt, der an einem analogen Eingang des Arduino-Boards anliegt. Dieser Wert kann über das angeschlossene Potentiometer verändert werden. Im Moment beträgt dieser Wert 3,48 Volt.
Ich denke, dass es jetzt höchste Zeit wird, Dir den Schaltplan zu zeigen.

Wenn Du noch nie einen Schaltplan gesehen hast, so lasse Dich nicht verunsichern. Das ist alles halb so wild! Du erkennst schon alleine anhand der Größe der im Schaltplan verwendeten Symbole, welche die Hauptkomponenten sind. Links oben der Arduino Mikrocontroller und rechts unten das LCD-Modul. Damit beide Bauteile miteinander kommunizieren können, sind – wer hätte es gedacht – mehrere Verbindungsleitungen erforderlich, die hier in grün dargestellt sind.
Der analoge Eingang
Wenden wir uns zunächst einmal der Messwertaufnahme zu. Der Arduino hat 6 analoge Eingänge (A0 bis A5), von denen wir in dieser Schaltung lediglich einen nutzen.

Das Potentiometer stellt einen variablen Spannungsteiler dar, dessen beide festen äußeren Anschlüsse jeweils mit +5V bzw. Masse verbunden sind. Der mittlere Anschluss ist variabel und wandert je nach Einstellung mal Richtung +5V, mal Richtung Masse. Auf diese Weise kann ein variabler Spannungswert zwischen +5V und Masse dem analogen Eingang A0 zugeführt werden.

Hey, kein Problem! Als ich das zum ersten Mal gehört habe, musste ich auch scharf nachdenken. Was ist überhaupt ein Spannungsteiler? Nun ja, er teilt die anliegende Spannung in einem bestimmten Verhältnis auf und wird im einfachsten Fall aus 2 Widerständen aufgebaut.

Auf der linken Seite liegt die Versorgungsspannung U von +5V an und auf der rechten Seite befindet sich quasi der Ausgang mit der Ausgangsspannung U2, die über dem Widerstand R2 abgegriffen wird. Diese beiden Widerstände teilen die Versorgungsspannung auf. Ein Teil fällt am Widerstand R1 und ein anderer an R2 ab. Wir können dazu eine Formel aufstellen, die die Verhältnisse darstellt.

Sieht zwar ganz nett aus, doch wie kommt sie zustande? Ganz einfach! Es handelt sich um eine Verhältnisgleichung. Die Versorgungsspannung U fällt über den beiden Widerständer R1 und R2 ab, wobei die Ausgangsspannung U2 lediglich über dem Widerstand R2 angegriffen wird. Beide Seiten der Gleichung stehen im gleichen Verhältnis zueinander.
Um jetzt die Ausgangsspannung U2 genau berechnen zu können, muss diese Gleichung einfach nach U2 umgestellt werden.

War gar nicht so schwer, oder!?
Jetzt kommt das Potentiometer ins Spiel. Wie ich schon erwähnte, kannst Du dieses Bauteil als einen variablen Spannungsteiler ansehen. Schau her:

Der Abgriff der Ausgangsspannung U2 liegt an Pin 2 des Potentiometers und dieser Pin wandert je nach Einstellung rauf oder runter und teilt den Widerstand in unterschiedliche Größen. Die nächsten beiden Bilder machen es sicherlich noch ein wenig klarer:

Das linke Schaltbild zeigt eine Potentiometereinstellung, wo der Abgriff an Pin 2 weit oben ist. R1 ist also im Verhältnis zu R2 viel kleiner. Beim rechten Bild ist es genau umgekehrt. Der Abgriff ist nach unten gewandert und R1 ist viel größer als R2.
Ein einzelner analoger Eingang verkraftet Spannungswerte im Bereich von 0V bis +5V, der unter keinen Umständen überschritten werden darf. Andernfalls wird der Mikrocontroller zerstört!
Ein analoges Signal hat in Wirklichkeit unendlich viele Abstufungen, die dem Mikrocontroller zugeführt werden. Dieser ist jedoch aus bautechnischen Gründen nicht in der Lage, jedes kleinste µV zu erkennen. Ein einzelner analoger Eingang hat eine Auflösung von 10 Bit. Das bedeutet, dass er die maximal zulässige Spannung von +5V in 10 Bit = 1.024 gleiche Häppchen teilt. Daraus ergibt sich die maximale Empfindlichkeit von

Das sind also gerundet 4,9 mV.
Der Schaltplan unter die Lupe genommen
Ich denke, dass Du jetzt soweit mit Hintergrundwissen versorgt bist, dass wir uns dem Schaltplan im Besonderen widmen können. Du hast ihn zu Beginn zwar schon einmal gesehen, doch jetzt wollen wir uns einigen Details widmen.

Das LCD-Modul besitzt unterschiedliche Anschlussleitungen, wobei wir diese in zwei Kategorien unterteilen können.
- Steuerleitungen
...RS (Register-Select)
...R/W (Read/Write)
...E (Enable)
- Datenleitungen
...D0 bis D7

Die Steuerleitungen an den Pins 4, 5 und 6 regeln quasi den Transfer der Informationen auf dem LCD-Modul. Schauen wir uns zunächst die RS-Leitung an. Das hier vorgestellte LCD-Modul kann Informationen in zwei Zeilen darstellen. Es ist zudem möglich, jede einzelne Stelle anzusprechen, um gezielt ein oder mehrere Zeichen zu platzieren. Wenn wir also Informationen an das Modul schicken, muss demnach unterschieden werden, ob es sich um Steuerinformationen oder Anzeigeinformationen handelt.
RS-Leitung
Das wird durch die entsprechende Ansteuerung der RS-Leitung geregelt.
• 0: Befehl bzw. Steuerinformation
• 1: Daten bzw. Anzeigeinformation
R/W-Leitung
Wir können nicht nur Informationen an das Modul zu Anzeige schicken, sondern auch lesen. Was aber für uns keine weitere Bedeutung hat, denn wir möchten ausschließlich Daten verschicken. Aus diesem Grund ist die R/W-Leitung fest mit Masse verbunden.
• 0: Schreiben
• 1: Lesen
Enable-Leitung
Bei der Enable-Leitung handelt es sich um eine Taktleitung, die für die Synchronisation sämtlicher Leitungen zuständig ist.
Kommen wir jetzt zu den Datenleitungen. Vielleicht ist Dir im Schaltplan aufgefallen, dass lediglich die Anschlüsse D4 bis D7 verwendet wurden. Da es sich um die Datenleitungen handelt und wir nur die Hälfte der zur Verfügung stehenden Pins nutzen, bedeutet das jedoch nicht, dass uns etwas von der Funktionalität verloren geht. Das Display kann sowohl im
• 8-Bit, als auch im
• 4-Bit
Modus betrieben werden. Da in fast allen Schaltungen der 4-Bit-Modus verwendet wird, werden wir das auch hier tun. Um einen Bytewert auf eine 8-Bit Leitung zu schicken, ist eine einzige Operation von Nöten.
8-Bit-Modus

Um die gezeigte Bitkombination an das LC-Display zu schicken, ist eine einzige Operation notwendig.
4-Bit-Modus

Im 1. Schritt werden die obersten 4 Bits, im 2. Schritt, die untersten 4 Bits übertragen. Das bedeutet zwar ein wenig Mehraufwand, was sich sicherlich auf die Ausführungsgeschwindigkeit auswirkt, doch immer noch so schnell passiert, dass wir den Unterschied zum 8-Bit Modus nicht wahrnehmen würden.
Wie aber können wir jetzt etwas auf das LC-Display schicken, um etwas zu sehen? Es hängt sicherlich in erster Linie davon ab, was wir auf die Datenleitungen (D4 bis D7) schicken, doch auch die Steuerleitungen R/W (ist auf 0: Masse gelegt, weil wir nur auf das Display schreiben), R/S und Enabled spielen sicherlich ebenfalls eine entscheidende Rolle. Das Zusammenspiel aller Leitungen macht in der Summe das aus, wie sich das Display verhält. Wenn Du Deinen Mikrocontroller programmierst, dann bedienst Du Dich einem vordefinierten Befehlssatz, damit das ausgeführt wird, was Du beabsichtigt hast. Ähnlich verhält es sich mit dem LC-Display. Alleine das LC-Display, was ja genau genommen nur eine Flüssigkeitskristallanzeige ist, besitzt ja keine Logik. Zu Ansteuerung wird der schon erwähnte Treiber benötigt. Dieser Baustein enthält die Logik bzw. einen Befehlssatz, um die Anzeige zu steuern.
Die Programmierung
Jetzt hast Du so viel über die technischen Hintergründe erfahren, dass es wirklich Zeit wird, sich mit der Programmierung auseinander zu setzen. Im Arduino-Umfeld werden alle Programme Sketche genannt. Hier also unser Sketch, der folgende Aufgabe erfüllt:
• Kontinuierliches Einlesen des Wertes am analogen Eingang A0
• Umrechnen des Wertes ( 0 bis 1.023) in einen Spannungswert (0V bis +5V)
• Kontinuierliche Anzeige des errechneten Spannungswertes

Ein Sketch wird immer in 3 Blöcke unterteilt, die folgende Aufgaben haben:
• Definitionsbereich
...Mögliches Einbinden von Bibliotheken
...Definition von Variablen bzw. symbolischen Konstanten
• Initialisierungsbereich
...Einmaliger Aufruf der setup-Funktion (z.B. Initialisierung von Variablen)
• Arbeitsbereich
...Fortwährender Aufruf der loop-Funktion (z.B. Abfrage von Sensorwerten und Ausgabe an die verschiedenen Ports)
Hier eine kleine Grafik, die den Ablauf bzw. die Sketch-Struktur wiedergibt.


Ok, hier ist der erste Block, der für die Deklarierung und Initialisierung verantwortlich ist.

In Zeile 2 binden wir über die #include-Anweisung eine Bibliothek in unseren Sketch-Code ein. Warum machen wir das? Die Antwort ist ganz einfach! Die komplette Ansteuerung des LCD-Moduls mit den Steuer- bzw. Datenleitungen ist eine komplexe Angelegenheit und Bedarf fundierter Kenntnisse des Datenblattes des Moduls HD44780. Ein findiger Programmierer hat sich dieser Sache angenommen und einen Sketch-Code programmiert, der diese Aufgabe übernimmt. Das Einzige, was für uns jetzt von Interesse ist, ist die Angabe, welche Pins des LCD-Moduls an welchen Pins des Arduino angeschlossen werden. Der Programmierer der Bibliothek, die auch Library genannt wird, hat quasi eine Schnittstelle geschaffen, der diese Informationen übergeben werden muss. Alles Weitere wird durch die Library übernommen. Wie sie funktioniert, hat uns erst einmal nicht zu interessieren. Die Definition der einzelnen Pins und ihre Belegung erfolgt dann in den Zeilen 4 bis 12.
In Zeile 13 erfolgt die besagte Übergabe der zuvor definierten Pin-Informationen an die Schnittstelle. Wie sieht diese Schnittstelle aber aus? Nun, es handelt sich um die Instanziierung eines sogenannten Objektes. Stelle Dir dieses Objekt als einen besonderen Datentyp vor. Wenn Du Dich mit der Programmierung im Allgemeinen schon einmal auseinander gesetzt hast, sind Dir Datentypen wie int, char, float - um nur einige zu nennen - sicherlich schon einmal über den Weg gelaufen. Wurden Variablen damit deklariert, können sie Werte speichern, die später im Programmablauf genutzt werden.
Bei Objekten ist die Sache viel komplexer und es würde den Rahmen sprengen, alles zu erklären. Ich verweise an dieser Stelle auf mein Arduino-Buch, in der die objektorientierte Programmierung für den Arduino bzw. die Erstellung eigener Libraries detailliert beschrieben wird.
Jedenfalls wird mit in der Zeile 13

eine Variable lcd vom Datentyp LiquidCrystal initialisiert. Das ist möglich, weil wir in Zeile 2 die entsprechende Library in unseren Sketch-Code mit eingebunden haben. Wir übergeben bei der Instanziierung, wie dieser Vorgang genannt wird, die notwendigen Informationen über die Pinbelegung, damit die Library das LCD-Modul korrekt ansteuern kann. Das ist schon fast alles.
Kommen wir zum zweiten Block.

Dieser wird – wie schon erwähnt – einmalig ausgeführt und wird durch die setup-Funktion repräsentiert. An dieser Stelle teilen wir unserem lcd-Objekt mit, wie viele Spalten und Zeilen unser LCD-Modul denn hat (Zeile 17). Es existieren unterschiedliche Module mit z.B. 4 Zeilen und abweichender Spaltenanzahl. Die Library ist derart programmiert, dass sie auf diese Unterschiede entsprechend reagieren kann. Das kleine Wörtchen begin(...) stellt in der objektorientierten Programmierung eine sogenannte Methode dar. Das hört sich schon recht wichtig und kompliziert an, ist aber nichts anderes als eine Funktion, die im objektorientierten Umfeld eben diesen Namen bekommen hat. Spätestens an dieser Stelle wirst Du sicherlich bemerkt haben, dass Objekte in der Programmierung etwas ganz besonderes sind. Sie können nicht nur Werte speichern, sondern legen auch ein Verhalten an den Tag, das durch eben diese Methoden beeinflusst werden kann. Dieses Verhalten wird in Zeile 18 ganz deutlich. Ich teile dem lcd-Objekt über die clear-Methode mit, es möchte doch bitte den Inhalt im LCD-Modul löschen. In der Zeile 19 schreibe ich mit der print-Methode etwas in das LC-Display, was nach dem Löschen unmittelbar in der ersten LCD-Zeile erfolgt.
Jetzt der dritte Block:

Hier erfolgen die ständige Abarbeitung, also das Einlesen des analogen Wertes, die schon beschriebene Umrechnung und die Anzeige des Spannungswertes.
Über die setCursor-Methode in Zeile 24 wird der Cursor, also die Stelle, wo die nächste print-Ausgabe erfolgen soll, positioniert.
In Zeile 25 erfolgt das Abfragen des analogen Eingangs über die analogRead-Funktion. Dieser Wert wird der Variablen analogerWert des Datentyps int zugewiesen. In der darauffolgenden Zeile 26 passiert die Umrechnung des Wertes, der ja im Bereich von 0 bis 1.023 sein kann, in einen entsprechenden Spannungswert, in dem dieser mit 4,9 mV multipliziert wird. In den Zeilen 27 bis 29 wird dieser Wert zusammen mit dem Formelzeichen U und dem Zusatz Volt zur Anzeige gebracht.
Auf diese Weise haben wir einen schönen AD-Wandler mit dem Arduino-Board + LCD-Modul gebaut bzw. programmiert. Es gibt weitere interessante LCD-Module, wie z.B. das Folgende.

Das Video auf YouTube dazu
Hier sind die Möglichkeiten nahezu unbegrenzt und werden nur durch Deine Kreativität beschränkt.
Viel Spaß damit
Erik Bartmann
Meine Homepage
PS:
Auf meiner Homepage findet Ihr im Downloadbereich auch ein Dokument, was sich mit der Erstellung einer Arduino-Library
befasst, um genau das hier beschriebene LCD-Modul anzusteuern. Ihr lernt u.a. einiges über die objektorientierte Programmierung in C++,
die für die Programmierung von Arduino-Libraries notwendig ist. Falls Ihr Fragen habt, schreibt einfach eine Mail an Meine Arduino Mailadresse
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Highli: 12.02.2012 10:51.
|
|
12.02.2012 10:40 |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Wolfgang Rudolph
Administrator

Dabei seit: 25.03.2007
Beiträge: 4.001
Wohnort: Maxsain Ww.
 |
|
Hallo Erik,
ein wirklich toller Beitrag!
Damit werden sicherlich die Wünsche vieler Mitglieder erfüllt, die schon lange darauf warten, Hilfe beim Einstig in diese faszinierende Technologie zu bekommen. Gerade in den letzten Monaten haben sich die Nachfragen nach einer Art "Lehrgang" gemehrt und es scheint mir so, als ob Du hier eine große Lücke füllen könntest.
Vielen Dank dafür!
Bitte stelle doch noch einen Link zu Deinem neuen Buch hier ein damit die Leute nicht lange suchen müssen um an weitere Infos zu kommen.
Viele Grüße
Wolfgang
|
|
12.02.2012 10:54 |
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
rolfdegen
Mitglied

Dabei seit: 11.07.2008
Beiträge: 1.107
Wohnort: Wuppertal
 |
|
Hallo Erik
Kann mich dem Wolfgang nur anschließen. Schöner Beitrag für Einsteiger in die Mikrocontrolleranwendung und die Arduino-Technik. Das bereichert auf jeden Fall das CC2-Forum und macht es noch einen Schritt interessanter.
Gruß Rolf
|
|
12.02.2012 12:56 |
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Peter D
Mitglied
Dabei seit: 10.05.2008
Beiträge: 269
Wohnort: Middle Franconia
 |
|
Bei meiner ersten Bastelei mit meinem Arduino-Board habe ich ein OLED-Display vom Typ EA W204-XLG angeschlossen.
Von Vorteil ist, dass kein Kontrast-Poti benötigt wird.
Interessant ist auch der Temperaturbereich. Dieses Display soll von -40°C bis 80°C funktionieren.
Allerdings habe ich den Verdacht, dass mein Display einen Defekt hat. Nach einem Reset erscheinen
häufig wirre Zeichen (nicht nur in Verwendung mit Arduino).
Gruß,
Peter
|
|
16.02.2012 02:14 |
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
franz
Mitglied
Dabei seit: 11.06.2008
Beiträge: 621
Wohnort: Ruhrgebiet,Hohenlohe
 |
|
Hallo,
ich hatte mal gelesen, OLED Display sind gegen das Abschalten der Displays im laufenden Betrieb empfindlich
Es sollte also vor dem Abschalten der Spannung immer der "Display off" Befehl ausgeführt werden. könnte vielleicht ein Grund für die Fehler sein?
|
|
16.02.2012 11:36 |
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Peter D
Mitglied
Dabei seit: 10.05.2008
Beiträge: 269
Wohnort: Middle Franconia
 |
|
Hallo Erik!
| Zitat: |
Original von Highli
Leider kostet es so um die 30€, wenn ich richtig informiert bin.
|
Ich hatte es im November letzten Jahres bei Reichelt gekauft und hatte dafür
'tief in die Tasche greifen müssen': 47,95€
Möglicherweise gibt es das irgendwo günstiger - ich habe nicht nachgesehen.
| Zitat: |
Das mit dem Reset-Problem und den wirren Zeichen [..]
|
Ich denke, ich habe eine Lösung gefunden:
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
|
#include <LiquidCrystal.h>
#define RS 12 // Register Select
#define E 11 // Enable
#define D4 5 // Datenleitung 4
#define D5 4 // Datenleitung 5
#define D6 3 // Datenleitung 6
#define D7 2 // Datenleitung 7
#define COLS 20 // Anzahl der Spalten
#define ROWS 4 // Anzahl der Zeilen
LiquidCrystal lcd(RS, E, D4, D5, D6, D7); // Objekt instanziieren
void setup()
{
lcd.begin(COLS, ROWS); // Count of cols and rows
lcd.noDisplay(); // Turn off the display
delay(100); // Wait a moment
lcd.display(); // Turn on the display
}
void loop()
{
lcd.clear();
lcd.setCursor(0, 0); // In die 1. Zeile wechseln
lcd.print("0: OLED Display"); // Ausgabe des Textes
lcd.setCursor(0, 1); // In die 2. Zeile wechseln
lcd.print("1: EA W204-XLG"); // Ausgabe des Textes
lcd.setCursor(0, 2); // In die 3. Zeile wechseln
lcd.print("2: Angesteuert von"); // Ausgabe des Textes
lcd.setCursor(0, 3); // In die 4. Zeile wechseln
lcd.print("3: einem Arduino UNO");// Ausgabe des Textes
delay(2000); // Wait two seconds
} |
|
Auf diese Art funktioniert es - auch nach einem Reset.
| Zitat: |
Verwendest Du die Arduino-LCD Library?
|
Ja, verwende ich - unter Windows 7.
| Zitat: |
Mit welchem anderen Mikrocontroller hast Du es noch probiert?
|
ATMEGA88 - aber das ist ja fast der Gleiche wie der 328er.
| Zitat: |
Betreibst Du das Display im 4-Bit oder 8-Bit-Modus?
|
Ich verwende es im 4-Bit-Modus.
Grüße,
Peter
P. S.: Das von Dir geschriebene Buch ist IMO echt toll
|
|
17.02.2012 01:39 |
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Peter D
Mitglied
Dabei seit: 10.05.2008
Beiträge: 269
Wohnort: Middle Franconia
 |
|
Hallo franz!
| Zitat: |
Original von franz
Es sollte also vor dem Abschalten der Spannung immer der "Display off" Befehl ausgeführt werden. |
Wenn ich den Stromstecker von der Platine ziehe ... hmm?
Gruß,
Peter
|
|
17.02.2012 02:14 |
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
franz
Mitglied
Dabei seit: 11.06.2008
Beiträge: 621
Wohnort: Ruhrgebiet,Hohenlohe
 |
|
| Zitat: |
Original von Peter D
| Zitat: |
Original von franz
Es sollte also vor dem Abschalten der Spannung immer der "Display off" Befehl ausgeführt werden. |
Wenn ich den Stromstecker von der Platine ziehe ... hmm?
|
eben nicht !
steht in diversen Datenblättern von OLED-Displays zB. hier:
Seite. 14
http://www.adafruit.com/datasheets/UG-2864HSWEG01.pdf
im Normalfall wird das Gerät ja auch nicht durch ziehen eines Steckers abgeschaltet , sondern über den Schaltregler, ein MosFET o.ä. in der Stromversorgung
da kannst Du vorher auch noch das Display off - Kommando abschicken
|
|
17.02.2012 10:08 |
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
oliverbauer
Mitglied
Dabei seit: 11.09.2011
Beiträge: 55
 |
|
Hallo Erik,
jetzt bin ich aber mal rasend neugierig auf die kommende CC2-Sendung! Wirst Du in Zukunft öfter auftreten? Dein Buch über Arduino habe ich verschlungen. Da habe ich so viele neue Sachen gelernt. Danke!
Und natürlich danke an die Wolfgangs und den Heinz, die uns Fans der Technik immer wieder Neues und Interessantes zeigen.
|
|
17.02.2012 22:38 |
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
perlian
Fördermitglied

Dabei seit: 04.05.2010
Beiträge: 432
Wohnort: Essen
 |
|
Hallo,
Danke Rolfdegen und Highli für die Tipps.
Wenn man in die Shops geht ist man erstmal von der Vielzahl der Typen erschlagen.
Was mit wem kompatibel ist erschliesst sich leider nicht.
Aber erstmal muss ich meine Grundausstattung mal wieder vervollkommnen wie der Blick in meine Sortierkästen verriet
20 Jahre sind daran nicht spürlos vorbei gegangen.
Lochrasterplatinen und ein vernünftiges Breadboard sowie diverse Kleinteile usw.
Auf jeden Fall finde ich es super das mal wieder ein interessantes Praxisprojekt Einzug in den CC2 gehalten hat.
Ich hoffe auch das Erik Bartmann in Zukunft ein regelmässiger Gast in den Sendungen sein wird
|
|
29.02.2012 20:07 |
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Peter D
Mitglied
Dabei seit: 10.05.2008
Beiträge: 269
Wohnort: Middle Franconia
 |
|
| Zitat: |
Original von perlian
Was mit wem kompatibel ist erschliesst sich leider nicht.
|
Hallo perlian,
schau doch mal nach HD44780-Kompatibilität (sind für Arduino geeignet).
Das soll mittlerweile so eine Art Standard sein.
Hier ein Beitrag dazu in der Wikipedia.
Gruß,
Peter
|
|
29.02.2012 21:56 |
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
perlian
Fördermitglied

Dabei seit: 04.05.2010
Beiträge: 432
Wohnort: Essen
 |
|
Danke Peter
Interessanter Artikel
Ja so ist das... kaum beschäftigt man sich 20 Jahre lang nicht mit dem Zeug schon ist man raus aus dem Thema
|
|
29.02.2012 22:04 |
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
rolfdegen
Mitglied

Dabei seit: 11.07.2008
Beiträge: 1.107
Wohnort: Wuppertal
 |
|
Hallo perlian
Der Trend geht mehr zu den günstigen LCD-Grafikdisplay mit mit Touch Panel. Ich werde in der nächsten Woche in meinem Projekt "AVR-Synthesizer" hier im CC2-Forum ein LCD-Grafikdisplay vorstellen und zeigen wie es angeschlossen und programmiert wird.
Gruß Rolf
|
|
29.02.2012 22:30 |
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Peter D
Mitglied
Dabei seit: 10.05.2008
Beiträge: 269
Wohnort: Middle Franconia
 |
|
Hallo Rolf,
ich könnte mir vorstellen, dass ein 'ASCII-Display' beim Einstieg in die Microcontroller-Technik
einfacher zu handhaben ist - auch wenn der Trend zum Graphischen gehen sollte.
Allerdings habe ich selbst noch kein Graphik-Display verwendet.
Ich bin gespannt auf Dein Posting
Gruß, Peter
|
|
29.02.2012 22:47 |
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
|
Impressum - Datenschutzerklärung
|
|  |