Elektroda.pl
Elektroda.pl
X

Search our partners

Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Samochód sterowany przez wifi i kilka pytań...

Gabryys 17 Oct 2010 19:46 6791 14
lampy.pl
  • #1
    Gabryys
    Level 9  
    Witam Kolegów,

    kupiłem ostatnio nowoczesny telefon z kamerką, wifi, bluetoothem, gpsem, latarką i Androidem, i postanowiłem zrobić z niego użytek -- wykorzystać go do sterowania samochodem R/C.

    Pomysł, który mi przyszedł do głowy jest następujący:

    * na telefonie uruchamiamy access point wifi (gotowy program), żeby móc się do niego podłączyć laptopem przez wifi
    * na telefonie uruchamiamy kamerkę IP (gotowy program), żeby móc oglądać z laptopa co się dzieje przed telefonem
    * telefon umieszczamy w samochodzie R/C
    * z samochodu R/C wywalamy oryginalne R/C, które z racji, że jest tanie jest bardziej zawodne niż wifi w telefonie
    * na telefon piszemy aplikację, która potrafi mrugać poszczególnymi częściami ekranu. Żeby było prosto daną część zapala na 100% jasności lub zupełnie gasi (ekran jest AMOLED-owy). Sterowanie niniejszej aplikacji odbywa się przez sieć.
    * na komputer piszemy aplikację, która komunikuje się z aplikacją w telefonie i w zależności od tego jaki klawisz wciskamy zapala na telefonie odpowiednio części ekranu
    * do ekranu telefonu przystawiamy kilka fotoelementów, które sterują silnik samochodu R/C (przód, tył) i drugi silnik/serwo do skręcania.

    Jak już wszystko działa, to mamy samochód, sterowany przez wifi z jednoczesnym widokiem zza jego kierownicy.

    Pierwsze moje pytanie dotyczy układu do odbioru światła z telefonu. Jakim fotoelementem najlepiej odbierać białe światło widzialne z diody LED. Chciałbym, żeby układ działał binarnie -- albo wzbudzał tranzystor na maksa albo wcale (musiałby mieć jakiś sensowny próg jasności).

    Jako, że szybkość auta regulowana byłaby wypełnieniem sygnału (a nie napięciem) fotoelement musiałby reagować w miarę szybko na zmiany jasności. Myślę, że można założyć częstotliwość mrugania ekranu w granicach 20 Hz (0.05s).

    Po drugie zastanawiam się jak sprytnie ale i prosto rozwiązać skręcanie auta. Oryginalny układ kierowniczy w autku opiera się na zwykłym silniku i jakimś czujniku położenia, dzięki któremu silnik cofa koła do pozycji wyjściowej, gdy przestajemy skręcać. Niestety nie jest to rozwiązanie dość precyzyjne i auto rzadko kiedy jedzie prosto (zwłaszcza przy dużej prędkości i opóźnieniach z oglądania obrazu z kamerki).

    Myślę, że podobnie jak w przypadku sterowania głównym silnikiem można założyć sterowanie binarne, czy raczej trójwartościowe. Albo skręcamy w prawo, albo w lewo, albo nie skręcamy. Jak będziemy chcieli wziąć jakiś łagodny zakręt, to będziemy sobie "pulsować". Przynajmniej tak zakładam w pierwszej wersji pojazdu. Słyszałem, że do takiego trójpozycyjnego sterowania nadałby się serwomechanizm. Nie wiem natomiast jak takie coś można sterować i czy faktycznie daje to bardzo precyzyjny powrót do pozycji wyjściowej (tak, żeby auto jechało prosto, gdy nie skręcamy).

    Proszę o wszelkie uwagi, słowa krytyki i o ile to możliwe rady dotyczące układu fotoodbiornika i układu skręcania kół.

    Jestem informatykiem, więc z mojego punktu widzenia poprawianie ewentualnych niedociągnięć modelu w oprogramowaniu jest jak najbardziej dopuszczalne. Preferuję rozwiązania, gdzie hardware jest jak najprostszy i przez to jak najbardziej niezawodny. Z mojego punktu widzenia dużo łatwiej i taniej jest eksperymentować z softem niż z elektroniką i mechaniką :-)

    Poprzednio zamieściłem temat w złym dziale, przepraszam.
  • lampy.pl
  • #2
    Madrik
    moderator of Robotics
    Quote:
    Jestem informatykiem, więc z mojego punktu widzenia poprawianie ewentualnych niedociągnięć modelu w oprogramowaniu jest jak najbardziej dopuszczalne. Preferuję rozwiązania, gdzie hardware jest jak najprostszy i przez to jak najbardziej niezawodny. Z mojego punktu widzenia dużo łatwiej i taniej jest eksperymentować z softem niż z elektroniką i mechaniką


    I dlatego z linii nadajnik - odbiornik rezygnujesz, zastępując ją laptopem, telefonem, połączeniem między nimi, detektorem światełek na ekranie, sterowaniem regulatorem silnika i serwa...
    Faktycznie - uproszczone na maksa. ;)

    WIFI wcale nie jest tak niezawodne w zdalnym sterowaniu jak klasyczne rozwiązania. Nie zostało stworzone do tego celu.

    Duuuużo prościej jest kupić nie zabawkę z marketu za 100zł, tylko normalny model za ok 300-400zł, sterowany klasycznie. Do tego kamerkę płytkową CCD lub CMOS (mają o wiele lepszy obraz niż najdroższy nawet aparat telefoniczny z kamerką). Koszt ok. 12$ na Ebay.
    Do tego Chiński zestaw nadawczo odbiorczy 700mW, 1,2GHz A/V - 50$, wideo grabber do laptopa. Dowolny program do przechwytywania obrazu z kamery, nawet Windows Movie Maker sie nada. I tyle. Przydadzą sie jeszcze dwa akumulatory 12V, np. LIPO 3S (11,1V) ok. 1000mAh i 800mAh - mniejszy do kamery w modelu, większy do odbiornika przy laptopie.
    I masz piękny model z podglądem, z obrazem doskonałej jakości, o zasięgu kilkuset metrów.
    Koszt - model plus ok. 200zł. W 500zł możesz się zmieścić. Dolar staniał.

    Można nawet taniej - kamerka "szpiegowska" za kilkanaście $ z nagrywaniem na karcie microSD za kilkanaście dolarów - Allegro lub Ebay są tego pełne. Tylko obraz uzyskasz dopiero po zgraniu filmu z karty.

    Natomiast przerabianie sterowania, które i tak jest beznadziejne, na mocno skomplikowane, wieloelementowe, które na końcu i tak jest równie beznadziejne (nieproporcjonalne) w zasadzie praktycznie nie ma sensu. Dużo elementów, odczytywanie informacji z ekranu optycznego, przetwarzanie na impulsy sterujące... W czym to będzie lepsze od nadajnika, który działa tak samo, ale jest dużo prostszy i tańszy?

    Dlatego prościej jest zostawić samo sterowanie, a jedynie dołożyć kamerę. Będziesz miał dokładnie to samo - taniej i prościej.
  • #3
    Gabryys
    Level 9  
    Niezawodoność wifi przetestowałem tak: przykleiłem do samochodziku telefon, odpaliłem kamerkę IP, na laptopie oglądam co się dzieje i steruję oryginalnym pilotem od samochodu. Wynik: po około 20 metrach samochód przestaje łapać sterowanie, za to obraz z kamerki cały czas jest. Poza tym Wifi to standard bardzo mocno przetestowany i po prostu niezawodny (poza przesyłaniem danych przez 1 kilometr śnieżycy :D).

    Liczyłem, że da się zbudować jakiś prosty układ na kilku fototranzystorach/fotodiodach i tranzystorach do sterowania silnikiem i skręcaniem i, że zamknę się spokojnie w jakichś 100 złotych.

    No i wtedy bym miał nową ścigałkę (real-mode) na laptopie.

    No ale skoro Kolega sugeruje wtopienie kilkuset złotych w biznes i to zupełnie inaczej, to chyba sobie podaruję.

    Jakbym coś tam sklecił własnymi siłami, to dam znać. Myślę, że byłaby fajna zabawka -- taki prosty układzik za ~50 złotych do telefonu + aplikacja i możesz sobie zrobić samochód na wifi :-).
  • lampy.pl
  • #4
    McRancor
    VIP Meritorious for electroda.pl
    Były kiedyś samochodziki ericssona bodajże sterowane przez Bluetooth, ale o niewielkim zasięgu.

    Jeśli WiFi to chyba tylko protokół UDP, ale dalej nie widzę tego jakoś sensownie, bo musisz zbudować sterownik urządzeń modelarskich (serwomechanizmów i regulatorów obrotów) podłączany do komputera. Za te same pieniądze kupisz tor radiowy 2.4GHz, który na pewno jest lepszym rozwiązaniem.

    Wifi do sterowania się średnio nadaje, jest przewidziany do wymiany danych. Samo pasmo 2.4GHz stosuje się natomiast szeroko w modelarstwie, ale "w innych okolicznościach" ;)

    Jeśli chodzi o samo sterowanie silnikami, skrętem itp - stosuj sprzęt modelarski, wymyślanie swojego jest bez sensu.
  • #5
    Gabryys
    Level 9  
    A macie Koledzy jakieś porady (chętnie link do podobnego rozwiązania) odnośnie odczytywania binarnie biały/czarny z ekranu za pomocą jakiegoś fotoelementu?

    (Zauważcie, że jeśli chodzi o samo wifi, to już wszystko jest gotowe i działające, wystarczy tylko prostą aplikację napisać i będzie śmigać).
  • #6
    Madrik
    moderator of Robotics
    Gabryys wrote:

    No ale skoro Kolega sugeruje wtopienie kilkuset złotych w biznes i to zupełnie inaczej, to chyba sobie podaruję.

    Jakbym coś tam sklecił własnymi siłami, to dam znać. Myślę, że byłaby fajna zabawka -- taki prosty układzik za ~50 złotych do telefonu + aplikacja i możesz sobie zrobić samochód na wifi :-).


    Jesteś pewien, że to będzie "prosty układzik"? ;)
    Wg mnie, raczej wręcz przeciwnie. Główną wadą jest sterowanie przez detekcję światła na ekranie. Zupełnie, jakbyś nie mógł wysyłać informacji przez telefon, bezpośrednio do sterownika, w postaci danych. Pomijam... telefon, który tani nie jest. Jeżeli ktoś nie dysponuje takim "gadżetem" to koszt wykonania układu będzie o wiele wyższy niż zrobienie tego samego "klasycznie", czyli tak jak modelarze robią od lat. Telefon mimo wszystko trzeba kupić.
    Ale jeżeli coś się stanie z modelem - wpadnie pod samochód, żul go porwie, do kanału wpadnie - straty są kolosalne i to nie tylko w sferze finansowej.

    Moja sugestia co do kosztów wynika z tego, że masz zabawkę. O wiele lepszą zabawę miałbyś przy zastosowaniu prawdziwego modelu. Zestawy RTR (ze wszystkim co potrzebne) mozna kupić za ok 300-350zł. Taki mały Buggy i tyle.

    Zestaw najtańszy do transmisji video, o zasięgu kilkuset metrów kosztuje łacznie z 70$.
    Można je dostać nawet w Polsce. Moim zdaniem to niedużo, jeśli się weźmie pod uwagę, że markowe zestawy tego typu potrafią kosztować ponad 500$. A profesjonalne, takie jak używane np. w filmach - kilka tysięcy "zielonych".
    Uzyskujemy też bardzo dobrej jakości obraz, nawet na taniej kamerce - o wiele lepszy niż to, co możemy uzyskać z aparatu.

    Nie wiem co mówią marketingowcy, ale jest fizyczna granica dla możliwości obiektywów wielkości łepka szpilki. I tu najlepsza matryca i oprogramowanie nie wystarczy.

    Oczywiście możesz spróbować taki układ jak mówisz zbudować. Tylko, że nie będzie on lepszy i prostszy niż w/w rozwiązanie.
    Poza tym - ja osobiście bałbym się pakować dość drogi telefon do zabawki poruszającej się w błocie, kurzu i hwc jeszcze, narażonej na potężne wibracje (z braku zawieszenia) i wstrząsy. Zastanowiłeś się jak długo w takich warunkach telefon pożyje? ;)
  • #7
    Gabryys
    Level 9  
    Ale to przecież wszystko dla zabawy :-). Chodzi o coś w stylu Need For Speed tylko z wykorzystaniem prawdziwego modelu :-). Nie będę raczej jeździł tym po błocie.

    A co do układu, który musiałbym uczynić: czytałem o sterowaniu serwomechanizmami i wydaje się to być dość skomplikowane, więc można sobie odpuścić i wykorzystać jakoś oryginalne sterowanie.

    Pomyślałem, że zrobienie fotodiody wykrywającej zerojedynkowo zapalenie/zgaszenie powinno być proste. Tak sobie myślę, jakiś inwerter CMOS może?
  • #8
    McRancor
    VIP Meritorious for electroda.pl
    Z całym szacunkiem, ale jeśli uważasz sterowanie serwomechanizmem za skomplikowane, a z drugiej strony piszesz że wifi jest proste i wystarczy napisać, to gdzieś po drodze kłamiesz ;)

    Tak czy siak będziesz potrzebował interfejsu do sprzętu! Jak chcesz podłączyć wifi do silniczka?
  • #9
    Gabryys
    Level 9  
    Koledzy, ja wiem, że napisałem dużo, ale chyba nie przeczytaliście.

    Wifi przecież już jest w telefonie. Więc aplikacja w telefonie (który ma wifi za darmo, bo operuje na poziomie gniazd TCP, a jak ktoś chce jeszcze wyżej np. jako serwer HTTP) ma zgodnie z założeniem tylko mrugać ekranem. Z ekranu miałoby jasność poszczególnych stref (tylko jasny-ciemny, bez szarości) odczytywać jakiś fotosensor i wysterowywać 0 albo 100% napięciem silnik. To chyba nie jest AŻ takie trudne?
  • #10
    McRancor
    VIP Meritorious for electroda.pl
    Po pierwsze zdalne sterowanie przez TCP to pomysł niebezpieczny i zły.

    Po drugie wprowadzasz po drodze interfejs zamieniający jasność wyświetlacza na prędkość silnika - to rozwiązanie przynajmniej dziwne.

    To teraz pomyśl - co się stanie jak złapiesz po drodze opóźnienie rzędu 1 sekundy, albo samochodzik wjedzie po drodze pod lampkę?

    Z Torunia do Bydgoszczy przez Wrocław drogę wybierasz ;)
  • #11
    Gabryys
    Level 9  
    Panowie, powiedzcie jak z telefonu sterować silnikiem inaczej niźli przez ekran.
  • #14
    Manadrake
    Level 11  
    Witam. Również mam telefon na androidzie i tak samo jak Ty chciałem zrobić jakiś pożytek z tego telefonu. Próbowałem zrobić robota z kamerą na pokładzie i właśnie niewiele brakowało a telefon za 600zł wylądowałby pod kołami quada, więc odradzam. Poza tym jak ktoś wspomniał wstrząsy, kurz, wilgoć nie najlepiej służą telefonowi, co nie oznacza że ten projekt nie jest wykonalny bo można to zrobić np za pomocą BTM-222 niestety zasięg jest jaki jest. A sterowanie dtmf jest trochę lipne, niedość że jednokanałowe, to tylko on-off więc nie jest to jakaś zachęcająca perspektywa.Tu macie link jak ktoś zrobił takie sterowanie z iphonem, a gdzieś był filmik jak iphonem (przez wifi) jest sterowany quadrocopter.

    https://www.elektroda.pl/rtvforum/topic1501666.html

    Fajnie byłoby zrobić sterowanie robota z komórki a obraz przesyłać bezpośrednio do niej ;) ale niestety koszty niemałe. O proszę znalazłem:

    http://www.youtube.com/watch?v=aRDYdZxkXnQ

    Ehh, marzenie :D

    Btw. Ktoś już zrobił taki czołg sterowany DTMF zwie się to chyba t-102 pojazd gąsienicowy, czy jakoś tak: na pewno znajdziesz.
  • #15
    Madrik
    moderator of Robotics
    To komercyjne rozwiązanie, a ten filmik to reklama. Ten quadrocopter kosztuje parę ładnych tysięcy złociszy + oryginalny iphone.