milczacy Napisano 2 Sierpnia 2016 Share Napisano 2 Sierpnia 2016 Jak niektórzy wiedzą mam na "koncie" dwa modele samolotów w skali 1:144, w których zastosowałem oświetlenie nawigacyjne. Nie wdając się w tym momencie w szczegóły, tym razem chciałbym tylko napisać o samych modułach sterujących. Pomoc otrzymałem od kolegi "AndyCopter" z forum pfmrc.eu i w wykonanych modelach, z racji ich sporych rozmiarów zastosowałem płytkę Arduino Nano. Jest to o tyle dobre rozwiązanie, że możemy dzięki odpowiedniemu programowi zasymulować praktycznie dowolną sekwencję świecenia lamp strobo i beacon. Niestety do mniejszych modeli ta płytka jest po prostu za duża. Jednak inny kolega "bluuu" z pfmrc.eu, zaprojektował, wykonał i przysłał mi mikro płytkę rozmiarów 9,7x13,2mm. Zmieści się ona chyba w każdym modelu, nawet w skali 1:144. Poniżej zamieszczam schemat tego modułu oraz filmik demonstrujący jej pracę. Jego jedyną wadą jest fakt, że programu sterującego nie można zmienić, jest on wgrany już "fabrycznie". W razie pytań - postaram się pomóc. Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Super Moderator jawkers Napisano 2 Sierpnia 2016 Super Moderator Share Napisano 2 Sierpnia 2016 Witam. Super temat. Jak możesz to zrób "krok po kroku" o układzie ogólnie dostępnym, czyli tym "Audrino nano". Od podłączenia diody , po wgranie programu czy sekwencji. Po prostu wszystko. Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
karambolis8 Napisano 3 Sierpnia 2016 Share Napisano 3 Sierpnia 2016 Też bym chętnie coś takiego sobie zmontował. Jaki jest koszt i jak zaprogramować układ? Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
milczacy Napisano 3 Sierpnia 2016 Autor Share Napisano 3 Sierpnia 2016 Podaję zatem garść 'konkretów'. Zacząć należy od zakupu płytki Arduino Nano lub jej klona (na allegro jest tego pokaźna ilość) koszt ~15zł. Następnie należy pobrać darmowe oprogramowanie ze strony https://www.arduino.cc/en/Main/Software W międzyczasie może być potrzebne zainstalowanie sterowników obsługi USB. W sprzedaży są dostępne moduły z chipem CH340 (mniej typowy, potrzebne odpowiednie sterownika dla Windows) oraz FTDI (Windows rozpoznaje je automatycznie). Po rozpoznaniu modułu w komputerze uruchamiamy program Arduino, ustawiamy w nim odpowiednie opcje (typ posiadanego modułu Arduino oraz port szeregowy do komunikacji), kopiujemy kod sterujący oświetleniem i wgrywamy do pamięci modułu. Przykładowy kod, który steruje oświetleniem w moim B748F wygląda tak: /* Oświetlenie nawigacyjne Boening 747 Program przeznaczony dla Arduino, udostępniany jest na licencji OpenSource. autor: warp3r[at]wp.pl modified by milczacy */ const int LEDOFF = 0; const int LEDON = 96; // 25% const int LEDBLINK = 244; // 100% const int LEDHALF = 120; // 50% class LED { private: byte _ledPin; int _ledState; int _ledLastState; long _currentMillis; long _previousMillis; public: byte _brightness; long _interval; long _time; LED ( byte pin); void setOn(); void setOff(); void setOnTime(); void setBrightness( byte brightness); }; LED::LED( byte ledpin) : _ledPin(ledpin) { _brightness = 0; _ledState = LOW; _ledLastState = LOW; _currentMillis = millis(); _previousMillis = _currentMillis; long _time; pinMode(_ledPin, OUTPUT); } void LED::setOn() { analogWrite (_ledPin, _brightness); } void LED::setOff() { digitalWrite (_ledPin, LOW); } void LED::setBrightness ( byte brightness) { _brightness = brightness; } void LED::setOnTime(){ _currentMillis = millis(); if( _currentMillis - _previousMillis > _interval) { _previousMillis = _currentMillis; if (_ledState == LOW) { _ledState = HIGH; _brightness = LEDBLINK; } else { _ledState = LOW; _brightness = LEDOFF; } _ledLastState = _ledState; } if (_ledLastState == _ledState) { if ( (_currentMillis - _time) < _previousMillis) { _brightness = LEDBLINK; } else { _brightness = LEDOFF; } setOn(); } } /* dla Arduino Nano */ int Led_1 = 3; //ogon, białe flash int Led_2 = 5; //strobo skrzydla, biały flash int Led_3 = 6; //beacon, czerwony flash int Led_4 = 9; //position-zielone,czerwone,białe int Led_5 = 10; int Led_6 = 13; int Led_7 = 2; //landing golen, białe stałe int Led_8 = 7; //landing skrzydla wew, białe stałe int Led_9 = 8; //landing skrzydla zew, białe stałe int sensorPin = A0; // select the input pin for the potentiometer int ledPin = 12; // oświetlenie wnętrza modelu, białe int sensorValue = 0; // variable to store the value coming from the sensor LED Led_tail(Led_1); LED Led_strobe(Led_2); LED Led_beacon(Led_3); // Ustawienia po uruchomieniu układu void setup() { // ustawiamy stan IO, internal pull pinMode(Led_1, OUTPUT); pinMode(Led_2, OUTPUT); pinMode(Led_3, OUTPUT); pinMode(Led_4, OUTPUT); pinMode(Led_7, OUTPUT); pinMode(Led_8, OUTPUT); pinMode(Led_9, OUTPUT); pinMode(ledPin, OUTPUT); // tu regulujesz czas błysków Led_tail._interval = 1700; Led_tail._time = 60; Led_strobe._interval = 1000; Led_strobe._time = 70; Led_beacon._interval = 2400; Led_beacon._time = 100; } /* Wszystkie światła wyłączone */ void LEDS_OFF() { analogWrite(Led_1, LEDOFF); analogWrite(Led_2, LEDOFF); analogWrite(Led_3, LEDOFF); analogWrite(Led_4, LEDOFF); analogWrite(Led_7, LEDOFF); analogWrite(Led_8, LEDOFF); analogWrite(Led_9, LEDOFF); analogWrite(ledPin, LEDOFF); } /* Tylko światła nawigacyjne i pozycyjne (obrysowe) */ void Mode1() { Led_tail.setOnTime(); Led_strobe.setOnTime(); Led_beacon.setOnTime(); analogWrite(Led_4, LEDBLINK); analogWrite(Led_7, LEDOFF); analogWrite(Led_8, LEDOFF); analogWrite(Led_9, LEDOFF); } /* Światła nawigacyjne, pozycyjne i lądowania*/ void Mode2a() { Led_tail.setOnTime(); Led_strobe.setOnTime(); Led_beacon.setOnTime(); analogWrite(Led_4, LEDBLINK); analogWrite(Led_7, LEDBLINK); analogWrite(Led_8, LEDOFF); analogWrite(Led_9, LEDOFF); } void Mode2b() { Led_tail.setOnTime(); Led_strobe.setOnTime(); Led_beacon.setOnTime(); analogWrite(Led_4, LEDBLINK); analogWrite(Led_7, LEDBLINK); analogWrite(Led_8, LEDBLINK); analogWrite(Led_9, LEDOFF); } void Mode2c() { Led_tail.setOnTime(); Led_strobe.setOnTime(); Led_beacon.setOnTime(); analogWrite(Led_4, LEDBLINK); analogWrite(Led_7, LEDBLINK); analogWrite(Led_8, LEDBLINK); analogWrite(Led_9, LEDBLINK); } /* Tylko światła pozycyjne - obrysowe */ void Mode3() { analogWrite(Led_1, LEDOFF); analogWrite(Led_2, LEDOFF); analogWrite(Led_3, LEDOFF); analogWrite(Led_4, LEDBLINK); analogWrite(Led_7, LEDOFF); analogWrite(Led_8, LEDOFF); analogWrite(Led_9, LEDOFF); } /* w tej pętli, program wykonuje się w nieskończoność */ void loop() { /* read the value from the sensor: potencjometr dzielę na 6 pozycji, dla 6 trybów pracy */ sensorValue = analogRead(sensorPin); if ( sensorValue < 170 ) { LEDS_OFF(); analogWrite(ledPin, LEDOFF); } if ((sensorValue > 170) and (sensorValue < 340)) { Mode3(); analogWrite(ledPin, LEDHALF); } if ((sensorValue > 340) and (sensorValue < 510)) { analogWrite(ledPin, LEDOFF); Mode1(); } if ((sensorValue > 510) and (sensorValue < 680)) { analogWrite(ledPin, LEDOFF); Mode2a(); } if ((sensorValue > 680) and (sensorValue < 850)) { analogWrite(ledPin, LEDOFF); Mode2b(); } if (sensorValue > 850) { Mode2c(); } } /* a tu jest koniec kodu v2.3.2 */ Jest to wersja nieco rozbudowana, bo wymyśliłem sobie kilka trybów świecenia, w najprostszej wersji, gdyby był tylko jeden tryb, kod byłby prostszy. W kolejnym poście opiszę stosowane diody świecące - LED. Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
milczacy Napisano 3 Sierpnia 2016 Autor Share Napisano 3 Sierpnia 2016 (edytowane) Ostatnią sprawą pozostaje wybór diod świecących. Z uwagi na dłubanie w skali 1:144 stosują małe diody LED SMD typu 0603, które są naprawdę małe (choć są jeszcze mniejsze typu 0402) i pewien problem może sprawić przylutowanie do nich przewodów. Jest to jednak do zrobienia, a być może oświetlając większy model możemy użyć większych diod. Oto kilka propozycji LED z oferty Conrad: czerwona 250 mcd zielona 430 mcd biała (ale nie podano zimna czy ciepła) czerwona 50 mcd zielony 50 mcd czerwony 80 mcd czerwony 100 mcd W/w diody dobrze nadają się jako światła pozycyjne, czy stroboskopy. Do oświetlenia wnętrza, jako 'beacon' można z powodzeniem stosować diody THT czyli takie z nóżkami, które lutuje się bardzo łatwo. Do modułu Arduino diody podłączam poprzez rezystory o oporności 200-600 Ohm, w zależności jaką jasność chcę otrzymać. Edytowane 3 Sierpnia 2016 przez Gość Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Solo Napisano 3 Sierpnia 2016 Share Napisano 3 Sierpnia 2016 Fajny temat. Pomyślałbyś o jakimś "how to" dla tych którzy chcieliby zrobić na przykład światła pozycyjne w swoich maszynach. Ja sam bym chętnie coś takiego wykombinował, gdybym wiedział jak. Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
milczacy Napisano 3 Sierpnia 2016 Autor Share Napisano 3 Sierpnia 2016 Światła pozycyjne to najprostsza opcja - ponieważ świecą stale, wystarczy podłączyć LEDy poprzez oporniki do źródła zasilania. Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Solo Napisano 3 Sierpnia 2016 Share Napisano 3 Sierpnia 2016 A są jakieś malutkie diody, które można wysunąć poza obrys kadłuba i na przykład umieścić wewnątrz wywierconych światełek pozycyjnych z plastiku clear? Do tego dochodzą jeszcze światła antykolizyjne, które migają, więc to już by takie proste nie było. Ja jestem kompletnym lajkonikiem w tym temacie, więc nawet nie wiedziałbym od czego zacząć, jakie diody kupić, jaki układy elektroniczne, jak je połączyć, czym zasilić itp. Taki przewodnik dla niekumatych byłby tutaj pewnie nie tylko przeze mnie bardzo gorąco powitany. Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Super Moderator jawkers Napisano 3 Sierpnia 2016 Super Moderator Share Napisano 3 Sierpnia 2016 Wpisałem na Allegro w wyszukiwarce "Audrino nano" i pokazało mi 2 strony z płytkami. Czy każda płytka to jest to samo, czy ty używasz konkretnego modelu? Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
milczacy Napisano 3 Sierpnia 2016 Autor Share Napisano 3 Sierpnia 2016 Ja osobiście kupowałem u tego użytkownika, ale każda płytka Arduino Nano się nada. @Solo - ja aż tak małych LED nie znam, w tym przypadku pomyślałbym o światłowodach wyprowadzonych poza obrys modelu. Tylko wtedy należy bardzo dobrze "zaizolować" samo źrodło światła w modelu, gdyż może ono prześwitywać przez plastik modelu. Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
milczacy Napisano 3 Sierpnia 2016 Autor Share Napisano 3 Sierpnia 2016 Na forum mamy już temat o podstawach -> viewtopic.php?f=40&t=50304 poproszę moderatora o przeniesienie go do odpowiedniego działu. Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Super Moderator jawkers Napisano 3 Sierpnia 2016 Super Moderator Share Napisano 3 Sierpnia 2016 No dobra płytkę już zamówiłem, czas przejść z teorii do praktyki. Mamy już płytkę Audrino Nano V3.0 i co dalej? Gdzie, które przewody lutujemy? A i jeszcze jedno, czym to jest zasilane? Bo chyba jakaś bateria musi być? Poprosimy jakiś schemat? Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
milczacy Napisano 3 Sierpnia 2016 Autor Share Napisano 3 Sierpnia 2016 Jutro postaram się opisać to jakoś prościej, przyda się jednak informacja do jakiego samolotu chciałbyś to wbudować - trzeba bowiem rozpoznać i odwzorować właściwą sekwencję świecenia. Arduino Nano może być zasilane z zasilacza 5V (każdy zasilacz do smartfona) lub dowolnedo stałoprądowego zasilacza 6 do chyba 15V. Ja po prostu zasilam to z portu USB. Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Super Moderator jawkers Napisano 4 Sierpnia 2016 Super Moderator Share Napisano 4 Sierpnia 2016 Będę budował Airbusa A380 z Revell i jak mam się męczyć i malować te setki foteli co są w tym modelu, to czemu mam się nie pomęczyć i zrobić mu oświetlenie jak należy. Na pewno urozmaici urok tego modelu. Tylko się zastanawiam czy pokład miałby się świecić stale, czy tylko co jakiś czas, na jakiś czas. Za to kabina pilotów świeciła by stale. Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
milczacy Napisano 4 Sierpnia 2016 Autor Share Napisano 4 Sierpnia 2016 Najlepiej załóż warsztat, na szczęście sekwencję Airbusa mam gotową, bo różni się od Boeinga. Jeśli planujesz różne tryby świecenia - trzeba to dobrze rozplanować Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Super Moderator jawkers Napisano 4 Sierpnia 2016 Super Moderator Share Napisano 4 Sierpnia 2016 Na pewno się zgłoszę do Ciebie, A ty pokarz schematy, itp., bo temat ciekawy. Czyli zasilasz to z USB z komputera? Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
milczacy Napisano 4 Sierpnia 2016 Autor Share Napisano 4 Sierpnia 2016 (edytowane) Tutaj jest opis wyprowadzeń: W sekcji programu masz przypisanie nóżki płytki do obwodu świetlnego /* dla Arduino Nano */ int Led_1 = 3; //ogon, białe flash int Led_2 = 5; //strobo skrzydla, biały flash int Led_3 = 6; //beacon, czerwony flash int Led_4 = 9; //position-zielone,czerwone,białe int Led_5 = 10; int Led_6 = 13; int Led_7 = 2; //landing golen, białe stałe int Led_8 = 7; //landing skrzydla wew, białe stałe int Led_9 = 8; //landing skrzydla zew, białe stałe int sensorPin = A0; // select the input pin for the potentiometer int ledPin = 12; // oświetlenie wnętrza modelu, białe int sensorValue = 0; // variable to store the value coming from the sensor gdzie liczba po znaku równości określa właśnie oznaczenie wyjścia (D2...D13) na płytce Arduino. Testowo podłączaj LED przez opornik 300-500 Ohm do anody(+) diody; masa jest wspólna, podłączana do katody (-) diody. Edytowane 6 Lutego 2019 przez milczacy aktualizacja opisu płytki Arduino Nano Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
milczacy Napisano 6 Lutego 2019 Autor Share Napisano 6 Lutego 2019 W uzupełnieniu tematu, ostatnio narysowałem prosty schemat połączeniowy do oświetlenia, który użyłem w moim Airbusie A350-900. Schemat narysowałem w aplikacji Fritzing. Może się to komuś przyda 1 Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
milczacy Napisano 13 Grudnia 2019 Autor Share Napisano 13 Grudnia 2019 W uzupełnieniu tematu - Chińczycy wreszcie sprzedają gotowe polutowane LEDy SMD https://pl.aliexpress.com/item/4000189380306.html Świetna sprawa, bo lutowanie takich mikrusów to było wyzwanie, które mnie zniechęcało do oświetleń 1 Cytuj Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.