www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LED Display Ansteuern


Autor: Franz Stieglitz (cisco1991)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,
Ich muss als Projekt so ein LED Display siehe Anhang mit einem µC 
Atmega16 im AVR Studio programmieren und dann ansteuern können. Das 
Problem was ich jetzt hab ist, ich weiß nicht genau wie ich anfangen 
soll. Die Firma von der ich das Display habe 
[[http://praeniteo.de/laufschriften-semi-outdoor-ein...]] 
hat mir ein Protokoll mitgeschickt, wo ich die Anfangsadressen, 
Checksumme usw. sehe auch im Anhang. Da ich jetzt nicht wircklich weiß 
wie es mit dem Protokoll geht, dass sie mir mitgeschickt haben bin ich 
auf eure Hilfe angewiesen. Im Internet finde ich irgendwie auch nix also 
ihr müsst mir nicht google reinschreiben. Ich brauch nur einen, der mir 
Hilft, wie ich anfangen soll und welche Information wichtig wären, um 
die Aufgabe zu lösen. In 2 Wochen sollte ich das hinbringen sonst bekomm 
ich Probleme.

Autor: Floh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Franz Stieglitz schrieb:
> Ich muss als Projekt so ein LED Display siehe Anhang mit einem µC
> Atmega16 im AVR Studio programmieren und dann ansteuern können.

Muss? Oder willst du?

Also das Display kann über eine Serielle Schnittstelle gestuert werden, 
sprich du benutzt die RxD/TxD Beinchen des Prozessors und einen 
Pegelwandler dafür (z.B. Max232).

Unter Kapitel 1 E ist der Basisrahmen angegeben.
Für jede Einstellung, Daten, Text whatever wird dieser Rahmen 
entsprechend gefüllt und Byte für Byte über die Serielle Schnittstelle 
zum Display geschickt.
Fang mal mit der Hardware an:
mega16, Spannungsversorgung, ISP, Serielle Schnittstelle.
Dann gehts weiter.
:-)

Autor: Franz Stieglitz (cisco1991)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Floh schrieb:
> Also das Display kann über eine Serielle Schnittstelle gestuert werden,
> sprich du benutzt die RxD/TxD Beinchen des Prozessors und einen
> Pegelwandler dafür (z.B. Max232).

ja das wusste ich bereits.

Floh schrieb:
> mega16, Spannungsversorgung, ISP, Serielle Schnittstelle.
> Dann gehts weiter.

Die Hardware hab ich schon gemacht also Pegelwandler mit MAX232

Wie füll ich diesen Rahmen^^ das ist für mich ein Problem, Kann ich das 
mit dem UDR register machen? Einfach ein Zeichen rausschicken und am 
Display anzeigen lassen. Natürlich die Anfangsbedienung am Anfang 
beinhaltet

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Grunde genau so. Wobei es 100% einfacher ist, zuerst vom PC aus mit 
einem Terminalprogramm Zeichen zu senden, bis du ein Gefühl hast, welche 
Sequenzen von Einzelzeichen was machen. Erst danach dann die Sequenzen 
im AVR als Strings hinterlegen und von dort aus automatisch senden.

Autor: Franz Stieglitz (cisco1991)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan B. schrieb:
> zuerst vom PC aus mit
> einem Terminalprogramm Zeichen zu senden, bis du ein Gefühl hast, welche
> Sequenzen von Einzelzeichen was machen

das hab ich ehh schon gemacht und bis auf die Checksumme bleibt der rest 
immer gleich, und ich hab dann auch gemerkt, dass es sinnlos ist weil 
das im Protokoll ehh schon drinnen steht was mitgeliefert wurde

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, wenn du doch schon alles kennst und gemacht hast was man vorschlägt, 
was GENAU weißt oder kannst du denn nun nicht?

beschreib mal an was dir bekannt ist oder was genau noch fehlt als 
nächster Schritt in deinem Vorgehen.

WIe willst du denn "im Wirkbetrieb" den ATMEGA16 "füttern" mit Texten, 
oder soll das immer konstant bleiben?

Autor: Franz Stieglitz (cisco1991)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wegstaben Verbuchsler schrieb:
> ja, wenn du doch schon alles kennst und gemacht hast was man vorschlägt,
> was GENAU weißt oder kannst du denn nun nicht?

Also ich weiß nicht genau wie ich das mit den Adressen machen kann. Also 
die Software zu schreiben ist ein Problem für mich. Ich bräuchte nur ein 
Beispiel wie das ca. geht grob würde reichen.

Wegstaben Verbuchsler schrieb:
> WIe willst du denn "im Wirkbetrieb" den ATMEGA16 "füttern" mit Texten,
> oder soll das immer konstant bleiben?

Also ich will mit der Anzeige dann die Zeit messen, --> start, stopp 
sensor und ihr kennt sicher das Spiel "Heißer Draht", wenn man mit dem 
Griff an die Kette drankommt soll der µC die Fehler hochzählen. LED 
Display ist 2 Zeilig
--> Fehler: xx
--> Zeit: xx:xx:xx --> also nicht konstanter Text sondern die Zeit zählt 
immer weiter bis man durch den Stopp Sensor durchgefahren ist und die 
Fehler werden parallel dazu mitgezählt.

Ich möchte wissen wie man das mit dem --> Im PDF File unter --> E. 
Communication protocol. Wie man sowas übergeben kann. Bitte um HILFE

Autor: Floh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als erstes baust du dir eine Zeichenkette zusammen:
char s[n];

s[0] bis s[4] werden mit 0x00 belegt
s[5] ist 0x01 (Start of Header)
s[6] ist Sender, einfacherweise 0xFF (für PC simulieren)
s[7] ist Empfänger, falls du nur eine Anzeige hast, mach einfach 0x00 
(Broadcast, erreicht alle angeschlossenen Geräte)

s[8] ist 0x02 (Start of Text)

s[9] ist was du tun willst, z.B. 'A' für Text schreiben

fürs Text schreiben dann bitte selber im KApitel 2 nachlesen

...

s[n-3] ist 0x03 (End of Text)

s[n-2] ist die Checksumme

s[n-1] ist 0x04 (End of Transmission)

Das wars schon mit dem Zusammenbauen, jetzt werden die Bytes s[0] bis 
s[n] nacheinander über die Serielle Schnittstelle ausgegeben.
:-)

