Tue Dec 29 21:11:50 CET 2020
|
ElHeineken
|
Kommentare (4)
| Stichworte:
Arduino, Honda, NA1, NSX, OLED, Software, Tacho, Tester, Warnleuchte
Nach dem das Gerät initial funktioniert ist es nun Zeit die Treiberbausteine zu installieren sowie die ersten Leitungen zum Tacho zu ziehen. Bezüglich ihrer Funktion am einfachsten sind Warnanzeigen. Die meisten von ihnen haben einen Kontakt der auf Masse gezogen werden muss um sie zu aktivieren. Der Arduino setzt den Pegel eines seiner Ausgänge auf "Low", der Treiberbaustein tut das selbe und das Lämpchen leuchtet auf. Mit einem Druck auf den Rotationskodierer wird die Warnleuchte ein- bzw. ausgeschaltet dessen Name in der oberen Zeile des Displays steht. <iframe class="video youtube-player" width="425" height="355" type="text/html" src="https://www.youtube.com/embed/_VaDbjwsCNo" allowfullscreen="1" frameborder="0"></iframe> Insgesamt drei Leitung sind in obigem Video zu sehen. Sie sind notwendig da noch zusätzlich Batteriespannung (Zündung-an) und Masse benötigt wird. Manche Warnleuchten haben eine eigene Stromversorgung oder deren Kontakte müssen mit Batteriespannung anstelle von Masse versorgt werden. Die Benutzeroberfläche ist immer die selbe aber die Funktionalität dahinter unterschiedlich. [bild=1]Um das in Software abzubilden wurde eine Mehrschicht.Architektur gewählt. Ganz oben steht das Modul "Display" welches sich um die Steuerung der Anzeige kümmert und seine Informationen aus dem Modul "Element" bezieht. So reduziert sich die Komplexität da viele Elemente (z. B. alle Warnleuchten) die selbe Darstellung (hier: on/off) benutzen. [bild=2]Das Modul "Element" wiederum definiert unterschiedliche Typen (z. B. "Schalter" für on/off) und stellt die nötige Verbindung zu den entsprechenden Signalen (Pins) her. Der Zustand jedes Elements wird aus dem Modul "Knob" (für Knopf) hergeleitet. Es kümmert sich um den Rotationskodierer und seine Druckknopf-Funktionalität. Keine einfache Aufgabe denn alles wird aus der Position des Drehkodierers berechnet und diese muss ständig angepasst werden z. B. wenn zwischen Auswahl des Elements und Änderung dessen Werts hin und her gewechselt wird. [bild=3]Auch eine Entprellung der Druckknopfs ist notwendig. Deren saubere Umsetzung ist sehr wichtig für eine gute Bedienbarkeit, denn langsam reagierende Knöpfe oder gar Glitches sind beim besten Willen kein Qualitätsmerkmal. Die Anbindung an die Pins erfolgt dann durch das Modul "Signal". Es kümmert sich darum so viel der elektrischen Eigenschaften eines Pins wie möglich zu verstecken. [bild=4]Dazu gehört z. B. welcher Arduino-Pin damit verbunden ist, ob die Logik invertiert ist, usw., aber natürlich nur sofern dies auf Element-Ebene nicht notwendig ist. Für die Leser, die mit Software nicht so viel am Hut haben sind das vermutlich Böhmische Dörfer aber es war mir wichtig zu zeigen, dass Design und Architektur nicht an der Hardware aufhören. Selbst so eine recht trivial Funktion (sofern vernünftig umgesetzt) stellt eine wichtige und komplexe Aufgabe dar. Die Diagramme oben im Bild wurden mit der freien Software Doxygen erstellt. Ein populäres Werkzeug zur Quellcode-Dokumentation und Analyse. Durch die andere Form der Darstellung hilft sie dabei saubere und einfach zu verstehende Software zu erstellen. |
Tue Dec 29 23:53:38 CET 2020 |
ToledoDriver82
Mit ganz vielen HÄ 😛 aber die Antwort bleibt gleich...echt geniale Sache 😁
Wed Dec 30 11:20:57 CET 2020 |
PIPD black
Gar nicht so viel HÄ😁
Dank der bildlichen Darstellung gut nachvollziehbar.
Die Arbeit dahinter bleibt natürlich HÄ😎😛
„Schrödingers HÄ“ sozusagen.😁
Wed Dec 30 11:38:02 CET 2020 |
ElHeineken
Also besser nicht reinsehen 😁
Wed Dec 30 13:09:17 CET 2020 |
PIPD black
Genau 😁
Deine Antwort auf "Honda NSX - Tachotester Mk2 - Lämpchen und Software"