PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD für Asuro



Danjo00
30.01.2007, 09:25
Hallo

Ich habe mir vorgenommen das LCD zu verwenden jetzt ist die Frage muss man unbedingt das AVR-Butterfly board nehmen oder kann es schon etwas Moderner sein mit fabe z.b soetwas http://www.shop.display3000.com/ ????

Die nächste frage gibt es ein programm wo man soetwas simulieren kann obs funktioniert?

MFG Danjo

m.a.r.v.i.n
30.01.2007, 11:03
Hi Danjo,

das AVR Butterfly Board würde ich nicht nehmen. Dort hat man nur 1x6 Zeichen und ein paar Sondersymbole als Anzeige. Der Joystick und das Menüsystem sind zwar eine feine Sache, mehr aber auch nicht.

Ein LCD Modul mit I2C Ansteuerung wäre optimal. Ob der Speicherplatz reicht um ein Grafik Modul anzusteuern, kann ich nicht sagen. Ein einfaches Textmodul geht bestimmt.


Die nächste frage gibt es ein programm wo man soetwas simulieren kann obs funktioniert?

Das hängt vom LCD Hersteller ab, ob der eine Simulation für sein Display mitliefert. Ansonsten kann man Text Displays mit einem PlugIn für AVRStudio simulieren.

damaltor
30.01.2007, 11:56
ich vermute allerdings mal, dass die rechenleistung des asuro für ein vielfarbiges lcd doch etwas zu schlapp ist... allerding gibts auch feine schwarzweiss-grafik-lcds die sind schwierig genug. oder eben ein (größeres) textdisplay, das geht mit sicherheit.

Danjo00
31.01.2007, 18:36
Hallo
Zuerst mal Danke für die antworten.
@ m.a.r.v.i.n gibt es ein simulator für den asuro?

Es war doch mal nen thema wo welsche ein Atmega 125 oder so rein machen wollten oder? klappt das nicht?


Danjo

damaltor
31.01.2007, 18:49
also möglich wäre beinahe jeder atmega, die frage ist nur nach dem anschluss. wenn ein prozessor mehr pins hat, dann kann man einfach die meisten pins da anschliessen, wo sie auch beim normalen prozessor sind. dann wären einige neue pins frei. probleme wären dann:
- der bootloader fehlt, eine einfache programmierung über die ir-schnittstelle wäre demnach dehr aufwendig selbst zu realisieren
- ein neuer sockel bzw eine erweiterungsplatine müsste her, auf der der asuro platz findet. schau mal ins asurowiki, das asuro eval board dürfte da helfen
- ein neuer taktgeber müsste her, da der neue prozessor evtl nen anderen takt hat
- dementsprechend müssten dann alle funktionen in der library angepasst werden
... und so weiter halt.

m.a.r.v.i.n
31.01.2007, 20:03
Hi,


gibt es ein simulator für den asuro?

Es gibt das Simsuro Projekt. Das steckt allerdings noch in den Anfängen.
http://www.delta-my.de/devel/simsuro/index_de.php

Als Ersatz für den mega8 käme der pinkompatible mega168 mit doppeltem Speicher in Frage. Aber wie damaltor schon sagte, müssen dafür Anpassungen in der Asuro Lib und der Bootloader geschrieben/adaptiert werden.
Einige User haben sich auch einen mega32 oder mega128 auf ihren Asuro gesetzt. Damit hätte man zwar jede Menge mehr IOs und genügend Speicher. Das hat dann aber nur noch wenig mit dem Asuro zu tun.

Danjo00
31.01.2007, 20:03
ok das reicht dann wohl^^ also einfach nur ein
ein LCD Modul mit I2C Ansteuerung (ohne farbe *gg*)

edit: so in der art? http://www.lcd-module.de/deu/pdf/doma/dip204-6.pdf

m.a.r.v.i.n
31.01.2007, 20:40
Hi,

nein das Display hat einen SPI Anschluß nicht I2C.

Hier wäre ein I2C Display.
http://www.roboter-teile.de/Shop/themes/kategorie/detail.php?artikelid=40&source=2

Oder das hier:
http://www.lcd-module.de/deu/pdf/doma/s_7123.pdf

damaltor
31.01.2007, 20:42
wie könnte man das display dann ansprechen? durch einzelnes setzen und löschen der i2c ports?

