LED Display: HD44780

moinsen leuz,

ich hab mich jetzt mal ein bisl mit dem Arduino beschäftigt, erste gehversuche unternommen und das Buch "Pysical Computering" gelesen.

Jetzt möchte ich gerne versuche mit dem Display unternehmen. Es sollte ja ein HD44780 Controller kompatibles Display sein.

Ich würde dieses hier gerne bestellen: reichelt.de; LCD 204B LED

http://www.reichelt.de/?;ACTION=3;LA=5;GROUP=A5211;GROUPID=3005;ARTICLE=31660;START=0;SORT=user;OFFSET=16;SID=15AZyF@KwQAQ8AAGXNyts761ee6498fb89621c34c1836d6f312be

Ich wüsste jetzt gerne, ob ich dieses verwenden kann und ob ich noch zusätzliche bauteile wie evt. stecker, potis oder widerstände brauche um das display anzuschließen und zum laufen zu bringen.

gruß und dank im vorraus

da Hool

Hallo da Hool
Zuerst einmal das Display ist kein LED (Light Emitting Diode) sondern ein LCD (Liguid Cristal Display)-Display.
Zum betreiben brauchst Du zusätzlich ein Potenziometer von ca 10kOhm um den Kontrast einzustellen und einen Vorwiderstand für die Hintergrundbeleuchtung (4,2V 270mA) von 3,3Ohm (müßte auch ohne Hintergrundbeläuchtung gut lesbar sein.
Datenblatt findest Du bei Reichelt.
Zum verbinden auf eine Platine oder eine Steckplatine brauchst Du Pfostenstecker und/oder Kabel (Flachbandkabel zB aus einem alten PC)
Ansteuerung über die Liquidcristal library.

Grüße Uwe

Grüss dich, du hattest mir eine PM geschrieben.

Ein 2 x 16 gibts bei mir für nen Zehner in Blauer Hintergrundausführung mit weisser Schrift, originalverpackt, inkl passendem Poti für den Kontrast.

Grüsse

apogee

Pollin.de hat auch billigere Displays aber kontrolliere ob der Controller HD44780-kompatibel ist.
Grüße Uwe

moinsen,

also ich brauch Flachbandkabel, ok, einen 10kohm Poti und einen 3,3ohm Wid. (ein einfacher metalloxyd wid. reicht aus, oder? )für die Hintergrundbeleuchtung. die Pfostenstecker sind die, die ich in die Buchsen auf der Arduinoplatine einstecken kann oder? In meinem Anfängerset wurden davon schon welche mitgeliefert.

Aber generell kann ich das display verwenden? Wieviele Digi I/O Ports wird das denn belegen? Parallel dazu läuft das Ethernet-Shield welches die Ports 10-13 braucht.

@ apogee: Danke für dein Angebot, ein 4x20 passt mir nach reichlicher überlegung besser.

Wo find ich denn wohl ein anschlussschema?
gruß da Hool

hust apogee, du hast ne PM :slight_smile:

/* Sry falls ich den Thread gestört habe ::slight_smile: */

MFG, Robdeflop®

http://www.ladyada.net/learn/arduino/lcd.html
LiquidCrystal - Arduino Reference Library
Arduino Playground - LCD4BitLibrary andere Library
http://www.arduino.cc/en/Tutorial/LiquidCrystal Schritt für Schritt.
Arduino Adventures: Controlling an LCD Display with a Shift Register mit einem schieberegister und nur 3 Leitungen

Je nach Beschaltung und Ansteuerung brauchst Du:
11, 7, oder 3 Leitungen. Welche Du verwenden willst ist (fast) frei wählbar.
Grüße Uwe

moin,

danke für die tipps.

das schieberegister ist mir zu aufwändig, aber die 7 line version gefällt mir. werd das erstmal wie in dem ersten link beschrieben aufbauen und dann mal ein wenig schreiben.

es ist doch sicherlich möglich über einen "analogRead" die Analogen eingänge auszulesen oder?

Noch eine Frage abseits dieses Themas.Ich habe das Ethernetshield und lasse mir die werte 0-1023 auf dem Webserver anzeigen. kann ich diese werte evt umrechnen lassen, mit zb. einem bestimmten faktor?

gruß und dank im vorraus

da Hool

Noch eine Frage abseits dieses Themas.Ich habe das Ethernetshield und lasse mir die werte 0-1023 auf dem Webserver anzeigen. kann ich diese werte evt umrechnen lassen, mit zb. einem bestimmten faktor?

Klar, nachdem du sie liest kannst du sie sofort verabeiten.

wert1 = analogRead(pin);
wert1 = wert1 / Faktor;

es ist doch sicherlich möglich über einen "analogRead" die Analogen eingänge auszulesen oder?

ist die richtige Antwort: mit der Funktion analogRead() kann man die analogen Eingänge einlesen.
Grüße Uwe

hi

ok, dann leg ich mal los. leider gibt es die displays momentan nicht bei reichelt. muss wohl warten... :frowning:

sorry für den doppelpost.

ich schreib gerade, oder versuche es zumindestens.

wenn ich rechnen will, wo muss ich diese rechnung reinschreiben?

Weitere Frage: Gibt es einen code für den Webserer, dass er sich automatisch neu läd wenn sich die werte verändern, will nicht immer auf aktualisieren klicken

Hi

Inwiefern meinst du rechnen?

Rechnen kannst du so wie du willst.

z.B. nen variable erstellen, dann mit den normalen zeichen "*", "/", "+", "-" rechnen.

int wert;
wert -= 100;

wert mit 100 subtrahieren

int wert = wert2 / 5;

Waren jez 2 beispiele^^ Meinst du das?

MFG, Robdeflop®

hi,

bezogen auf meine vorherige frage. ich messe am analogen einganr nr 6 0-5V, der arduino gibt mir dieses spannungssignal in 0-1023 schritten wieder, ich möchte aber wieder das 0-5V signal, quasi angezeigt bekommen.

wo muss ich was reinschreiben? bin gerade total banane

Wenn man 5 Volt / 1024 Schritte rechnet, dann ist 1 Schritt 0,0048828125 Volt

Also wäre bei einem Wandlerwert von 512 die Spannung:

512 * 0,0048828125 = 2,5 Volt

genau,

nur wie und vorallem wo schreibe ich das hin?

Hi

Dahin wo du es brauchst, wie, habe ich eben beispiele gemacht^^ Eigendlich ganz einfach. Wenn du mir jetzt auch noch sagst was genau du rechnen willst, kann ich dir schon eher helfen xD

MFG, Robdeflop®

hi, sorry, war gestern schon ziemlich fertig.

Also, folgendes:

Ich möchte die sechs (gerne auch erstmasl nur einen) Analogen Eingänge messen und auf dem Webserver darstellen.

Das habe ich auch soweit schon geschafft.

Jetzt stehe ich vor dem Problem, das er mir diese Werte, dank 8 Bit AD Wandler ja in 0-1023 Schritten darstellt.

Damirt kann ich aber jetzt und auch später nichts fangen.

Ich würde diese werte später gerne schnett teilen können, um so zB. den richtig anliegenden spannungswert einzusehen ( also durch 0,0048755... teilen) oder diesen wert später weiter umzurechnen.

Ich nutze momentan das Example, dass von der Arduinosoftware mitgeliefert wird, um den webserver zu betreiben.

Ich hoffe, das ich micht jetzt verständlicher ausgedrückt habe, als gestern abend :wink:

gruß da Hool

hi, sorry, war gestern schon ziemlich fertig.

Kein Sorge deshalb, man hat dich schon verstehen können. Die Antwort ist nach wie vor gültig.
Oder erwartest du etwa allen Ernstes fertigen Code? Du könntest nun die Werte umrechnen, wie gesagt durch einfache mathematische Grundrechenarten. Eine andere Möglichkeit besteht darin, die Werte zu mappen: map() heißt das Schlüsselwort.

hi,

nene, alles gut. ich habs nur nicht geschaft, den code zuendezuschreiben. ich hoff, ich schaffs am we.

kann ich den denn dann hier posten, wenns immer noch nicht funzn sollte?