Skocz do zawartości
Miniek

Overhead panel Boeing 737-800

Pomocna odpowiedź

Witam wszystkich.

Chciałbym wykonać konsolę (overhead) do symulatora lotu, niestety jestem totalnym laikiem i będę potrzebował pomocy forumowiczów odnośnie części, programowania i złożenia wszystkiego. Ktoś wykonał coś podobnego, tylko o wiele mniej przełączników, do symulatora ciężarówki wykorzystując sterownik od klawiatury. Jednak ja bym chciał, żeby sprzęt był wykrywany przez PC jako kontroler.

Konsola wygląda następująco:

Overhead2.thumb.jpg.42595bc0eaf120fbd8c066dec36109de.jpg

Zaznaczyłem kolorami tylko te rzeczy, które mnie interesują, one powinny znaleźć się na konsoli, reszta jest nieistotna. Pomyślałem, że sercem tego wszystkiego byłoby Arduino Leonardo z Atmega32U4. Jednak nie wiem, czy obsłuży taką ilość przełączników.

 Teraz wyjaśnię znaczenie kolorów. Ponieważ nie orientuję się w fachowych nazwach, będę tłumaczył po chłopsku. Na czerwono zaznaczyłem przełączniki ON/OFF, które po przełączeniu pozostają w danej pozycji, na zielono przełączniki  trój pozycyjne, które pozostają w zadanej pozycji, na ciemno niebiesko przełączniki ON/OFF/ON (ustawione są w pozycji środkowej, po przełączeniu w którąkolwiek stronę wracają na środek), kolor żółty, to przełączniki obrotowe wielopozycyjne (2 siedmio pozycyjne, wiem, że takich nie ma, i 4 cztero pozycyjne), jasny niebieski, to potencjometry obrotowe, dwa pomarańczowe, to potencjometry wieloobrotowe i różowy, który jest specyficzny, bo górna i środkowa pozycja działa, jak ON/OFF, jednak dolna odbija po puszczeniu na środek. Nie wiem, czy takie coś się dostanie? Podobnie jest z dwoma przełącznikami wielopozycyjnymi w sekcji ENGINE START, które po przełączeniu na  pozycję GND, po uzyskaniu odpowiedniej wartości, automatycznie przeskakują ma pozycję OFF. Oczywiście żaden z przełączników, czy potencjometrów fizycznie nic nie uruchamia, jedynie komputer musi wiedzieć, że coś się zadziało.

Jeśli ktoś mógłby mi podpowiedzieć, jakie części mam kupić i czy Leonardo się do tego nada, lub co w ogóle się nada,to bym był bardzo wdzięczny. Jeszcze pozostaje kwestia, jak to wszystko połączyć, aby działało i dało się skonfigurować z poziomu gry.

Uważam, że temat zainteresuje wielu entuzjastów symulatorów lotniczych, bo kierownice, joysticki i pady już były, a tego typu konstrukcje są niebotycznie drogie (sama obudowa bez elektroniki kosztuje ponad 600 euro).

Pozdrawiam wszystkich majsterkowiczów.

 

Udostępnij ten post


Link to post
Share on other sites

Witamy. Wybacz, ale wygląda to jak przypadek który coraz częściej się tu pojawia: nic nie mam, nic nie wiem ale chcę zrobić coś jak na obrazku. Marzenia to nic złego, ale jakiś kontakt z rzeczywistością by się przydał, nie sądzisz? Dorosły człowiek swój rozwój umie zaplanować a i sam proces kosztuje: zarówno czas jak i pieniądze. Rozumiem, że nie chcesz uczyć się na własnych błędach - i słusznie, tylko dlaczego uważasz, że znajdziesz ludzi gotowych poprowadzić Cię za rączkę od zera do bohatera? Ten projekt będzie wymagał od Ciebie przyswojenia mnóstwa wiedzy, bo Forum jest od dawania porad i ew. wyznaczania/korygowania kierunków a nie robienia projektu równolegle z Autorem. Zatem jeśli jesteś gotów na całe tygodnie (a raczej miesiące) nauki, to do dzieła.

