- LiTime Speicher und Akkus         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: BASCOM, Atmega32 und ein 240*128 EA DIP240-7 Display

  1. #1
    Neuer Benutzer Öfters hier Avatar von RobNet
    Registriert seit
    13.11.2009
    Ort
    Schwabenland
    Beiträge
    16

    Idee BASCOM, Atmega32 und ein 240*128 EA DIP240-7 Display

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo Ihr Lieben,

    nach langer Zeit ist es mal wieder Zeit ein Projekt zu beginnen. Vor geraumer Zeit hab ich mal mit Unterstützung aus dem iNetz ein Teil meiner Funk-Haus-Steuerung auf FS20 Basis realisiert. Dieses Experiment hat funktioniert, ist aber bis Heute noch nicht im Wohnzimmer verbaut worden.

    Nun habe ich vor das ganze mit einem neuen Display zu erproben. Dabei geht es um das im Titel besagt EA DIP240-7 Display (http://www.lcd-module.de/pdf/grafik/dip240-7.pdf) welches eigentlich ein recht chickes Gerät ist. Nun bin ich aber ziemlicher Anfänger in Sachen GLCDs und würde mich freuen, wenn es hier Interessierte gibt, die das Display schonmal mit Bascom angesteuert haben. Dabei geht es mir um Zeichnen von "Tasten" und Text auf dem Display und diese über den vorhandenen Touch auszuwerten.

    Als Umgebung liegt gerade vor mir

    - Atmega32
    - Pollin Evaluation Board
    - Das EA DIP240-7
    - 'n PC mit Bascom

    Das Display hat eine Auflösung von 240x128 Pixel und einen T6963C Kontroller. Ich habe hier schon einiges über den Kontroller gelesen, aber ehrlich gesagt sind das sehr, sehr viele Informationen in denen ich mich gerade beim lesen verloren habe.

    Der erste Schritt wäre ja nun das Anschließen des Displays an den Atmega, das sollte ich hinbekommen. Leider kann das Display kein I²C oder ähnlich. Dann wird es wohl die 8Bit Variante sein - Viele Leitungen aber auch gut

    Im zweiten Schritt möchte ich dann das Display initiieren und mal einen Text ausgeben.
    Der dritte Schritt soll dann das zeichnen von "Touchtasten" auf dem Display sein. Wäre natürlich schön wenn das mit relativ kompaktem Code gehen würde.
    Im vierten und letzten Schritt ist das Ziel dann, die Touchwerte auszulesen und so zu verarbeiten, dass ich die Tasten auch Sinnvoll in Bascom verwenden kann.

    Das war jetzt viel Text und ich würde mich sehr über ein wenig Hilfe oder guten Tipps freuen!

    Viele Grüße
    Thomas

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.01.2007
    Ort
    westliches Pannonien
    Beiträge
    123
    Hallo!

    Im Samplverzeichnis das LCGRAPH Verzeichnis öffnen und glücklich werden.


    MfG
    Rone

  3. #3
    Neuer Benutzer Öfters hier Avatar von RobNet
    Registriert seit
    13.11.2009
    Ort
    Schwabenland
    Beiträge
    16
    Hallo Rone,

    ich steh gerade ein wenig auf der Leitung... Wo finde ich das Sampleverzeichnis?

    Grüße
    Thomas

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.07.2009
    Beiträge
    405
    Am wichtigsten ist für Dich erst mal die Pinbelegung und deren Benennung in Bascom!
    Vorteil bei dem von Dir gewähltem Display ist: Die Bezeichnung der Pins ist genau gleich der Bezeichnung in Bascom! Das ist nicht immer so!!
    Zum Ansteuern brauchst Du mehr oder weniger zwei komplette Ports - den DatenPort und den SteuerPort.
    So fängt das Config dann auch an -

    Config Graphlcd = 240 * 128 - hier wird die Auflösung des Displays angegeben (mögliche Auflösungen stehen in der Hilfe)
    Dataport = Porta , Controlport = Portc - hier werden die Ports bestimmt (Beispiel Daten PortA / Steuerung PortC)
    Ce
    = 2 , Cd = 3 , Wr = 0 , Rd = 1 ,Reset= 4 , Fs = 5 - hier werden den nötigen Steuerpins die einzelnen Portpins zugewiesen (Ce = PC2 / Cd = PC3 / Wr = PC0 usw.)
    Mode= 8 - hier ist Mode = 6 oder Mode = 8 möglich (Die Zahl bestimmt die Breite der Zeichen / Beispiel: 240 / 8 = 30 Zeichen /// 240 / 6 = 40 Zeichen

    Und noch mal komplett:
    Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 ,Reset= 4 , Fs = 5 ,Mode= 8

    Nun zur Textausgabe:
    Als erstes sagst Du dem Display wo es anfangen soll zu schreiben

    Locate 1 , 1 ---- bedeutet nichts anderes als: Beginne in Zeile1 beim ersten Zeichen

    und dann die eigentliche Texteingabe

    Lcd"Hallo RobNet" - Wichtig ist das der gewählten Text in Anführungszeichen zu setzen ist!
    usw.

    Locate 2 , 10 :Lcd"ist Alles gar nicht so schwer!"

    Locate 5 , 1 :Lcd"oder?"

    willst Du den Text wieder löschen geht das wie folgt:

    CLS TEXT

    Andere Schriftgrößen sind möglich - dazu muß eine Schrift mit dem Fond Editor (Bascom / Tools / Plugins / Fondeditor) erstellt werden.
    Die neu erstellte Schrift wird dann über den Befehl "setfond 8x8" und "$include "font8x8.fond" in das Programm eingebunden.

    Und weiter gehts mit Linien - - - -

    hierzu mal zum Verständniss das Koordinatensystem des LCD

    Koordinatenangaben: x,y

    yyyyyyyyyyyyx
    bb0,0 - ------------------------239,0
    bbb!bbbbbbbbbbbbbbbbbbbbbb !
    bbb!bbbbbbbbbbbbbbbbbbbbbb !
    ..y !bbbbbbbbbbbbbbbbbbbbb.b !
    bbb!bbbbbbbbbbbbbbbbbbbbbb !
    bb0,127 -----------------------239,127

    LINE(X0,Y0) - (X10,Y10), on/off
    Line (ich möchte eine Linie zeichnen) (X0,Y0) bezeichenet den Startpunkt der Linie - (X10,Y10) den Endpunkt - - - 255 ist on / 0 ist off

    Hier ein Beispiel zum besseren Verständniss:
    Line(0 , 0)-(100, 0), 255 /// zeichnet eine horizontale Linie von X0,Y0 bis X100,Y0

    und ein Quadrat mit 100 Pixel Kantenlänge:
    Line(0 , 0) -(100 , 0) , 255
    Line(100 , 0) -(100 , 100) , 255
    Line(100 , 100) -(0 , 100) , 255
    Line(0 , 100) -(0 , 0) , 255
    jetzt möchte ich die obere horizontale Linie wieder löschen
    Line(0 , 0) -(100 , 0) , 0
    und den ganzen Rest (ohne eventuellen Text) auch
    CLS GRAPH

    und noch ein Kreis:

    Circle(30 , 30), 40 , 255 cccccc -cc(30 , 30) gibt den Mittelpunkt des Kreises an 40 den Durchmesser 255 gleich on
    wieder wech
    Circle(30 , 30), 40 , 0


    - Als letztes für Heute noch ein Link zu einem ähnlichem Thema hier im RN -
    Geändert von dussel07 (01.11.2011 um 22:47 Uhr)

  5. #5
    Neuer Benutzer Öfters hier Avatar von RobNet
    Registriert seit
    13.11.2009
    Ort
    Schwabenland
    Beiträge
    16
    Hi, Dussel07!

    Das ist ja schonmal ein super Start! Werde das geschriebene schnellstmöglich in die Tat umsetzen!
    Dann wären ja Schritt 1 und Schritt 2 schon erledigt. Ich bin mal gespannt wie es aussehen wird.

    Vielen Dank und ich meld mich sobald es Neues gibt.

    Grüße
    und 'noch einen schönen Abend Allen!

    Thomas

    PS: Um schonmal in den Gedanken das Ganze weiter zu spinnen....
    Bietet Bascom bzw. der Display-Controller denn schon 'fertige' Buttons oder müssen die manuell erstellt werden?
    Mir ist klar, erst Schritt für Schritt zum Ergebnis, aber ich finde es jedesmal wieder spannend auch ohne PC und µC das ganze
    schonmal in Gedanken ans Ziel zu bringen

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.07.2009
    Beiträge
    405
    Ich denke das es keine fertigen Buttons gibt - aber hier können sicher Andere präziser Antworten!
    Würde mir ein Button erstellen und den dann mehrfach an verschiedener Position ins Programm einfügen -
    (zB. in der Mitte des Buttons ein Zeichen das beim drücken dann die Größe ändert)

    Ps . Bin gespannt auf Weiteres da ich auch Ähnliches vorhabe.


    Nachtrag:
    Hab was schönes im Bascom-Forum gefunden:
    Siehe dort die Beiträge von Six1.
    Dort kam der Vorschlag die Buttons als Grafik einzubinden (Beispiel ist auch vorhanden)

    Einbinden von Grafikdateien:

    Showpic 10 , 0 , Einschalten nnnnnnnnn - X , Y Position Unterprogramm
    Showpic 40 , 0 , Ausschalten

    Einschalten:
    $bgf"Ein.bgf"

    Ausschalten:
    $bgf"Aus.bgf"

    Ein Konverter scheint Bascom auch mitzubringen ( Bascom / Tools / Graphic Converter )

    und noch ein Link zu MCS
    Geändert von dussel07 (01.11.2011 um 23:37 Uhr)

  7. #7
    Neuer Benutzer Öfters hier Avatar von RobNet
    Registriert seit
    13.11.2009
    Ort
    Schwabenland
    Beiträge
    16
    Na das klingt doch super, es scheinen ja alle Möglichkeiten vorhanden zu sein.

    Was genau hast Du vor? Ebenfalls eine Haussteuerung auf Funkbasis? Wenn ja kann ich mal auf die FS20 Elemente von ELV verweisen. Dazu habe ich hier einen Atemga32 Controller, welcher inzwischen FS20 spricht. Das ganze ist zwar eine recht schaurige Angelegenheit, funktioniert aber!

    Viele Grüße
    Thomas

  8. #8
    Neuer Benutzer Öfters hier Avatar von RobNet
    Registriert seit
    13.11.2009
    Ort
    Schwabenland
    Beiträge
    16
    Sehr cool, wie das mit dem TExten und Kreisen funktioniert, 1A - bis auf das, dass die Kreise eher Eier sind Aber das bekommen wir auch noch hin.

    Juhuuu, das macht Spaß, die Kreise, Rechtecke etc mal aus der Bascom Hilfe auf den Bildschirm zu zaubern!!!
    Geändert von RobNet (02.11.2011 um 18:50 Uhr)

  9. #9
    Neuer Benutzer Öfters hier Avatar von RobNet
    Registriert seit
    13.11.2009
    Ort
    Schwabenland
    Beiträge
    16
    So, nun ein aktueller Status zu den ToDo Punkten.
    Diese haben sich durch die aktuellen Funktionen erweitert und auch teils geändert.

    Aktuell funktioniert das Display wunderbar um Text, Kreise und Linien auszugeben über die in Bascom inplementierten Funktionen. Leider klappt es noch nicht die "Bild"-Funktion zu verwenden. Ich habe das Bascom-Test-Bild konvertiert und mit

    Showpic
    40 , 0 , Testbild

    Testbild:
    $bgf"test.bgf"

    versucht anzuzeigen. Dabei ist das Bild jedoch zemlich verzerrt und nicht wirklich erkennbar gewesen und so wie ich das interpretiere, hat sich der Atmega dabei auch aufgehängt, bzw. das Bild ist immer wieder erschienen und dann wieder verschwunden. Das wäre zu klären, wobei das bestimmt ein kleineres Problem ist.

    Da das Zeichnen von Linen und Kreisen relativ aufwendig ist (bzw. das Positionieren derer), werd ich wohl mal ein kleines C# Windows Programm für das Display erstellen, in welches man mit der Maus Zeichnen kann und welches dann den Bascom-Code zur gemachten Zeichnung ausgibt. Dann sollte es schneller gehen Linien o.ä. zu zeichnen. Das ganze aber wenn mal Zeit dafür vorhanden ist.

    Die Sache mit der 'anderen Schrift' muss ich mal noch austesten. Das Standart Font, ist sehr 'leicht' und dezent. eine etwas dickere und kräftigere Schrift wäre eigentlich erforderlich.

    Den Touch hab ich noch nicht angeschlossen, der kommt dran, wenn die Grafikdarstellung perfekt funktioniert.

    Prinzipiell soll das Ganze dann einmal so aussehen:

    - Das Display wird unten eine Status und Steuerleiste haben. Diese erlaub zwischen verschiedenen Bildschirmseiten hin und her zu schalten. Ebenso gibt es dort eine Anzeige zum aktuellen Status.

    - Auf dem Display selbst werden z.B. im Jalousie-Menü die Jalousiene in Textform angezeigt und dahinter dann z.B. Auf, Ab, Halb etc...

    - Dann gibt es einen weiteres Bildschirmmenü mit Beleuchtungssteuerung, wo man dann wählen kann z.B. Wohnzimmer-> Deckenleuchte Heller, Dunkler, Ein, Aus etc....

    - Ein weiteres Menü wird dann Optionen und Einstellungen biteten, wie Uhr einstellen, Helligkeitssensor kalibrieren usw.

    Bis dahin ist es noch ein ganzes Stück Arbeit. Das erste ist es die Menüs einmal so darzustellen, wie es nachher aussehen soll. Dann werden die Menüs mit den nötigen Funktionen belegt. Das wichtigste ist es als zuerst ordentlich Buttons zu erstellen und diese per Tocu auszuwerten.

    Und los gehts :-=}

    Viele Grüße
    Thomas

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.07.2009
    Beiträge
    405
    Zu den Bildern die eingefügt werden sollen:
    Öffne Paint -
    Stelle die Bildgröße entsprechend der Zielgröße ein - (zB. 48x48Pixel (es sind nicht alle Größen mit Bascom konvertierbar?))
    Erstelle deine Grafik -
    Unter Eigenschaften die Farbe auf Schwarz/Weiß einstellen -
    Als BMP speichern -
    Mit dem in Bascom integriertem Konvertierer konvertieren - (ich glaub ich stottere)
    Nun sollte das Seitenverhältniss passen ?????

    Klicke auf die Grafik für eine größere Ansicht

Name:	Unbenannt2.gif
Hits:	44
Größe:	1,0 KB
ID:	20450

    Leider läßt sich hier keine .bgf Datei hochladen? Zip oder RAR geht auch nicht - - -

    Zu dem was Du vorhast - ob dafür der Speicher des Atmega32 ausreicht??
    Ansonsten - hört sich cool an!
    Geändert von dussel07 (02.11.2011 um 21:43 Uhr)

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. ATmega32 LCD Display
    Von Tanne123 im Forum AVR Hardwarethemen
    Antworten: 10
    Letzter Beitrag: 19.10.2010, 21:05
  2. 3310 display mit atmega32
    Von Che Guevara im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 23
    Letzter Beitrag: 15.08.2008, 16:08
  3. display an atmega32
    Von Che Guevara im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 9
    Letzter Beitrag: 17.06.2008, 20:40
  4. EA DIP240-7 an M-Unit 2.0
    Von doering2006 im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 0
    Letzter Beitrag: 15.12.2006, 17:36
  5. Speicherplatz des ATmega32 + Display an ATmega32
    Von Rob.Anfänger im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 19.11.2006, 02:59

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test