Keresem a műszerfalon azokat a dolgokat, amivel elkezdhetek dolgozni és akár a prototípus beépíthető lenne majd a cockpitbe. Az első ilyen egyszerűnek tűnő dolog a magnetos, azaz a gyújtáskapcsoló.
A repülőgép motorok kétkörös mágneses gyújtással rendelkeznek. Ezek a mágnesek teljesen le vannak választva a légijármű elektronikájától, így bármi miatt áramtalanítania kell a pilótának, a motor attól még tovább járhat. A két körös rendszer (jobb és bal kör) nem csak a mágneses gyújtásban, hanem a gyertyák számában is visszaköszön. Az 5 állású kapcsolóval ezeket lehet kapcsolni:
- OFF - a gyújtás le van kapcsolva
- R - jobb kör
- L - bal kör
- BOTH - R+L - jobb és bal kör
- START - indítózás (indító motor pörgetése)
A kapcsolók talán a legegyszerűbb áramköri elemek a kabinunkban. Bináris, tehát két állapota van KI/BE. Ez a gyújtáskapcsoló felfogható 5 egymás mellett levő kapcsolónak, amiről azt tudjuk, ha 1 BE van kapcsolva, akkor a többi bizonyosan KI állapotban van (persze ez csak a szimulátor szempontjából igaz, a valós gépen nem. Ott a BOTH állás voltaképp az R+L-t kapcsolja egyszerre, START esetén pedig R+L+START).
A kapcsolót Arduinóval kezelni hasonló módon lehet, mint azt mutattam az Arduino Micro - USB Joystick postban. Két különbség van: analogRead() helyett a digitalRead() függvényt kell használni, a visszatérési értéke pedig nem egy 0-1023 közötti szám, hanem LOW vagy HIGH lesz.
Kétféle megoldás van a fejemben a gyújtáskapcsolóra: kapcsolóként kezelve, tengelyként kezelve.
Gyújtáskapcsoló kapcsolóként kezelve
Ez lenne talán a legegyszerűbb megoldás. Az Arduino 5 digitális bemenetére rákötjük az 5 állását a kapcsolónak, és egyszerűen leolvassuk a bemenetekről, épp hol áll a kapcsoló. Ezt beállíthatjuk az USB játékvezérlőnk 5 nyomógombjára, amit majd a szimulátorban a kapcsoló állapotaihoz rendelünk.
Ezzel a megoldással az a bajom, hogy 5 bemenetet elvesz a kis Arduino boardunktól. Az Arduino Micro 14 digitális és 4 analóg bemenettel rendelkezik. 14 digitális bemenetből 5-öt elhasználni egyetlen kapcsolóhoz... hát nekem ez soknak tűnik.
Gyújtáskapcsoló tengelyként kezelve
Azt már mutattam, egy potméterrel milyen egyszerű egy tengelyt lekezelni. Lehetne ezt használni a gyújtáskapcsolónál is. A kérdés igazából az, hogy a szimulátor tudja-e tengelyként értelmezni. Akkor sincs nagy gond ha nem, mert Arduino-ra írni egy kis programot, ami a Joystickunk egy gombjához hozzárendel egy potméter állapotot, nem tűnik nehéz feladatnak. Így ott lennénk, mintha kapcsolóként kezelnénk, viszont 5 bemenet helyett csak egyetlen egyet használunk fel.
Összerakok egy kapcsolós és egy analóg verziót is, meglátjuk eldől-e egyértelműen melyik a jobb út.