Skocz do zawartości

Komunikacja AVR z Androidem


Pomocna odpowiedź

Witam,
Czy zna ktoś jakiś sposób w jaki możne połączyć układ z AVR Atmega do tabletu z Androidem. Na razie dopiero uczę się programować aplikacje na Androida, a w przyszłości chciałbym sterować robotem z tabletu.

Na początek chciałbym napisać aplikacje zapalającą diody na avr, ale google nie daje żadnych rozwiązań.

Link to post
Share on other sites

Na pewno mógłbyś skorzystać z jakiegoś moduły Bluetooth, połączyć go z AVRem, a na Androidzie napisać specjalną aplikację która wysyłałaby odpowiednie komendy rozpoznawane przez mikrokontroler.

Link to post
Share on other sites

wydaje mi się ,że bluetooth było by najlepszym rozwiązanie a zarazem nałatwiejszym,a moduły wcale nie są takie drogie (ok.60zł),bo z tego co mi wiadomo to żeby polączyć Uc z tabletem to twój tablet musialby posiadać funkcję hosta USB.

Link to post
Share on other sites

Dokładnie tak jak pisał kermit, tablet musiałby obsługiwać hosta USB, a z tego co wiem to taką opcje mają chyba tylko Samsungi, ale mogę się mylić. W dodatku kabel USB nie mógłby być dłuższy niż 5m, bo powyżej musiałby mieć dodatkowe zasilanie. Niedawno zostały stworzone jakieś płytki od Google które można było połączyć z Androidem. Może tym się zainteresuj...

Link to post
Share on other sites

Jak poszukasz np na hackadayu to może uda ci się znaleźć jakieś próby połączenia androida z avrem po usb. Funkcja hosta usb z tego co się orientuje została dodana niedawno w jakiejś nowej wersji Androida. Jeżeli chodzi o inne standardowe możliwości połączenia to poza Bluetoothem masz jeszcze WiFi. Z kolei jeśli chodzi o sposoby niestandardowe - możesz pobawić się wyjściem audio i komunikować się za pomocą modulacji. Nie jest to proste i zapewnia mniejsze możliwości niż wifi czy bt ale na pewno jest tanie i możliwe do wykonania.

Link to post
Share on other sites

Przez Wifi? Nie wiem jak ty chciałbyś podłączyć Wifi do AVRka, ale nawet gdyby Ci się to udało to musiałbyś użyć routera albo stworzyć punkt dostępu na tablecie. Jest to możliwe, ale chyba za dużo z tym zabawy 🙂

Link to post
Share on other sites

No właśnie można stworzyć punkt dostępu na Androidzie, do avra dodać moduł wifi i wgrać odpowiedni soft obsługujący stos IP. Wifi spokojnie idzie na AVRach, w końcu można kupić nawet moduły do arduino, a do nich jest dołączona implementacja stosu IP od razu. Tak więc nie wiem w czym widzisz problem.

  • Lubię! 1
Link to post
Share on other sites

Najprościej jest użyć modułu BT - testowałem na HC-05 i działa bez problemu, ale na BTM-222 czy innych też powinno działać - podpinasz pod TX/RX w atmedze i smiga. Na androidzie masz terminal (bt term), albo możesz swoją aplikację napisać, w API masz normalnie dostęp do wirtualnego portu COM po BT, zresztą są tutoriale w internecie jak napisać taką aplikację.