Po pierwsze w tego typu opisach używaj wypunktowania, ew. numeracji. To wszystko jest dostępne w panelu edytora a bardzo ułatwia odpowiadanie i precyzuje dyskusję. Pozwoliłem sobie na edycję Twojego tekstu:

  1. czerwone - przełączniki ON/OFF, które po przełączeniu pozostają w danej pozycji
  2. zielone -  przełączniki  3-pozycyjne, które pozostają w zadanej pozycji
  3. ciemno niebiesko - przełączniki ON/OFF/ON, ustawione są w pozycji środkowej, po przełączeniu w którąkolwiek stronę wracają na środek
  4. żółte - przełączniki obrotowe wielopozycyjne (dwa 7-pozycyjne i cztery 4-pozycyjne),
  5. jasny niebieski - potencjometry obrotowe
  6. pomarańczowe - potencjometry wieloobrotowe
  7. różowy - przełączniki gdzie górna i środkowa pozycja działa jak ON/OFF jednak dolna odbija po puszczeniu na środek

Wygląda lepiej, prawda?

No to po kolei. Przełączniki 2- i 3-pozycyjne w zasadzie w dowolnych konfigurtacjach stabilności-niestabilności są do kupienia. Typowe potencjometry mają ok. 270° obrotu a wieloobrotowe, 10 obrotów. Czy to jest OK? Punkt ostatni - w razie kłopotów możesz zrealizować umieszczając dodatkową sprężynę powrotną na jednej z pozycji skrajnych.

Przełączniki obrotowe:możesz kupić większe (w sensie liczby pozycji) a potem tak zaprojektować ich montaż (np. poprzeczka umieszczona za tablicą i przełożona przez średnicę osi opierająca się o ograniczniki mechniczne) by uzyskać mniejszy zakres ruchu. W ten sposób bierzesz np. popularne 8-pozycyjne (kilka takich samych jest tańsze w zakupie) i robisz z nich cokolwiek mniejszego.

Najgorzej będzie z tymi elementami które muszą same coś robić samodzielnie. Przełącznik przechylany możesz popchnąć jakimś serwomechniazmem (juz czytaj jak się je podłącza i obsługuje) na żądaną pozycję (choć sprzęgło umożliwiające jednoczesną pracę ręczną też nie będzie trywialne), ale żeby obrotowy ustawił się sam w którejś (skrajnej) pozycji to będzie wyższa szkoła mechaniki. Masz jakieś warsztat, rysujesz w CADzie, projektujesz tego typu mechanizmy? To m.in. miałem na myśli mówiąc o nauce. Bo jak rozumiem pozyskanie oryginalnych manipulatorów z 737 nie wchodzi w grę?

A teraz elektryka. Ze swojej strony propoponowałbym wybór mikrokontrolera (a zatem całej płyteczki) takiego w którym USB jest obsługiwane przez niezależny układ, niechby i konwerter UART/USB (FT? CH-cośtam?) bo w małych i prymitywnych prockach obsługa endpointa USB może wiązać się ze sporym narzutem czasowym i nieuniknionymi przerwami w dostępnie do CPU. Tak więc już lepszym rozwiązaniem z punktu widzenia komfortu pracy programu będzie poczciwe UNO. Z drugiej strony jeśli układzik ma się przedstawiać jako klawiatura czy coś-tam-innego HID to własne USB będzie konieczne, chyba że dostępne są jakieś programy podpinające np. wirtualny port szeregowy do Twojego symulatora latania a on sam umożliwia dowolne skonfigurowanie przychodzących kodów do funkcji w kokpicie.