m.a.r.v.i.n
31.01.2007, 21:24
Hi,


durch einzelnes setzen und löschen der i2c ports?

im Prinzip ja.
Für die oben genannten Displays steht im Datenblatt, wie man sie ansteuern muß.
Falls du ein normales LCD-Modul mit einen I2C Port Chip (PCF8574) betreiben willst, schreibt man sich am einfachsten eine LCD Bibliothek dafür um (Ansteuerung im 4-Bit Mode, ohne Busyabfrage). Die Funktionen für lcd_init, lcd_cmd, lcd_write usw. müsen angepaßt werden. Überall wo auf die LCD Ports zugegriffen wird, muß dann ein i2c_write Befehl hin.
Ohne Busyabfrage sind das dann ausnahmslos I2C Schreibbefehle. Die Wartezeiten muß dann wie bei der normalen 4-Bit Ansteuerung mit Delays machen.

damaltor
31.01.2007, 21:34
das klingt gut... =)

wird probiert.

Danjo00
31.01.2007, 22:08
gibs das auch in blau das hier? http://www.lcd-module.de/deu/pdf/doma/s_7123.pdf

edit: Habe da sonen Quelltext gefunden


// Ansteuerung von I2C LCD-Anzeige DSM-0822A von Pollin
// Testprogramm
// Michael Dworkin
// 08.06.2004
// Compiler CC5x

#include <16F871.H>
// Speihersutz121345=aus,Debug11=aus,ProgrammFlash9=a n,EEpromRead8=an,NiendervoltProgr7=aus
// NiederVoltReset6=an,EinschaltTimer3=an,WachDogTime r2=aus,Oszilator01=HC
#pragma config |= 0b.11.111101.11.00.10
#pragma origin 100 // Ab Adresse 100 im Programmspeicher
#pragma bit sda @ PORTB.7 // Datenleitung SDA
#pragma bit scl @ PORTB.6 // Taktleitung SCL
#pragma bit tsda @ TRISB.7 // Datenleitung SDA IN/AUT - Umschalter
#pragma bit tscl @ TRISB.6 // Taktleitung SCL IN/AUT - Umschalter
#include "I2C.c" // I2C-Kommunikation Treiber
#include "DSM-0822A.c" // DSM-0822A Treiber

//************************************************** *****
// Hauptprogramm
//************************************************** *****
void main()
{
LCD_Init(); // LCD initialisieren, löschen
LCDString(0,"TEST"); // String-Ausgabe
ZalString(4, 321); // Zahl-Ausgabe
Ausgabe(7, 'V'); // Zeichen-Ausgabe

// Zusatzeichen schalten
bstart(); // Zusatzzeichen aktivieren
schreib(112); // Adresse der Anzeige(Festverdrahtet)
schreib(8*4); // Adresse des Anzeigeelements
schreib(0b.0000.0000);
schreib(0b.0000.0001); // Zusatzzeichen 1 Oben wird aktiviert
bstop();

while(1); // Programm stoppt hier
}

// Auf dem LCD erscheint "TEST321V"

damaltor
01.02.2007, 11:03
geht dieses hier (alles bestellnummern von reichelt, leider kann man da die adresse nicht kopieren)?

LCD 162 DIP
EA DOGM162B-A
LCD 162C BL

oder sollte ich da mal in den elektronik laden meines vertrauens gehn und einfach ein "LCD modul mit I2C anschluss" besorgen?

bei den displays mit i2c anschluss, da wird dann die I2C erweiterungsplatine gar nicht mehr gebraucht, weil das display selbst einen baustein hat? oder wird die erweiterungsplatine gerade dann gebraucht?

m.a.r.v.i.n
01.02.2007, 11:36
Hi,

LCD 162 DIP
EA DOGM162B-A
LCD 162C BL

Das sind ebenfalls alles Displays mit SPI bzw. 4-Bit, 8-Bit Ansteuerung, kein I2C. Für SPI Ansteuerung werden 4 Prozessor Ports benötigt, bei I2C nur zwei.

Ich habe mir gestern ein LCD 162 DIP bestellt und werde mal versuchen, es im 4-Bit Mode über die I2C Erweiterung mit dem PCF8574 anzusprechen.



bei den displays mit i2c anschluss, da wird dann die I2C erweiterungsplatine gar nicht mehr gebraucht, weil das display selbst einen baustein hat? oder wird die erweiterungsplatine gerade dann gebraucht?


