Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Samochód RC DIY - Lego + Arduino

Losik123 25 Mar 2016 13:29 10326 18
  • Samochód RC DIY - Lego + Arduino
    Witam serdecznie. Chciałbym przedstawić tutaj mój projekt. Jest to samochodzik w stylu RC, ale zrobiony właściwie z elementów, które gdzieś tam w domu leżały i szukałem dla nich zastosowania.

    Nie zajmuję się profesjonalnie ani mechaniką ani elektroniką a raczej programowaniem, ale częściowo te tematy mnie interesują i wiem, że jest tu duże pole do poprawy konstrukcji. W każdym razie konstruktywna krytyka mile widziana. Założenia konstrukcji nie były zbyt złożone – przed wszystkim:
    • Autko miało jeździć.
    • Sterowanie poprzez program komputerowy – wstępnie z klawiatury, ale zawsze można to rozwinąć o jakiegoś pada.
    • Jak najtańsze.
    • Sprawiać frajdę.
    Sam samochodzik zbudowałem z gotowego zestawu klocków lego, który zakupiłem za jakieś 90 zł. Kierowałem się tutaj tylko wielkością, żeby serwo zmieściło się do środka i osobistymi preferencjami dotyczącymi wyglądu, ale jakikolwiek inny pewnie by też dał radę. Dokupiłem dodatkowo dyferencjał z lego tak z ciekawości, żeby zobaczyć jak to chodzi (dostępny na allegro).
    Do budowy użyłem następujących elementów:
    • 1 x Zestaw klocków lego + dyferencjał (ok.100 zł)
    • 1 x Arduino Nano (2$)
    • 1 x Silnik DC 12V z przekładnią (zakupiony kiedyś na aliexpress) (~6$)
    • 1 x Mostek H SN754410 do sterowania pracą silnika DC
    • 1 x Serwo modelarskie SG90
    • 2 x NRF24L01 (do komunikacji bezprzewodowej)
    • 1 x Arduino Uno (jako nadajnik)
    • 2 x Diody LED (jako światła)
    • 1 x kawałek laminatu do wykonania płytki pcb
    • … + jakieś drobne rezystory
    W pierwszej kolejności do ramienia serwa (takiego rozłączanego) dokleiłem przy pomocy kropelki jeden z klocków jaki mi pozostał po wykonaniu zestawu lego, w taki sposób, że przez otwór w klocku jestem w stanie przełożyć wąski śrubokręt i przykręcić lub odkręcić w każdej chwili ramię (razem z klockiem) do/od serwa.
    Do wału silnika prądu stałego dokleiłem przy pomocy kleju epoksydowego (tzw. „ciekły metal”) koło zębate o odpowiednich wymiarach, takie żeby współpracowało z dyferencjałem. Oczywiście należało tutaj zachować szczególną uwagę, aby połączenie było współosiowe i idealnie prostopadłe. Klej stanowił tutaj rolę wypełniacza. W tym wypadku połączenie nie jest rozłączne jak w przypadku serwa.
    Dużym wyzwaniem było takie zamocowanie silnika, aby był w odpowiedniej pozycji względem dyferencjału i dodatkowo na tyle sztywno, aby nie odginał się pod wpływem obciążenia. Udało mi się znaleźć kawałek tworzywa sztucznego, o dość dużej grubości i akurat szerokości +/- szerokości obudowy silnika. Zatem tworzywo to lekko skróciłem i przykleiłem od spodu do ramy z klocków przy pomocy kleju epoksydowego. Po nałożeniu i zamocowaniu silnika nie gwarantowało to pełnej sztywności, zatem na powierzchnię koła zębatego w silniku dokleiłem kawałek pręta z klocków i z drugiej strony przy ramie zastosowałem klocek z otworem, co pełni rolę bardzo prymitywnego łożyska gdy klocek wpasowuje się w ten otwór, ale działa prawidłowo.




    Sterowanie odbywa się następująco: Program komputerowy, który napisałem w języku C# (Win Forms) czyta wciskane przyciski na klawiaturze i w dużym skrócie po przeanalizowaniu różnych warunków (np. co gdy wciśnięte są zarówno prawa i lewa strzałka -> jedź prosto itp. itd.) wysyła na port USB informację do mikrokontrolera (Arduino Uno) w postaci odpowiedniego znaku gdy następuje zmiana parametru. Mikrokontroler „pakuje” te informacje do tablicy int’ów (typy całkowite) i wysyła w świat. W tablicy znajdują się 3 parametry – pierwszy „int” odpowiada, za jazdę do przodu/tyłu/luz/hamulec, kolejny za skręt prawo/prosto/lewo, a ostatni to tylko włącznik świateł on/off. Kolejny mikrokontroler (Arduino Nano) umieszczony na samochodziku odbiera te sygnału i odpowiednio steruje jego pracą.
    Po sprawdzeniu układu na płytce stykowej zaprojektowałem dodatkowo płytkę PCB w programie Eagle i metodą termotransferu wykonałem ją fizycznie.
    Źródło zasilania niestety dość marne -> chwilowo baterie 2 x 9V (jedna do mikrokontrolera z serwem, druga zasila silnik DC pośrednio przez mostek H), aczkolwiek tak jak napisałem wyżej leciałem po kosztach – być może w przyszłości zainwestuję w sensowny pakiet baterii. Dużym minusem jest też to, że serwo ma 3 stany (lewo/prawo/prosto) aczkolwiek nie ma problemu, żeby zrealizować to w kodzie, po prostu nie miałem pada pod ręką, zatem napisałem program pod klawiaturę. Końcowy koszt to ok. 150 zł, jednak same klocki to ok. 100 zł, więc można to z pewnością jeszcze bardziej ograniczyć. I to chyba by było na tyle, jeśli ktoś będzie miał pytania bądź konstruktywne sugestie to uderzać do mnie śmiało, pozdrawiam !

    Wybaczcie, obrócony film:


    Samochód RC DIY - Lego + Arduino Samochód RC DIY - Lego + Arduino Samochód RC DIY - Lego + Arduino Samochód RC DIY - Lego + Arduino Samochód RC DIY - Lego + Arduino

    W załączniku dorzucam też kody do Arduino oraz aplikację do sterowania. Proszę mieć jedynie na uwadze, aby zmienić w którymś z kodów (tam gdzie odbywa się odczyt z radia) funkcję while() na funkcję if(), gdyż pisząc jeden z kodów korzystałem ze starej biblioteki RF24, a z jakiegoś dziwnego powodu w ostatnim roku zmieniono w bibliotece te funkcje, i też przez kilka dni nie byłem w stanie dojść do tego czemu nie chce mi się kod skompilować mimo, iż wcześniej działał. Pozdrawiam!


    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • #2 25 Mar 2016 15:55
    Frog_Qmak
    Poziom 25  

    Nie ma to jak krytyka na dzień dobry :)
    Może i nie cudo świata, ale jednak powiew świeżości z zastosowaniem klocków LEGO. Nie wszystko na elektrodzie musi ratować świat, często trudno zrozumieć, że niektóre projekty robi się dla frajdy i spełnienia W-Ł-A-S-N-Y-C-H oczekiwań. A nie po to, by zaprezentować na elektrodzie.

  • #3 25 Mar 2016 16:23
    bobo
    Poziom 29  

    Frog_Qmak napisał:
    Może i nie cudo świata, ale jednak powiew świeżości z zastosowaniem klocków LEGO.

    Nie wiem czy autko z klocków Lego to akurat jest ten wiatr, nie da się wyczuć zapachu tej świeżości.
    Frog_Qmak napisał:
    Nie wszystko na elektrodzie musi ratować świat, często trudno zrozumieć, że niektóre projekty robi się dla frajdy i spełnienia W-Ł-A-S-N-Y-C-H oczekiwań.

    Mocne, tak piaskiem w oczy. Nie trudno zrozumieć. Nie trzeba mieć matury.
    Frog_Qmak napisał:
    A nie po to, by zaprezentować na elektrodzie.

    Mimo wszystko ten projekt wylądował na elektrodzie, więc o co chodzi?
    Wesołych Świąt

  • #4 25 Mar 2016 16:25
    Duch__
    Poziom 31  

    Złącze pinowe zamiast np ARK? Aż się prosi o zwarcie nosz kurcze pieczone. Ej, ej jeszcze nie pieczone KO-KO-KO-LEGO

  • #5 25 Mar 2016 16:30
    Freddy
    Poziom 43  

    Frog_Qmak napisał:
    Nie ma to jak krytyka na dzień dobry
    Autor zamieszczając swój projekt w DIY musi się liczyć z krytyką.
    Nie ma samych pochwał, mnie się może podobać coś innego niż np. Tobie :).

  • #6 25 Mar 2016 17:50
    arecoag
    Poziom 19  

    Fajny projekt. Jak coś takiego powstaje z nudów to co można zrobić jak się człowiek nie nudzi?
    W chwili kiedy nie miałem nic do roboty pomyślałem że do projektu można by dodać sterowanie przez internet wifi czyli ESP8266 nowość chińska ale bardzo fajna, można sterować androidem.

  • #7 25 Mar 2016 19:50
    Piotrek1970
    Poziom 16  

    Kol. bobo nie wiem dlaczego tak zjechałeś ten projekt, autor włożył w niego trochę serca -wystarczy chociaż popatrzeć na PCB na której umieszczone są moduły, a że kol. Losik123 wykorzystał gotowce to to ma być coś złego? Czy jakbyś konstruował nowy samochód to projektowałbyś na nowo koło? Hobbyści i amatorzy mają tę wolność w procesie tworzenia, że nie zastanawiają się czy płytka Arduino/inna jest zaprojektowana zgodnie ze wszystkimi kanonami sztuki z dopiskiem PRO -biorą z półki "sklejają" jak leci, kombinują kawałki softu z różnych projektów i walczą, aż uzyskają zakładany efekt. Popatrz na inne portale jakimi "duperelami" ludzie się chwalą i to daje im radość. O to chodzi, cieszymy się naszymi sukcesami a czasami ta radość popycha nas do zaprezentowania naszego "tworu" na forum, o gustach się nie dyskutuje.
    Jeżeli już krytykujesz to rób to bardziej konstruktywnie, wskaż miejsce i zaproponuj inne rozwiązanie a na pewno autor podziękuje Ci za pomoc i przy okazji dzięki Tobie nauczy się czegoś nowego a to jest bardziej wartościowe o Twojego pierwszego wpisu.

  • #8 25 Mar 2016 20:06
    cristal2242
    Poziom 25  

    bobo napisał:
    Uderzam śmiało , jedno wielkie dziadostwo. A opis tej męki poniżej krytyki. Lepiej było zrobić maszynę do szycia albo wodotrysk:)
    Wesołych Świąt


    Za takie coś to powinni z forum wyrzucać. Wiesz czym jest kultura? Nie musi Ci się wszystko podobać, ale nie musisz tak pisać. Skąd wiesz, ile autor ma lat, może 10 i mniej, a wtedy byłby mądrzejszy od ciebie, więc zanim coś tak chamsko skrytykujesz, zastanów się dwa razy, widzisz błędy to popraw autora. Fakt, zębatki - plastik, elektronika nie najlepsza, ale działa i jeździ, spodoba się autorowi, zbuduje coś lepszego. Nie widzę powodu innej budowy, kiedy autko ma jeździć w domu.

  • #9 25 Mar 2016 20:31
    bobo
    Poziom 29  

    Piotrek1970 napisał:
    a że kol. Losik123 wykorzystał gotowce to to ma być coś złego? .

    A czy ja napisałem, że to jest coś złego?
    Piotrek1970 napisał:
    Czy jakbyś konstruował nowy samochód to projektowałbyś na nowo koło?

    Zaiste rewelacyjny przykład, nic podobnego projektowałbym karoserię.

    Piotrek1970 napisał:
    Popatrz na inne portale jakimi "duperelami" ludzie się chwalą i to daje im radość. O to chodzi, cieszymy się naszymi sukcesami a czasami ta radość popycha nas do zaprezentowania naszego "tworu" na forum

    Racja, jeszcze większymi niż można sobie wyobrazić, tylko że tam krytyka dodaje energii (nawet najgorsza) tam nikt z igły nie robi wideł, nie poucza, nie poprawia.

    Piotrek1970 napisał:
    o gustach się nie dyskutuje

    Wyświechtane do bólu.
    Piotrek1970 napisał:

    Jeżeli już krytykujesz to rób to bardziej konstruktywnie, wskaż miejsce i zaproponuj inne rozwiązanie a na pewno autor podziękuje Ci za pomoc i przy okazji dzięki Tobie nauczy się czegoś nowego a to jest bardziej wartościowe o Twojego pierwszego wpisu.

    Tu masz rację, mogłem inaczej, przepraszam.
    Wesołych Świąt

    Dodano po 3 [minuty]:

    cristal2242 napisał:
    Za takie coś to powinni z forum wyrzucać. Wiesz czym jest kultura? Nie musi Ci się wszystko podobać, ale nie musisz tak pisać. Skąd wiesz, ile autor ma lat, może 10 i mniej, a wtedy byłby mądrzejszy od ciebie, więc zanim coś tak chamsko skrytykujesz, zastanów się dwa razy, widzisz błędy to popraw autora. Fakt, zębatki - plastik, elektronika nie najlepsza, ale działa i jeździ, spodoba się autorowi, zbuduje coś lepszego. Nie widzę powodu innej budowy, kiedy autko ma jeździć w domu.

    Szanowny Panie, wypraszam sobie takie odzywki i teksty. Wolno mi wyrażać swoją opinie (jeszcze), nie obraziłem nikogo, autor nie miał do mnie pretensji, jak do tej pory, a to on ma prawo do urwania mi głowy i zmieszania z błotem. Mniemam, że autor nie potrzebuje obrońców i towarzystwa wzajemnej adoracji, zapewne sam potrafi sobie świetnie radzić. A co do kultury, to radzę się dobrze zastanowić zanim się o nią zacznie wycierać gębę. Poucza się innych bardzo łatwo, podczas gdy samemu nie do końca się umie rozpoznawać tekst i treści w nim zawarte.

  • #10 25 Mar 2016 23:10
    Losik123
    Poziom 5  

    Widzę mała wojna się zrobiła :D Spokojnie, wiem, że projekt w stosunku do profesjonalnych konstrukcji się nie umywa, ale może kogoś zainteresuje, że tanim kosztem można "coś" zrobić. Nie ukrywam jednak, że preferowałbym bardziej konstruktywną krytykę - nawet niech ktoś się przyczepi do "rozlanej masy" na pcb jeśli to źle to spoko, byle żeby powiedział co można lepiej zrobić, co poprawić, czemu tak lepiej, ... W każdym bądź razie ja się nie obrażam i nie planuję mieszać nikogo z błotem, a cieszę się że zawsze jest przestrzeń do rozwoju.

  • #11 26 Mar 2016 00:46
    2413870
    Użytkownik usunął konto  
  • #12 26 Mar 2016 08:20
    Freddy
    Poziom 43  

    Piotrek1970 napisał:
    ... autor włożył w niego trochę serca -wystarczy chociaż popatrzeć na PCB na której umieszczone są moduły
    No to się bardzo nad nią napracował:D
    Cytat:
    , a że kol. Losik123 wykorzystał gotowce to to ma być coś złego?
    W zasadzie tak.
    Dzisiaj wszyscy idą na łatwiznę i tylko gotowe moduły, aby się jak najmniej napracować.
    Jak przyszły pracodawca zapyta o osiągnięcia -ZROBIŁEM 20 układów - ale z klocków :P:P
    Opracuj sam układ i zaprojektuj do niego płytkę - to jest dopiero frajda.
    Cytat:
    Czy jakbyś konstruował nowy samochód to projektowałbyś na nowo koło?
    Żadne porównanie.
    Cytat:
    Hobbyści i amatorzy mają tę wolność w procesie tworzenia, że nie zastanawiają się czy płytka Arduino/inna jest zaprojektowana zgodnie ze wszystkimi kanonami sztuki z dopiskiem PRO -biorą z półki "sklejają" jak leci, kombinują kawałki softu z różnych projektów i walczą, aż uzyskają zakładany efekt.
    No i tu nie masz całkowicie racji. Prawdziwi hobbyści projektują układ od podstaw, a nie używają klocków.
    Cytat:
    Popatrz na inne portale jakimi "duperelami" ludzie się chwalą i to daje im radość.
    Co mnie obchodzą inne portale. Niech tam się bawią w migające diody.
    Cytat:
    O to chodzi, cieszymy się naszymi sukcesami a czasami ta radość popycha nas do zaprezentowania naszego "tworu" na forum, o gustach się nie dyskutuje.
    Składanie klocków to jest gust??
    Cytat:
    Jeżeli już krytykujesz to rób to bardziej konstruktywnie, wskaż miejsce i zaproponuj inne rozwiązanie a na pewno autor podziękuje Ci za pomoc i przy okazji dzięki Tobie nauczy się czegoś nowego a to jest bardziej wartościowe o Twojego pierwszego wpisu.
    Proszę bardzo, zacznij od wywalenia klocków i zaprojektuj układ sam.

  • #13 26 Mar 2016 11:02
    Piotrek1970
    Poziom 16  

    Oj kol. Fredy, lewą nogą dziś wstałeś, przypominam Ci, że elektroda.pl to forum publiczne i każdy ale to każdy ma prawo zarejestrować się i przedstawić swoje prace licząc na wyrozumiałość i konstruktywne opinie osób które mają większą wiedzę i doświadczenie od autora wątku. Dzięki takim zachowaniom podnosi się umiejętności w danej dziedzinie co może skutkować większym zaangażowaniem w przyszłe przedsięwzięcia. Ja w swoim długim życiu robiłem różne urządzenia, wieloma nie mogę się chwalić bo były za "kasę" i mimo, że minęło wiele lat to reklamacji brak. Co do pracodawców, zmieniłem ich już kilku i uwierz mi mają w głębokim poszanowaniu co skonstruowałeś i jak -dostajesz zadanie i albo podołasz i dogadacie się co do wynagrodzenia albo nie podołasz lub pracodawca nie będzie w stanie spełnić Twoich wymagań finansowych -i takich Ci życzę, bo warto wierzyć w siebie i swoje umiejętności.
    Bardziej niż taki projekt LEGO+arduino nie mogę zrozumieć jak inżynier informatyki chwali się beznadziejnie napisanym programem do kostki LED 8x8x8 i później tłumaczy się, że nie uczył się programowania mikrokontrolerów -znam kilku inżynierów i dlatego boję się chodzić do lekarza ;-)

    Miłego dnia i zakończmy tą dyskusję bo odbiegliśmy za bardzo od tematu a nic nowego ona nie wnosi.

    Autor odniósł się do komentarzy z wyrozumiałością wiedząc, że jego zabawka może i ma wiele niedociągnięć to spełnia podstawową funkcjonalność -przynosi radość jego twórcy.

  • #14 26 Mar 2016 11:44
    Freddy
    Poziom 43  

    Piotrek1970 napisał:
    Oj kol. Fredy, lewą nogą dziś wstałeś,
    prawą :P
    Cytat:
    przypominam Ci, że elektroda.pl to forum publiczne
    No i dobrze, ale klocki lego, to chyba nie to forum :D
    Cytat:
    i każdy ale to każdy ma prawo zarejestrować się i przedstawić swoje prace licząc na wyrozumiałość i konstruktywne opinie osób które mają większą wiedzę i doświadczenie od autora wątku. Dzięki takim zachowaniom podnosi się umiejętności w danej dziedzinie co może skutkować większym zaangażowaniem w przyszłe przedsięwzięcia
    No tak więcej doświadczenia w budowaniu z klocków.
    Więcej doświadczenia to autor i inni nabędą, gdy układ zostanie opracowany od początku do końca bez wykorzystywania gotowych klocków.

  • #15 26 Mar 2016 13:43
    pawel1029384756
    Poziom 20  

    Ten projekt jest o tyle ciekawy, że pokazuje, że nie trzeba kupować drogiej elektroniki od lego i nadal wykonywać konstrukcje mechaniczne z klocków. Wiadomo było by ciekawie jak by mając pewną ilość klocków samemu zaprojektować całą konstrukcję. Dodać jakąś zmianę biegów i tym podobne. Sam się tak bawiłem jak jeszcze nie umiałem obrabiać innych materiałów i też dało się do tego dorobić jakąś prymitywną elektronikę analogową. Oczywiście tego nie publikowałem, bo to były czasy modemu, a zdjęcia robiło się aparatem na kliszę.
    Wracając do prezentowanego projektu to myślę, że jest to świetny początek i może w przyszłości autor wykona coś w większym stopniu samodzielnie.

  • #17 28 Mar 2016 10:29
    keychi
    Poziom 18  

    Ciekawy masz ten projekt, zastanawiałeś się nad załączeniem świateł w samochodzie w momencie wjechania w ciemniejszy obszar pomieszczenia?

  • #18 29 Mar 2016 02:08
    Kiermasz
    Poziom 19  

    Oj czepiliście się klocków lego i klocków elektroniki...
    Ja osobiście nie widzę w tym nic złego. Sam jako fąfel konstruowałem z lego jeździdełka na baterie (epoka przed internetowa w PL - złote czasy rozwoju intelektualnego chyba).
    Nawet dostało to moje dziwne coś, analogowe sterowanie RC na 27MHz swego czasu :)

    Zaś jest to bardziej DIY programistycznie niż sprzętowe.
    Co do arduino itp. Dobre to jest jak się chce coś na szybko sklecić/uczyć się architektury/pobawić się częścią programową, lub też bywa użyteczne, gdy ma się pomysł "jak zdobyć władzę nad światem tuż przed świtem".

    Wobec tego proponuję dorobić jakiś prosty "manipulator" i niech chociaż jeździ po piwo do spreparowanej lodówki samochodowej.
    Będzie troszkę zabawy z lokalizacją w przestrzeni właśnie od strony programu.
    Ale jedno tam stanowczo nie pasuje - co tam robią te "bateryjki" 9V?! Wpakuj pakiet Li-Ion, albo chociaż żelaka z UPSu.
    Druga sprawa to myślę, że warto wzmocnić nieco (tak bardzo nieco) konstrukcję pod większą wagę oraz ten badziewny silniczek podmienić na coś przynajmniej z drukarki.
    No i porządne trybiki metalowe, wałki, łożyska, sprzęgła elektromagnetyczne i inne mechaniczne cudeńka znajdziesz w wojskowych sprzętach dostępnych masowo na allegro.
    No i powstanie przy tym szereg problemów inżynieryjnych ;)
    Have Fun!

  • #19 20 Maj 2016 17:59
    AdrinPL
    Poziom 9  

    Dzień dobry,

    buduje swój samochodzik również sterowany poprzez Arduino i moduły NRF24L01+.
    Spodobała mi się możliwość sterowania samochodem przez komputer i aplikację w Winforms C#, stąd moje pytanie do autora przedstawionego projektu i osób które w C# i WinForms mają "rozeznanie" ;) Ponieważ nie miałem jeszcze styczności z programowaniem w C#, jakie materiały byście polecili do nauki, by wykonać podobną aplikację, jak ta - autora (również sterowanie po wciskanych klawiszach z klawiatury)?

    Dziękuję i pozdrawiam ;)