Kolejna sprawa to sposób podłączenia tego wszystkiego do Arduino(?). Każda rzecz z osobna jest podpinana do mikrokontrolera w sposób trywialny, ale gdy masz tego tyle, zaczyna istnieć problem ograniczonej liczby pinów i konfiguracji układów pośredniczących. Jestem pewien, że dostaniesz tyle diametralnie różnych porad ilu będzie chętnych do dyskusji. Począwszy od użycia Arduino serii mega i wiąchy kabli (jeden pin to jeden zestyk przełącznika), poprzez rejestry przesuwające, a skończywszy na multiplekserach (analogowych i/lub cyfrowych) czy nawet kilku małych Arduino Mini połączonych ze sobą przez I2C czy Bóg wie jak. Acha, są jeszcze dedykowane scalaki do obsługi klawiatur - zapomniałem. Każde z tych rozwiązań ma swoje zady i walety a nikt za Ciebie ich nie rozważy więc to kolejny punkt w Twoim planie prac. A kiedy już coś postanowisz, przyjdzie czas na rysowanie schematu (programy do tego to osobny czas na naukę a pierwszy projekt robisz zwykle dla wroga), jego uzgodnienie i weryfikację przez Forum (bo sam nie jesteś w stanie ocenić jego sensowności) i zakupy - cała masa sklepów i ciągłe wybory tego zamiast tamtego. Czy masz jakiś zestaw narzędzi, mierników, lutownic, oporników, kabelków, złącz, innych drobnych elementów itp? Bo jeśli nie, to to także trzeba pozyskać a spróbuj zapytać (dla eksperymentu) jaką lutownicę/stację kupić.. Do tego (być może) jakieś płytki uniwersalne do montażu dodatkowych elementów pośredniczących, sam montaż (niektóre elementy - także przełączniki - sa naprawdę delikatne i warto mieć trochę doświadczenia aby ich nie popsuć), samo mozolne uruchamianie by upewnić się krok po kroku, że wszystko polutowane jest a) zgodnie ze sztuką, b) zgodnie ze schematem i wreszcie pisanie programu. Do tego czasu powinieneś już umieć pisać programy obsługujące przyciski, przetwornik ADC i komunikację. Wypadałoby więc od razu klupić jakies tanie Arduino (wcale niekonicznie docelowe) i zacząć trenować: począwszy od instalacji IDE, poprzez gotowe wprawki dostarczane "na gotowo" i ich modyfikacje do coraz bardziej samodzielnych programów - to są miesiące dłubania i rozkminiania nowych dla początkującego koncepcji.. 

Nie napisałeś nic o wyświetlaczach, LEDach itp. Jak rozumiem, to wszystko będziesz miał na ekranie a panel ma być tylko "wejściem", bez żadnych sygnalizacji stanu, czy tak?

Podsumowując: i tak nie zrobisz tego z marszu więc cała sprawa rozmyje się na spory kawał czasu sprowadzając się do normalnego toku przechodzenia przez kolejne kursy "Lutowanie dla opornych" czy "Elektronika dla przedszkolaków" (dostępne na Forbocie na pasku tytułowym powyżej, może pod trochę innymi nazwami) więc dlaczego planowo nie zacząć właśnie od tego (plus zakup Zestawu, bo bez własnych eksperymentów zniechęcisz się po jednym dniu czytania) mając wciąż z tyłu głowy odległy cel? W tym sensie mówiłem o planowaniu własnego rozwoju - do tego etapu raczej nie potrzebujesz pomocy Forum a gdy przyjdzie czas na pierwszy samodzielny projekt -jesteśmy do dyspozycji. To jeszcze nie ta chwila, wierz mi.

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

Wielkie dzięki za obszerną odpowiedź. Jasne, że nie mam pojęcia o elektronice, dlatego tu jestem. Na razie eksperymentuję z Arduino Uno. Oczywiście, że panel ma służyć jedynie do sterowania wirtualnym pulpitem w grze i  tylko wybrane funkcje, te najbardziej potrzebne, żadnych wyświetlaczy, zegarów itp. a samo przełączjące się  przełączniki, to tylko opcja. Byłem ciekawy, czy można to wykonać w prosty sposób. To ma działać na zasadzie: dany przełącznik włącza coś i wyłącza i to tyle. Wydaje się prosta sprawa, tak samo z potencjometrami. Chcę jedynie wiedzieć, jakie kupić, żeby móc cokolwiek zacząć robić. Mógłbym użyć switchy, z którymi pracowałem na Uno, ale wolę przełączniki dźwigniowe, które bardziej wyglądają  jak oryginalne i chyba działają na innej zasadzie. Poza tym Uno nie podłączę do komputera jako kontroler, dlatego pytałem, czy Leonardo temu podoła, a jeśli nie, to co podoła? Na początek chcę skompletować podzespoły, żeby w ogóle zacząć realizację. Może nic z tego nie wyjdzie, ale chcę spróbować, bo niby czemu nie? 😉

 