Autor: Franz Stieglitz (cisco1991)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Floh schrieb:
> Als erstes baust du dir eine Zeichenkette zusammen:

static unsigned char initcommand[] = {0,0,0,0,0,1,'F','F','0','1',2};

// Siehe Kapitel 2 Text Command
// Standardheader für das Textkommando inklusive Voreinstellung für Font 
und Farbe
static unsigned char progheader[]= 
{'A','0','A','0','0','7','F','0','0','0','0','2','3','5','9',255,255,255 
,'1',0xFE,'E',0xFD,'B'};
// Abschlussbytes
static unsigned char endcommand[] = {3,0,0,0,0,4};
// Beispieltext
static unsigned char hallowelt[] = 
{'H','A','L','L','O',0x7F,'W','E','L','T',0};

Ja ich hab mal die Arrays gefüllt wie du gesagt hast. Ich hoffe das 
stimmt so

Autor: elmo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kurze Zwischenfrage: was bezahlt man für dieses Display? Liefert 
praeniteo auch an Privat?

Autor: Franz Stieglitz (cisco1991)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
elmo schrieb:
> Kurze Zwischenfrage: was bezahlt man für dieses Display? Liefert
> praeniteo auch an Privat?

Hallo elmo ja das tun sie. Ich hab um die 400€ bezahlt. Du kannst die 
Zeichenhöhe, die länge alles selber wählen und die machen dir so ein 
display.

Autor: Franz Stieglitz (cisco1991)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hätte villeicht jemand Zeit im Chat mir etwas zu helfen? Wäre echt super 
nett ..

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.