Die Nutzung erfolgt auf eigene Gefahr!
Einführung
Diese Software kann einen 12V Ventilator (FAN) in Verbindung mit der JeeHell A320FMGS Homecockpit Software steuern. Der FAN wird basierend auf dem Flugzeugstatus (Bleed Air verfügbar, z.B.) und dem PACK FLOW Schalter im Overhead ausgelöst.
Der Download besteht aus zwei Teilen:
- Arduino Sketch (für ARDUINO MEGA R3)
- Software zur Kommunikation mit A320FMGS (JeeHell) und dem Arduino Board
Mein Projekt
Mein Projekt habe ich hier dokumentiert.
Schematische Darstellung
Systemanforderungen
- JeeHell A320GFMGS Software
- JeeHell FSUIPC Hardwaremodul
- FSUIPC 4/5 oder höher
- Arduino Board (oder kompatible)
- Lüfter/FAN mit PWM Funktionalität
- 12V DC Netzteil
Download
peroJeeHellPackFlow2Arduino
Changelog
- 29.07.2018 v6
- Arduino Sketch
- Improvement of logic
- Software
- Improvements and better Error handling
- Arduino Sketch
- 11.07.2018 v5
- Latest Version
Installation
Arduino
Unser Arduino braucht den Softwarecode (Sketch), um zu wissen, wie er sich verhalten soll. Der Sketch definiert die PINs für das PWM-Signal und die Eingänge in Variablen. Wenn sich dies durch Ihre Konfiguration ändert, ändern Sie einfach die Variablen. Denken Sie daran, dass die PIN für den FAN eine PWM-Ausgangs-PIN sein muss:
int pin_PWM = 9;
Die PINs für den Eingang des „Pack Flow Switch“ müssen digitale Eingänge sein:
int pin_pFlowLO = 22; int pin_pFlowNORM = 24; int pin_pFlowHI = 26;
Arduino Code
int fanSpeed = 0; int pin_PWM = 9; int pin_pFlowLO = 22; int pin_pFlowNORM = 24; int pin_pFlowHI = 26; int pin_Last = 0; int pin = 0; int runFan = 0; String sendItem = ""; void setup() { TCCR2B = TCCR2B & 0b11111000 | 0x01; // Setzt Timer1 (Pin 9 und 10) auf 31300Hz pinMode(pin_PWM, OUTPUT); pinMode(pin_pFlowLO, INPUT_PULLUP); pinMode(pin_pFlowNORM, INPUT_PULLUP); pinMode(pin_pFlowHI, INPUT_PULLUP); Serial.begin(9600); } void loop() { if (digitalRead(pin_pFlowLO) == LOW) { sendItem = "pFlowLO"; sendPin(); } if (digitalRead(pin_pFlowNORM) == LOW) { sendItem = "pFlowNORM"; sendPin(); } if (digitalRead(pin_pFlowHI) == LOW) { sendItem = "pFlowHI"; sendPin(); } String s = Serial.readString(); // get the character if (s.indexOf("fanOn") >= 0 || runFan == 1) { if (sendItem != "") { Serial.println (sendItem); runFan = -1; } } if (s.indexOf("fanOff") >= 0 || runFan == 0) { analogWrite(pin_PWM, 0); runFan = 0; } else { analogWrite(pin_PWM, fanSpeed); } } void sendPin() { if (sendItem=="pFlowLO") { pin = pin_pFlowLO; fanSpeed = 64; } if (sendItem=="pFlowNORM") { pin = pin_pFlowNORM; fanSpeed = 128; } if (sendItem=="pFlowHI") { pin = pin_pFlowHI; fanSpeed = 255; } if (pin != pin_Last) { Serial.println (sendItem); pin_Last = pin; } }
peroJeeHellPackFlow2Arduino.exe
Meine Software muss nur einmal durch Auswahl des COM-Ports konfiguriert werden. Sie benötigt eine FSUIPC-Verbindung und einen laufenden Simulator. Natürlich muss der Arduino angeschlossen sein.