Udostępnij ten post


Link to post
Share on other sites

Po pierwsze nie napisałem, że nie, tylko że nie teraz. Po drugie nawet nie wiesz co chcesz zrobić. Tak, jasne, przyciski, przełączniki, potencjometry bla bla bla. Czy w ogóle zastanowiłeś się nad moim pytaniem, czy jednak nie bardzo rozumiesz o co chodzi? Ten motyw o wirtualnym porcie szeregowym lub urządzeniu klasy HID a jeśli tak to jakim? Wiesz z czym może współpracować Twój program a z czym na pewno nie? To dowiedz się, bo to jedno z kluczowych założeń a od odpowiedzi zależy m.in. wybór płytki. A kiedy powinieneś uznać, że możesz zacząć to robić? Gdy Twoje własne programy będą obsługiwać dowolne klawiatury mechaniczne a Ty sam będziesz umiał narysować ich schematy i je rozumiał, gdy będziesz wiedział jak oprogramować wybraną klasę USB od strony urządzenia, gdy zrozumiesz jak wygenerować jakieś przerwanie okresowe (timery?) i jak w nim obsłużyć ADC, jak filtrować jego wyniki, jak obsługiwać serwomechanizmy itd itp. Nie twierdzę, że w asemblerze - to byłoby przegięcie, ale swobodne korzystanie z języka i gotowych bibliotek choćby i na Arduino byłoby wskazane. Dlatego wspomniałem o kursach i zestawach do prób własnych a jeśli masz już jakiś sprzęt, to na co czekasz? Za miesiąc intensywnej nauki nie powiesz o sobie "początkujący" lub "zielony", choć będzie to dopiero początek długiej drogi i może zaczniesz dostrzegać ile nie wiesz.

A konkretne przełączniki czy potencjometry? Wybieraj do koloru, bo nikt tego nie zrobi za Ciebie. Sklepy z elektroniką czekają. Sam musisz określić czy duży czy mały, czy gruby czy chudy albo czy drogi lub tani, bo żadne parametry elektryczne oprócz konfiguracji styków nie są tu ważne. Do tego jakieś gałki (jest kilka typowych średnic - tak wałków jak i otworów w gałkach, ale wiele elementów ma "autorskie" pomysły), być może nakładki na dźwigienki jeśli dany typ jest fajny (bo np. tani), ale źle wygląda na tablicy z powodu wielkości.

https://www.tme.eu/pl/katalog/przelaczniki-i-kontrolki_100232/

https://botland.com.pl/pl/70-przelaczniki-i-przyciski

https://www.piekarz.pl/przelaczniki-i-kontrolki/

https://slawmir.com.pl/przelacznik-inny-c-100_102.html

https://pl.farnell.com/c/przelaczniki-i-przekazniki/przelaczniki

https://lispol.com/oferta/przelaczniki-przyciski/dzwigniowe-mts

Udostępnij ten post


Link to post
Share on other sites

No właśnie liczyłem na to, że ktoś za mnie wybierze komponenty. Sklepy z elektroniką stacjonarne, jak i internetowe już znalazłem. Szkoda kupować w internecie po jednej sztuce i eksperymentować, za dużo traci się czasu i wysyłka niejednokrotnie przekracza koszt towaru, to samo tyczy się sklepów stacjonarnych, oczywiście poza kosztami wysyłki 😉 , a nie chcę kupować po jednym z każdego rodzaju, dlatego pytam, co potrzebuję? Ale chyba tak zrobię, przy najbliższej okazji, jak będę w pobliżu jakiegoś sklepu z elektroniką, to kupię kilka przełączników i sprawdzę jak działają. W każdym razie, dzięki za pomoc, poświęcony czas i chęci.