Richtig, dafür werden nur 2 Prozessor Pins benötigt, mit denen man I2C Bus emuliert. VCC und GND natürlich auch. Hier kocht halt jeder Hersteller sein eigenes Süppchen, wie man diese Displays ansteuern muß.

EDIT:
Das DSM-0822A war wohl mal als Restposten bei Pollin verscherbelt worden. Jetzt gibt es das Teil wohl nicht mehr.
Der Programmcode ist für einen PIC Prozessor nicht für AVR.

damaltor
01.02.2007, 11:37
hmm.. wie siehts aus mit den displays von da oben, die kann man doch auch mit 4 pins plus vcc + gnd ansteuern, richtig? die erweiterungsplatine hab ich doch, könnte ich die dann damit steuern?

m.a.r.v.i.n
01.02.2007, 11:52
Hi,

dann müßtest du ja zudem noch SPI über I2C emulieren. Ist wohl möglich, aber nicht gerade sinnvoll (Daten sind bei SPI seriell und zudem muß noch ein Takt generiert werden). Dann schon eher das Display im 4-Bit Mode betreiben. Das wären 4 Datenpins, RS und E insgesamt also 6 Pins (7 mit R/W).

damaltor
01.02.2007, 11:55
also besser nicht. wo bekommt man die i2c-fähigen display her?

m.a.r.v.i.n
01.02.2007, 12:34
Hi,

Bei Conrad gibt es das EA T123A-I2C Artikel-Nr.: 181891-62. Reichelt hat leider nichts.

damaltor
01.02.2007, 12:53
super, danke.mal sehen was das dann wird damit...

Danjo00
01.02.2007, 21:47
das von connrad scheint wohlk das einzigste neben AVR-Butterfly zu sein . hätte doch gerne ein blaues gehabt :-( maja egal

damaltor
01.02.2007, 22:36
ach naja... so schlimm ist das nicht =) mach doch blaues licht hinter...

joey_f
01.02.2007, 23:50
Hi,
ich kann noch das JControl von domologic empfehlen. Ist Java programmierbar, Display mit vorhandener grafischen Oberfläche, ....
mal schauen.
Ach ja, I2C ist vorhanden.
http://www.domologic.de/de/html/products.html#jcontrol_smartdisplay
http://shop.elv.de/output/controller.aspx?cid=74&detail=10&detail2=9182
Gruss, Joerg

Danjo00
02.02.2007, 20:13
Hi
Jo sieht net schlecht aus aber muss ich dann beidens dann immer extra programmieren asuro mit c und das display mit java? oder dann bedes mit java?

Danjo00
03.02.2007, 21:37
na gut endscheide mich dann doch mal eher fürs LCD vom m.a.r.v.i.n

edit: so habe mir jetzt den bestellt bei connrad hier das datenblatt http://www2.produktinfo.conrad.com/datenblaetter/175000-199999/181891-da-01-de-DISPLAY_M_I2C-BUS_INTERF_3X12_4_7_MM.pdf

Hoffe doch das es der richtige ist

Danjo00
08.02.2007, 13:44
So jetzt hängt es nur noch am 100Kohm Potie versuche es mal mit einem 470k trimmer vllt gehts ja. Jetzt die andere frage zwegs programmieren was muss ich den in asuro.h und oder asuro.c ändern???

damaltor
08.02.2007, 14:24
nein wahrscheinlich nicht, du wirst die (ist einfacher) eine neue bibliothek schfreiben mit den displayfunktionen. die wird dann auch mit eingebunden

Danjo00
08.02.2007, 18:24
SO habe das Display dran. Mansche fragen sich jetzt wohl warum das display schief hängt die antwort ist ganz einfach wenn man es gerade dran macht und man fährt mit der ecke vom asuro gegen irgend etwas, stosst auch gleich die kannte des display dran weil das display nicht direkt auf der platine auf ligt. Also wer sich bei connrad so ein display kauft sollte zuerst alle kabel legen (am besten so das alles unten hin passt) und zum schluss das display dann kann man das display zimmlich auf die platine machen vorne und dann passiert auch nichts aus platz gründen wegen dem kontrasttrimmer

http://s6.bilder-hosting.de/tbnl/OPXS6.jpg (http://www.bilder-hosting.de/show/OPXS6.html)