Hi, ich versuch mich seit einem guten Jahr an C++ und werd langsam auch besser. Jetzt hab ich mich mal wieder etwas umgeschaut, was man so alles machen kann mit den Programmiersprechen und bin auf LED-Anzeigen gestoßen… da frag ich mich momentan, wie man die denn richtig programmiert, bzw. welche Kenntnisse ich dafür brauche? Also ich mein solche wie diese hier. Weiß das jemand?
Danke schon mal.
Hallo,
ich glaube, daß deine Frage besser im Brett „Elektronik“ aufgehoben wäre.
Grüße
fribbe
Hallo,
Hi, ich versuch mich seit einem guten Jahr an C++ und werd
langsam auch besser.
Als Gelegenheitsprogrammierer für 0815-Desktop-Sachen muß man sich das nicht antun. Ich habe mir das auch mal angesehen und schnell wieder sein lassen.
Z.B. mit Delphi kommt man in einem Bruchteil der Zeit zu deutlich besseren Ergebnissen.
Jetzt hab ich mich mal wieder etwas
umgeschaut, was man so alles machen kann mit den
Programmiersprechen und bin auf LED-Anzeigen gestoßen. da
frag ich mich momentan, wie man die denn richtig programmiert,
bzw. welche Kenntnisse ich dafür brauche? Also ich mein solche
wie diese hier. Weiß das jemand?
Der Zusammenhang ist etwas locker.
C++ ist gut für Desktopanwendungen.
Wozu braucht man da solche Displays, wo man doch einen großen Monitor vor sich hat?
Die Displays machen Sinn bei Anwendungen auf Mikro-Controlern (uC).
Da nimmt man dann aber nicht C++ sondern normal C oder andere Sprachen.
Steht also dir Frage, was willst du überhaupt anfangen?
Ansonsten gibt es Displays mit unterschiedlichen Interfaces.
Normal sind bei alphanummerischen Displays eine rel. standardisierte parallele TTL-Schnittstelle (4-bit oder 8-bit).
Wie so was aussieht, ist hier zu lesen:
http://www.lcd-module.de/pdf/doma/2_16.pdf
Diese Displays hängt man direkt an einen Port eines uC.
Dann gibt es eben auch noch solche Displays, die schon einen uC als Interface mit bei haben und dann z.B. über RS232, RS485, USB, I²C, SPI oder sonst was angesprochen werden können. Diese Teile sind dann aber teurer.
Mit RS232 oder USB könnte man das dann auch an einen PC leicht anschließen.
Dazu lesen die Doku zu dem konkreten Display, das du benutzen willst.
Auf dem PC brauchst du dann aber noch eine Komponenten im C++ welche dir die entsprechende Schnittstelle unterstützt.
Die von dir verlinkten Displays haben eben RS232. Diese kann man normal auch an USB als Virtuelles COM-Port nutzen, wenn man einen RS232-USB Adapter dazwischen schaltet.
http://www.reichelt.de/USB-Konverter/DELOCK-61460/3/…&
Gruß Uwi
Die
Hi, ich versuch mich seit einem guten Jahr an C++ und werd
langsam auch besser. Jetzt hab ich mich mal wieder etwas
umgeschaut, was man so alles machen kann mit den
Programmiersprechen und bin auf LED-Anzeigen gestoßen… da
frag ich mich momentan, wie man die denn richtig programmiert,
Da es keine weltweite Norm gibt, wie „eine“ solche Anzeige anzusteuern ist, musst Du die technischen Unterlagen des Herstellers filzen.
Die Displays sind ganz gut geeignet um zu zeigen, wie man dabei vorgeht.
Ich habe einfach mal das Datenblatt zur erstbesten Anzeige herausgepickt:
http://www.siebert-group.com/docs/Siebert/series%20S…
Ich schließe übrigens aus dem was ich da überflogen habe, dass diese Anzeigen nicht dazu gedacht sind, vom Computer programmiert zu werden… Sie sind selber kleine Mess-Computer mit eigenem Bedienungsmenü. Die Computerschnittstelle dient dazu, den angezeigten Wert in einem Computer zu übernehmen, z.B. für eine automatisierte Messwerterfassung oder -protokollierung. Es gibt aber sicher auch andere Module, auf die man eigene Messwerte ausgeben kann.
1.) Hardware-Anschluss… Als Computerschnittstelle wird „RS422“ angegeben (Seite 12). Das ist ein enger Verwandter der RS232 Schnittstelle die man an vielen PCs noch findet, oder die man auch einfach nachrüsten kann (Steckkarte oder USB Adapter). zur Wandelung von RS232 auf RS422 müsste es Adapter für einige Euros geben. --> Aufgabe 1 gelöst.
2.) Die Protokolldaten der seriellen Schnittstelle stehen gleich mit dabei: 9600 Baud, n,8.1. Bibliotheken zur seriellen Steurung zum Einbinden in jede beliebige Programmiersprache samt Anleitung wie man sie verwendet gibt es wie Sand am Meer. Die von Dir verwendete Programmierumgebung hat möglicherweise auch welche mit dabei, 9600 ist nicht gerade schnell, also könnte das was dabei ist sogar ausreichen. Allerdings kommt alls 0,25s ein Messert angeflogen, die Empfangs- und Auswerteroutine muss also wohl eher effizient arbeiten, die Naturmethode, die Datei „COMx“ zu lesen dürfte also zu lahm sein. --> Aufgabe 1 gelöst.
Der Rest ist dann Programmierung einer schnieken GUI für die ANzeige, doer was auch immer Du mit dem Programm machen möchtest. Messwerte mit Datum und Uhrzeit versehen und auf die Konsole schreiben oder in einer Datei ablegen ist trivial. Messerte hübsch grafisch anzeigen ist mehr AUfwand, weil die grafische Oberfläche ziemlich viel Arbeit macht, aber das ist inzwischen fast immer so.
Hoffe ich konnte ein wenig helfen …
Gruss Armin.
Hallo,
Messerte hübsch grafisch anzeigen ist mehr Aufwand, weil die
grafische Oberfläche ziemlich viel Arbeit macht, aber das ist
inzwischen fast immer so.
aber gerade das ist doch in Visual Hochsprachen (objektorientierte Sprachen) mit einer passenden Komponente, die man nicht selber entwickeln muß, auch eher einfach.
C++ bringt von Hause aus nicht so viel mit, aber Delphi hat da sehr schöne und leistungsfähige Grafikausgaben, die frei verfügbar sind (sollte z.B. auch in Jedi Packages mit drin sein) .
Dagegen ist die Abfrage der Messwerte über UART unter Windows schon eher kompliziert, auch wenn es dafür passende Komponenten (Objekte) gibt.
Gruß Uwi
Hi Uwi,
C++ bringt von Hause aus nicht so viel mit, aber Delphi hat da
sehr schöne und leistungsfähige Grafikausgaben, die frei
verfügbar sind (sollte z.B. auch in Jedi Packages mit drin
sein).
Ich werde jemandem, der gerade C++ gelernt hat, nicht raten, irgend etwas in Delphi, Java, oder Schlagmichtot zu programmieren, außer ich wüßte, dass das in C++ keinesfalls geht, was aber nicht der Fall ist.
Dagegen ist die Abfrage der Messwerte über UART unter Windows
schon eher kompliziert, auch wenn es dafür passende
Komponenten (Objekte) gibt.
Na ja, ich sehe das soooo schwierig nicht. Seit es UARTs mit Puffer gibt, ist das doch eher entspannt, zumal der Datenstrom laut Doku mit Cr Zeichen in handliche Häppchen untergliedert wird. Und da nur ein ANzeigewert kommt, dürften sogar die 16 Bytes der ganz kleinen UARTS reichen um den Datenstrom zu puffern.
Ich möchte es daher dem OP überlassen, welchen Lösungsansatz er wählt. Ich würde aber ebenfalls nicht direkt auf den UART gehen, sondern mir eine der zahlreichen Bibliotheken schnappen die es gibt. Ob es eine eingebaute ist, oder eine freie, oder ob man einen Fuffi investiert und eine kommerzielle Bibliothek kauft … auch das ist ihm überlassen. Auch ob er dabei lieber eine prozedural doer eine objektorientiert ausgelegte Bibliothek einsetzt ist auch seinem persönlichen Geschmack überlassen, gehen tut beides.
Dediziert abraten wollte ich ihm nur davon, die Dateisystemschnittstelle (Datei COMx lesen … „open“ Befehl) zu nützen, sie ist meiner Erfahrung nach ziemlich langsam. Eventuell war das kein guter Rat. Ob sie mit 4 Werten/Sekunde zurecht käme kann ich nicht beurteilen, es könnte eventuell sogar reichen. Wenns reicht wäre das natürlich eine Lösung mit minimalem Aufwand, weil man sich um das ganze serielle Gedöhns überhaupt nicht kümmern muss. Einfach nur eine Schleife mit „read“ und das wars dann - für eien simple Messwerterfassung, die nicht auf 1/100 Sekunde genau sein muss kann das durchaus bereits reichen.
Armin.