Pozdrawiam.

Udostępnij ten post


Link to post
Share on other sites

Pomoc jest możliwa jeśli zadajesz konkretne pytania. Znamy tylko ogólną koncepcję: jakiś płaski panel i kilka rodzajów przełączników. Każdy montowany "na panel" będzie się nadawał mechanicznie, choć sposoby montażu mogą być zupełnie rożne tak jak różne są wymagane średnice otworów i ich kształty - nie zawsze okrągłe więc obróbka ręczna może być żmudna. Co do elektryki - musisz czytać karty katalogowe podzespołów a w razie słabszych sklepów, które nie publikują danych producenta - pytać sprzedawcę. Pewnie, że nie ma sensu kupować po jednej sztuce na próbę, ale na szczęście dzisiejsze bazy danych dobrych sklepów (w tym rysunki, wymiarowania a nawet modele 3D) umożliwiają zrobienie całego projektu bez kupowania i posiadania ani jednego elementu w ręku. Zwykle jakaś rodzina przełączników zawiera wiele modeli o różnych własnościach mechanicznych a w szczególności różne kombinacje położeń stabilnych i niestabilnych. Naucz się jak tego typu rzeczy się oznacza, np. ON-OFF-(ON) i bez problemu wybierzesz dokładnie to czego potrzebujesz. Przecież my nie wiemy ani jak to ma wyglądać, ani jaki masz warsztat ani jaką zaplanowałeś konstrukcję panelu, wielkość i rozmieszczenie manipulatorów. Bo przecież nie będzie to wyglądało jak na zdjęciu, skoro połowa rzeczy zniknie. Nie domyślamy się czy chcesz zrobić coś  miniaturowego do postawienia/położenia obok klawiatury kompa czy robisz kokpit z fotelem drugiego pilota i kompletnym odwzorowaniem kabiny tego Benka. To niby jak mamy wskazywać konkretne elementy? Poza tym o ile przełączniki przechylne występują w wielu postaciach i typoszeregach, o tyle tych obrotowych jest znacznie mniej (a potencjometrów wieloobrotowych jeszcze mniej?). Być może to od nich powinieneś zacząć, wybrać którąś rodzinę jednego producenta (albo wręcz jakiś jeden typ) i to do ich wielkości i rozmieszczenia dobrać skalę całości a co za tym idzie wielkość i położenie wszystkich innych przełączników. Prośba "Czego potrzebuję, pomóżcie!" jest zbyt ogólna byś dostał sensowną odpowiedź a i tak głównym kryterium będzie tu estetyka (i być może koszt) oraz zgranie całości - rzecz zupełnie subiektywna. A jak już wybierzesz konkrety to je pokaż wraz z linkami do stron sklepów lub (lepiej) do kart katalogowych producentów. Pokaż zwymiarowany rysunek panelu, może nawet pomysł na sposób połączenia (schemat?) - dopiero wtedy będzie o czym dyskutować. 

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

     Trochę to trwało, ale wreszcie jest, mój pierwszy panel do symulatora lotu. Jakoś ogarnąłem i działa. Z tego, co wyszperałem w necie, to przełączniki ON-OFF, raczej trudno skonfigurować, choć takie projekty są i działają, lecz ludzie próbujący wykonać taki projekt narzekali, że muszą dwa razy przełączać włącznik, aby przeskakiwał na odpowiednią pozycję. Nawet zastosowanie tranzystorów 10k, jak było w opisie jednego z projektów, nie dało pozytywnego rezultatu. Możliwe, że przy zastosowaniu innego kontrolera da się uzyskać żądany efekt, lecz nie wiem, jaka płytka była stosowane, w w/w projekcie (twórca nie podał), a sam sprzęt był konfigurowany jako klawiatura. Natrafiłem na Button Boxy  nawet 128 "klawiszowe", co nawet przy podłączeniu przełączników ON-OFF-ON, daje nam 64 "pstryczki", co w zupełności wystarczyłoby do stworzenia mojego Overhead'a, jednak poza filmem prezentującym działanie nie udało mi się znaleźć żadnych informacji o użytych częściach i połączeniu tego wszystkiego do kupy. Do panela, który zrobiłem, użyłem Arduino Leonardo i 7 przełączników dźwigniowych ON-OFF-ON i wykorzystałem piny od 0 do 13.  Znalazłem kod, który przykładowo obsługiwał pin 9 i rozbudowałem go do swoich potrzeb. Teraz obsługuje wszystkie 14 pinów.

