Benutzer-Werkzeuge


weiteres:arduino:ardu-gaugecontrol

Flightsim-EncoderControl

Für den Arduino-Uno wurde ein Encoder-Shield auf einer Muster-Leiterplatte aufgebaut. Die zwei Impulsausgänge der Drehimpulsgeber werden an Ports des Arduino geführt. Die Drucktaster werden an einen I²C-Portexpander gefüht. Der Interruptausgang initiiert die Portabfrage beim Zustandswechsel. Es werden diese Informationen an die Kommunikationssoftware des Flugsimulators (X-Plane, FSX, Prepar3D) gesendet. Dort werden diese Informationen in Kommandos umgesetzt.

Hardware

Arduino Uno

Für den Encoder Controller ist Arduino Uno mit der SMD-Version des ATmega328 notwendig, bei dem auch die beiden Pins (A6, A7) der SMD-Version zugänglich sind, was nicht immer der Fall ist.

Uno-R3 von OpenSmart


Protoshield

Ich habe ein vorhandenes Protoshield verwendet.

https://www.adafruit.com/product/51


Ethernet-Modul

Es wird ein Ethernet-Modul mit einem WIZnet W5500 angeschlossen, z.B. W5500 Ethernet Network Module. Die Kommunikation mit dem Prozessor erfolgt über SPI. Das Board hat einen integrierten IP-Stack.

Begonnen hatte ich mit folgender Bibliothek:
https://github.com/Wiznet/WIZ_Ethernet_Library
In der Version 1.8.8 der Arduino-IDE funktioniert die integrierte Bibliothek.


Drehimpulsgeber

Für den Drehimpulsgeber wird ein Typ verwendet, der eine komplette Impulsfolge pro Rastung erzeugt. Je nach Anwendungsfall können unterschiedlich große Drehimpulsgeber verwendet werden. Bei ersten Tests habe ich einen REB162PVBS verwendet.

Für ein flaches Panel werden dann Drehimpulsgeber in kleiner und flacherer Bauweise verwendet, wie z.B.

Wichtig bei der Auswahl ist, dass die gleiche Anzahl von Rastungen und Impulsen angegeben ist, z.B 20 / 20.

Folgende Signalfolge wird verwendet:


Versuchsaufbau

  • Anschluss-Möglichkeit von 6 Encodern
  • Netzwerk-Anschluss

Software

Grundsätzliches zur Software ist hier beschrieben und die fertige Version des Encoder Conntrollers hier

weiteres/arduino/ardu-gaugecontrol.txt · Zuletzt geändert: 2019/04/11 23:36 von miho