- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 20

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

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  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

    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)

Ä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
  •  

LiTime Speicher und Akkus