Oto zdjęcia mojej pracy:

1421301939_Pasnel(1).thumb.jpg.eba488b184def6758b60f212e7b841f3.jpg1996280660_Pasnel(2).thumb.jpg.b75c60316b7946df5857b81bac916622.jpg

      Panel wykonałem na wzór Cessna Skyhawk (G1000) i planuję go jeszcze rozbudować o dwa przełączniki kołyskowe, wykorzystując piny analogowe A0-A5, jednak jeszcze nie wiem, jak rozbudować kod, aby obsługiwał piny analogowe, tak jak cyfrowe, ale dojdę do tego, chyba, że ktoś mi pomoże na forum. No i oczywiście zamknę to wszystko w obudowie. Schematu nie mogłem przedstawić we wcześniejszych postach, ponieważ projekt miałem w głowie, a schematów robić nie potrafię. Wydaje mi się, że to co wykonałem jest dość proste i nie trzeba do tego żadnej wiedzy, schematów i wielomiesięcznego studiowania nawet podstaw elektroniki. Wystarczy zapał, rady forumowiczów i eksperymentowanie. Poniżej podaję kod, który obsługuje "pudełko", może ktoś dopisze linijki, które pozwolą wykorzystać analogicznie piny analogowe:

#include <Joystick.h>

void setup() {
  // Initialize Button Pins
 
  pinMode(2, INPUT_PULLUP);
  pinMode(3, INPUT_PULLUP);
  pinMode(4, INPUT_PULLUP);
  pinMode(5, INPUT_PULLUP);
  pinMode(6, INPUT_PULLUP);
  pinMode(7, INPUT_PULLUP);
  pinMode(8, INPUT_PULLUP);
  pinMode(9, INPUT_PULLUP);
  pinMode(10, INPUT_PULLUP);
  pinMode(11, INPUT_PULLUP);
  pinMode(12, INPUT_PULLUP);
  pinMode(13, INPUT_PULLUP);
  pinMode(14, INPUT_PULLUP);
  pinMode(15, INPUT_PULLUP);
 
    // Initialize Joystick Library
  Joystick.begin();
}

// Constant that maps the phyical pin to the joystick button.
const int pinToButtonMap = 0;

// Last state of the button
int lastButtonState[14] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0};

void loop() {

  // Read pin values
  for (int index = 0; index < 14; index++)
  {
    int currentButtonState = !digitalRead(index + pinToButtonMap);
    if (currentButtonState != lastButtonState[index])
    {
      Joystick.setButton(index, currentButtonState);
      lastButtonState[index] = currentButtonState;
    }
  }

  delay(50);
}

    Kod działa, wszystkie przełączniki można skonfigurować z poziomu gry. Zastanawia mnie tylko, czy można napisać kod bez biblioteki Joystick, tak aby wykorzystać tylko te przełączniki, które fizycznie są, bo wykorzystując bibliotekę Joystick, w konfiguracji mamy dżojstik, 32 przyciski i jeszcze jakieś osie, których nie ma, jednak nie znam nic innego, co powoduje wykrycie Arduino jako kontrolera gier.

 

 

 

 

Edytowano przez Gieneq
Zachęcam do używania bloku kodu

Udostępnij ten post


Link to post
Share on other sites

Hmmm, nikt się nie dopisał, a jednak chciałbym wykorzystać 4 piny analogowe, bo chcę podłączyć jeszcze dwa przełączniki ON-OFF-ON. Ktoś pomoże dopisać potrzebne linijki wykorzystujące 4 piny analogowe, tak jak cyfrowe w tym kodzie, który zamieściłem?

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...