Co do połączenia po USB to jest to jak najbardziej możliwe, ale wymagany jest specjalny układ - najłatwiej użyć oficjalnej płytki wspieranej przez google, a mianowicie Arduino Mega ADK (http://arduino.cc/en/Main/ArduinoBoardADK). Więcej informacji o ADK można znaleźć w dokumentacji androida: http://developer.android.com/guide/topics/usb/adk.html . Istnieją klony tych płytek (tak jak klony zwykłego arduino), np: http://www.seeedstudio.com/depot/seeeduino-adk-main-board-p-846.html ,
lub: http://iteadstudio.com/store/index.php?main_page=product_info&cPath=50_51&products_id=464 .

W Polsce możesz kupic taką płytkę np. tutaj:

http://arduinosolutions.com/index.php?route=product/product&path=47&product_id=258 (klon)

Lub oryginalna:

http://nettigo.pl/products/184

Jeśli masz arduino, lub chcesz je zbudować samemu (co sprowadza się do prostej operacji wrzucenia bootloadera do atmegi), to możesz kupic sam USB host shield:

http://nettigo.pl/products/194

http://arduinosolutions.com/index.php?route=product/product&filter_name=host&product_id=197

http://www.sparkfun.com/products/9947 lub tutaj:

http://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-2-0-for-arduino (to chyba pierwszy shield, na którym się opierało google tworząc ADK, zresztą na jego podstawie zrobiono arduino mega ADK. Na tej stronie masz też schematy, to możesz sobie zrobić sam jak chcesz, bo tam chyba tylko jeden scalak jest;)).

I oczywiście nieprawdą jest, że telefon musi posiadać USB HOST - może być dowolny.

Filmy:

Chyba, że w telefonie masz NFC (ale z androidem to ma chyba tylko nexus i note) to robiąc prostą antenę z drutu możesz się komunikować tak:

No ale tak jak mówię, najprościej użyć BT, tym bardziej, że taki układ kosztuje jakieś 35zł i działa bez żadnego problemu, co osobiście przetestowałem.

A co do Wi-fi na AVR to jak najbardziej możliwe - jak kolega wyżej wspomniał, są gotowe moduły do arduino, np: http://www.sparkfun.com/products/10822

P.S: Jeśli pomogłem, to pamiętaj, że możesz postawić "piwo", jeśli masz ochotę🙂

Link to post
Share on other sites

MatManiak

Na ostatnim filmiku jest HTC Desire (mam dokładnie takiego samego 😉) on nie posiada takiego modułu, ale ma magnetometr w dokładnie tym miejscu gdzie leży ta cewka, więc myślę, że po prostu komunikacja odbywa się poprzez odczyt siły pola magnetycznego, czyli jest jednostronna.

Link to post
Share on other sites
MatManiak

Na ostatnim filmiku jest HTC Desire (mam dokładnie takiego samego 😉) on nie posiada takiego modułu, ale ma magnetometr w dokładnie tym miejscu gdzie leży ta cewka, więc myślę, że po prostu komunikacja odbywa się poprzez odczyt siły pola magnetycznego, czyli jest jednostronna.

A, tak - faktycznie, Desire nie ma NFC, a to jest zrealizowane magnetometrem, tak jak napisałeś🙂 Komunikacja jest jednostrona oczywiście. No ale jak już wspomniałem o NFC, to oczywiście jest shield do arduino (a do czego nie ma? 🤯):

http://www.seeedstudio.com/depot/nfc-shield-p-916.html

lub w PL:

http://arduinosolutions.com/index.php?route=product/product&filter_name=nfc&product_id=247

🙂

Jak widać, możliwości jest wiele:) Można jeszcze użyć sygnału z minijack: http://www.sparkfun.com/products/10331, ale to raczej bez sensu na androida bo po pierwsze można taniej po BT lub kablu (ADK), a po drugie program byłby skomplikowany do kodowania/dekodowania audio. No ale wykonalne - na iphone i WP7 nie ma dostępu do wirtualnego portu COM po BT z poziomu API, ale jest dostęp do sygnału z mikrofonu, więc w tych systemach to jedyne rozwiązanie... Taka ciekawostka - technikę zdalnego sterowania za pomocą gniazda JACK wykorzystuje robot/pojazd rc/zabawka TankBot ( http://www.mydeskpets.com/tankbot/ ) 🙂

Link to post
Share on other sites

Te płytki arduino są dosyć drogie; ja wybrałem inne rozwiązanie: IOIO Board (http://ytai-mer.blogspot.com/2011/04/meet-ioio-io-for-android.html), które kosztuje 55$ razem z wysyłką.

Przesyłka dopiero do mnie jedzie, więc niestety jeszcze nie mogę powiedzieć jak się spisuje w praktyce, ale recenzje innych użytkowników są bardzo pozytywne.

A tak w ogóle to dzień dobry 🙂

Link to post
Share on other sites
Te płytki arduino są dosyć drogie; ja wybrałem inne rozwiązanie: IOIO Board (http://ytai-mer.blogspot.com/2011/04/meet-ioio-io-for-android.html), które kosztuje 55$ razem z wysyłką.

Przesyłka dopiero do mnie jedzie, więc niestety jeszcze nie mogę powiedzieć jak się spisuje w praktyce, ale recenzje innych użytkowników są bardzo pozytywne.

A tak w ogóle to dzień dobry 🙂

No fajna płytka, tylko że to na PIC jest, a koledze chodziło o atmegę, co napisał w pierwszym poście;)

Link to post
Share on other sites

No fajna płytka, tylko że to na PIC jest, a koledze chodziło o atmegę, co napisał w pierwszym poście;)

Co racja to racja, ale ta płytka może służyć jako interfejs pomiędzy Androidem a AVRem. W końcu masz kilkadziesiąt pinów do dowolnego wykorzystania 🙂

Płytkę już dostałem, na razie połączyłem ją z ATTiny2313 poprzez I2C i wykorzystuję do wyświetlania logów z avra na ekranie telefonu. Daje mi to dużo większe możliwości niż komunikaty na LCD znakowym, a przy tym zużywa mniej pinów - tylko 2 na I2C (TWI).

Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.