{{indexmenu_n>7}} ====== ADF-7-Segment-Panel (in Bearbeitung) ====== {{:hardware:anleitungen:ardu_7seg_01d.jpg?350 |}}Das ADF-Panel ist ähnlich aufgebaut wie die Avionics-Panel mit LC-Display und wurde in Anlehnung an das KR-87 gestaltet. Das Panel wird über Ethernet mit dem FS-PC verbunden. Der Arduino-Sketch verarbeitet die Taster-/Drehgeber-Ereignisse, die über UDP (Ethernet) zu einer Schnittstellensoftware auf dem PC übertragen werden, der hieraus FS-Kommandos generiert. Die aktualisierten Variablen werden an das Arduino-Panel übertragen und auf den 7-Segment-Anzeigen dargestellt. Als Kommunikationssoftware kommen SimConnect-Clients für MSFS (FSX, FS2020) und P3D sowie X-Plane-Plugins für X-Plane zum Einsatz. Das System ist aufgebaut, wie bei den Avionics-Panel: [[hardware:anleitungen:arduino-panel:systemschema|Systemaufbau]] ===== Hardware ===== Das System besteht aus folgenden Komponenten: * Platine ADF-DISPLAY (160 x 30 mm²) mit * 7-Segment-Anzeigen * den Tastern * dem Drehimpulsgeber (Single oder Dual-Encoder) * Platine ARDU-PINHEADER mit µController ATmega328 (analog Arduino Pro Mini) * Ethernet-Modul WizNET W5500 * Frontplatte (160 x 35 mm²) Die Spannungsversorgung (+5 V) erfolgt über den Programmieranschluss oder über die Mini-USB-Buchse. ==== Anzeige-Leiterplatte ==== {{:hardware:anleitungen:adf_7seg_top.png?600|}}\\ {{:hardware:anleitungen:adf_7seg_bot.png?600|}} {{:hardware:anleitungen:ardu_7seg_03.jpg?400|}} ==== Controller-Leiterplatte ==== {{:hardware:anleitungen:ardu_pinheader.png?240|}} {{:hardware:anleitungen:adf_7seg_-_schematic.pdf|Schaltplan Anzeige-Panel}}\\ {{:hardware:anleitungen:adf_7seg_-_assembly.pdf|Bestückungsplan Anzeige-Panel}}\\ {{:hardware:anleitungen:ardu-pinheader_-_schematic.pdf|Schaltplan µController}}\\ {{:hardware:anleitungen:ardu-pinheader_-_assembly.pdf|Bestückungsplan µController}}\\ {{:hardware:anleitungen:adf-7seg_bom.pdf|Stückliste}} |{{:hardware:anleitungen:ardu_7seg_05.png?350|}}|Die Controllerplatine kann mit Steckverbindern separat verwendet werden oder beide Platinen können mit zwei Stiftleisten als Platinenstapel verbunden werden.|{{:hardware:anleitungen:ardu_7seg_04.png?350|}}| ==== Frontplatte ==== Für den abgebildeten Aufbau wurde eine schwarze Acryl-Platte mit Laser bearbeitet. In die Platte wurde eine rote transparente Scheibe eingeklebt und es wurden fünf 2,5 mm Stehbolzen eingesetzt, an die die Anzeige-Leiterplatte montiert wird.\\ {{:hardware:anleitungen:adf_7seg_-_frontplatte.pdf|Frontplatte}} Auf die Acryl-Platte wird eine Abdeckung aus Fotopapier geklebt.\\ {{:hardware:anleitungen:adf_7seg_-_abeckung.pdf|Abdeckung}} {{:hardware:anleitungen:ardu_7seg_02.jpg?400|}} Die Tasten müssen noch beschriftet werden. ===== Software ===== Die Software besteht aus dem Arduino-Sketch und der Kommunikationssoftware. ==== Arduino-Sketch ==== Das ADF-Panel mit dem Arduino-Sketch stellt ein Frontend zum SimConnect-Client bzw. X-Plane-Plugin dar. Das Panel verbindet sich mit der Kommunikations-Software auf dem PC, Ereignisse werden an diese übertragen und die gelieferten Variablen-Werte werden angezeigt. Der Controller fragt die Taster und den Encoder ab und erzeugt daraus Befehle, die an die Kommunikationssoftware zur Weiterverarbeitung gesendet werden. Von der Kommunikationssoftware werden Zeichenketten zurückgesendet, die im Arduino-Sketch verarbeitet und auf den 7-Segment-Anzeigen dargestellt werden. Das Ethernet-Modul wird mit dem Netzwerk verbunden und muss über DHCP eine Netzwerk-Adresse zugewiesen bekommen. Die Für die Datenverbindungung wird das UDP-Protokoll genutzt. Hier ist zu beachten, dass immer eine eindeutige MAC-Adresse und ein eindeutiger Port zugewiesen wird. Beide sind im Sketch definiert. Es werden Active- und Standby-Frequenzen unterstützt, sowie ein Timer. ==== Kommunikations-Software ==== Die Kommunikations-Software stellt die Verbindung zwischen dem Flugsimulator und dem ADF-Panel her. Wenn ein PC mehr als eine Netzwerkkarte besitzt, dann muss über die Konfigurationsdatei des Clients/Plugins dieser definiert werden. Beim Start werden dann die gefundenen Netzwerkadapter mit ihrer ID aufgelistet. Über den Netzwerkadapter wird mit einer Anfrage auf der Broadcast-Adresse des Netzwerksegmentes und dem der jeweiligen Panel-Funktion zugeordneten UDP-Port (dieser muss mit dem Sketch übereinstimmen) der ADF-Controller gesucht. Der ADF-Controller empfängt diese Anfrage und kennt dadurch die IP-Adresse der sendenden Kommunikations-Software. An diese IP-Adresse wird dann die Bestätigung gesendet, wodurch der Kommunikations-Software die Controller-IP-Adresse übermittelt wird. Damit ist die Verbindung aufgebaut. Der Controller kennt jetzt die IP-Adresse des Flugsimulators und der Flugsimulator die IP-Adresse des Controllers. Jetzt können Ereignisse des ADF-Panels über UDP zum Client/Plugin gesendet werden, der diese dann in Flugsimulator-Ereignisse umsetzt bzw. Anzeige-Varianten einstellt. Die aktualisierten Variablen werden in Anzeige-Zeichenketten umgewandelt und in definierter Form zurück an das ADF-Panel gesendet und dort auf der 7-Segment-Anzeige angezeigt. Zyklisch wird abgefragt, ob das Panel noch im System ist. Wenn innerhalb einer bestimmten Zeit auf diese Anfrage keine Antwort empfangen wird, dann geht der Client/das Plugin wieder in die Verbindungsaufbau-Phase und sendet Such-Anfragen auf der Broadcast-Adresse. === SimConnect-Client === {{:weiteres:arduino:ardu_fssw1_01.png?250 |}}Der SimConnect-Client (FSX, P3D, FS2020) ist ein eigenständiges Programm und kann direkt aus einem Ordner, z.B. dem Installationsordner, aufgerufen werden. Die Konfigurationsdatei kann in diesem Ordner angelegt sein oder in einem Unterordner des AppData-Bereiches. \\ ''.\AppData\Roaming\Sim&IT\SimConnect\Avionics-Panel.cfg''\\ -> Grundlegende Informationen sind bei den [[hardware:anleitungen:arduino-panel:arduino-simconnect|SimConnect-Clients]] für die LCD-Avionics-Panel und deren Konfiguration zu finden.\\ === X-Plane-Plugin === {{:weiteres:arduino:ardu_fsxpl_01.png?nolink&100 |}}Das X-Plane-Plugin entspricht einer DLL. Diese sind im X-Plane-Unterordner ''.\ressources\plugins'' abgelegt. Das gefundene Plugin kann im gestarteten Flugsimulator über das Menü angezeigt werden. Im Info-Bereich wird entweder die Verbindung zum ADF-Panel oder die Auswahl der Netzwerk-Adapter angezeigt, wenn mehr als ein Adapter gefunden wurde. Dieser muss in der Konfigurationsdatei definiert werden. \\ ''.\AppData\Roaming\Sim&IT\X-Plane-Plugins\Avionics-Panel.cfg'' -> Grundlegende Informationen sind bei den [[hardware:anleitungen:arduino-panel:arduino-xplane|X-Plane-Plugins]] für die LCD-Avionics-Panel und deren Konfiguration zu finden. Es gibt für die 7-Segmentanzeige in beiden Programmen im Abschnitt ''[ADF]'' drei weitere Konfigurations-Variablen: * ''INTENSITY_7SEG= {0 ... 3}'' Start-Intensität der Anzeigen, 4 Stufen, default 0 * ''AUTO_POWER_ON= {0, 1}'' OFF/ON-Zustand beim Start, default 1 * ''LEDS_AVAILABLE= {0, 1}'' wenn die beiden LEDs (FRQ und BFO) bestückt sind, auf 1 setzen, default 0 ----- ===== Funktionen ===== Das **ADF-Panel** kann folgende Zustände darstellen: * **ACTIVE/STANDBY** - Mode => Anzeige der Active/Standby Frequenzen * Drehgeber ändert die Standby-Frequenz, Push Button wechselt zwischen den Stellen * ''ADF'' im FS keine Funktion, ändert hier die Helligkeit * ''BFO'' im FS keine Funktion, schaltet nur eine LED (optional) * ''FRQ/<-->'' wechselt die Standby- und aktive Frequenz * ''FLT/ET'' schaltet in den ACTIVE/ET-Mode * **ACTIVE/ET** - Mode => Anzeige der aktiven Frequenz und eines Elapsed Timers * Drehgeber ändert die aktive Frequenz, Push Button wechselt zwischen den Stellen * ''SET/RST'' startet/stoppt/setzt den Timer zurück * ''FRQ/<-->'' wechselt die versteckte Standby- und aktive Frequenz * ''FLT/ET'' schaltet in den ACTIVE/STANDBY-Mode * ''OFF/IDENT'' schaltet Gerät ein, wechselt IDENT-Zustand, langer Druck schaltet aus ===== Links ===== [[hardware:anleitungen:arduino-panel:systemschema|Systemaufbau]] wie Avionics-Panel