Browse Tag: ioio

IOIO RC Boat

Prošlo je već dve godine kako moj IOIO u principu skuplja prašinu. Koristio sam ga za neke projekte tu i tamo, ali je IOIO većinu vremena proveo u kutiji.

Kako bih to promenio, odlučio sam da ga upotrebim u svom vikend projektu. Napravio sam brodić na upravljanje i tako IOIO-u dao poslednju ulogu, gde će dočekati svoju smrt zajedno sa brodićem (dok ga voda ne odnese ili ne potone).

Uglavnom, u nastavku slede fotke kako to izgleda, a video kako to radi u praksi (ne u kadi)… pa video verovatno neće biti objavljen, pošto je na prvom testu na otvorenom brodić stao na sred jezera. I to onog jezera u Dunavskom parku. Da onom malom. I dok smo dočekali da se brodić dogega do obale na talasima koje su pravile patke sa druge strane, pao je mrak. Kasnije nismo uspeli da napravimo kvalitetan snimak. Tako da, žao mi je 😛

Priprema
Priprema

YT (test #1): http://youtu.be/jt8r1F5e2ew

Prvi test
Drugi test

YT: http://youtu.be/rxfi8hiaGK4

Inside
Inside
Gotov!
Gotov!

Update:
Nakon prve ne tako uspešne vožnje, odlučio sam da obezbedim veći domet za updavljanje brodićem, tako da je brodić podvrgnut malim izmenama. Bluetooth je dobio externu antenicu koja bi trebala da obezbedi dovoljan domet za vožnju brodića po jezeru, a kako će to uspeti u praksi – videćemo.

IOIO vs. Arduino

Taman kada sam skupio vremena da se poigram sa IOIO-m (Šta je IOIO?), drugar mi je ostavio njegov Arduino da i njega probam. Tako da sam dosta primera odradio paralelno na IOIO-u i Arduinu, pa evo kakvog sam mišljenja kada se radi o prednostima i manama ovih uređaja.

IOIO

Nova verzija IOIO-a omogućuje povezivanje i upravljanje preko Android telefona ili preko računara. Povezivanje se vrši pomoću kabla ili Bluetootha.  Aplikacija za upravljanje IOIO-m se izvršava na PC-u ili Androidu. Kada je IOIO povezan na Android uređaj, aplikacija pored kontrole IOIO pinova može da koristi i usluge koje pruža Android uređaj (WiFi, slanje SMS poruka, očitavanje vrednosti senzora…). Za sada se aplikacije za IOIO pišu u Javi. Iz ličnog iskustva, nije trivijalno podesiti Eclipse okruženje za programiranje Android aplikacija, te potom ubaciti biblioteke za rad sa IOIO-om. Cena je oko 40$, ali trenutno nema gde da se naruči u Srbiji.

Arduino

Postoji više verzija Arduina, ali kao neki početni model, preporučuje se Arduino UNO. Program pisan za Arduino se izvršava na samom Arduinu, pa nije potreban računar/Android sa strane kao što je slučaj kod IOIO-a. Kontrolu toka programa sa računara je moguće vršiti putem serijskog porta. Sa druge strane, senzori koji se po defaultu nalaze u Android uređajima, ovde se dodatno kupuju i kače na ploču. To mogu biti jednostavni senzori (merač temperature, vlage, foto osetljiv senzor…) ili nešto složeniji (Ethernet, WiFi, SD card reader…) koji dolaze u vidu Arduino Shield-ova. Okruženje u kojem se programira Arduino se može preuzeti sa interneta, veoma je jednostavno i dolazi uz dosta primera. Cena za Arduino UNO je nešto jača od 10e i može se naručiti na sajtu dx.com. Arduino je moguće kupiti i kod domaćih distributera, ali je cena znatno viša.

Zaključak

Ukoliko ste početnik, preporučio bih vam Arduino. Sa gomilom primera koje dobijate uz okruženje, lako ćete savladati neke osnovne stvari (upravljanje servo motorom, dimovanje LED diode, očitavanje ulaza…). Sve to, kasnije možete lako primeniti na IOIO ukoliko za to budete imali potrebe 🙂

Upoznavanje sa IOIO

Ako niste sigurni o kakvom IOIO-u se radi, pogledajte ovde 😉

ioio-logo

Stigao je. IOIO koji sam toliko čekao – stigao je! Zapravo stigao je on još davno, samo od svih obaveza nisam uspeo da mu posvetim dovoljno pažnje i da se poigram sa njim. Nego, da ne bih prevodio uputstvo koje možete naći ovde, u ovom blogu ću opisati problematične situacije u kojima sam se ja našao kada sam hteo po prvi put da pokrenem aplikaciju HeloIOIO i kako sam ih rešio.

Konektori

Prva stvar koju sam primetio kada sam otvorio paket, jeste da na pločici nisu zalemljene lestvice za povezivanje uređaja sa žicama, već su ostavljeni samo kontakti na koje se nešto može zalemiti. “Shit, sada još moram tražiti te lestvice po gradu!”. A tada još nisam ni znao kako se to zove, pa sam prodavcima na razne načine objašnjavao šta mi treba, pokazivao im slike na telefonu, poredio sa protoboard-om, dok konačno u Sprintu nisam našao to što mi treba. Tamo su mi objasnili da se to zove ženska lestvica (vi zakjučite zašto baš ženska :P).

Zaštita od pogrešnog povezivanja napajanja

Kada su lestvice konačno bile zalemljene na pločicu, bilo je vreme da testiram uređaj. Pročitao sam zvanično uputstvo, a zatim pločicu nakačio na stari adapter od fiksnog telefona (9V, 1000mA). Ideja je bila da stavim i jednu diodu, kako bi pločicu zaštitio od pogrešnog povezivanja napajanja, ali u tom trenutku nije bilo vremena za nešto to, što se kasnije ispostavilo kao velika greška. Elem, evo kako diodom da zaštitite IOIO (ili neki drugi neki uređaj) od pogrešnog povezivanja napajanja:

Zaštita od pogrešnog povezivanja napajanja
Zaštita pomoću diode

Takođe možete koristiti i grecov ispravljač:

Zaštita od pogrešnog povezivanja napajanja
Zaštita pomoću grecovog ispravljača

U provm slučaju uređaj neće raditi ako naopačke povežete napajanje (na B priključak dovedete minus), dok u drugom slučaju sa grecovim ispravljačom, uređaj će raditi za bilo koju polarizaciju plusa i minusa na priključcima A i B. Ove zaštite je poželjno skinuti kada uređaj kačite na bateriju, jer svaka dioda stvara pad napona od 0,7V.

Projekat HelloIOIO

Da bi IOIO nešto radio, potrebno je da isprogramirate aplikaciju za Android telefon koja će da mu kaže šta da radi. Zbog toga je potrebno da na računaru imate podešeno Eclipse okruženje sa Android SDK. Kako to uraditi ako do sada niste, potražite ovde.

Kada preuzmete najnovije biblioteke za rad sa IOIOom, sa njima će te dobiti i primer HelloIOIO. U mom slučaju, pokretanje tog primera nije išlo tako glatko kako je opisano na IOIO wikiju. Evo šta sam ja sve morao da uradim da bi mi svi primeri proradili:

1) Update Eclipse okruženja. Help Check for Updates, pa dalje sve prihvatiti…

2) Android SDK Manager  Update Android Tools

Nakon ubacivanja projekata u Eclipse okruženje koje je opisano na IOIO wikiju, za svaki projekat uraditi sledeće:

1) Desni klik na projekat  u Package Explorer prozoru  Properties (otvoriće se novi prozor)

2) Odabrati stavku Android u desnom meniju, a zatim u panelu levo obeležiti verziju Androida za koji želite da kompajlirate vaš projekat (verzija Androida koji je na telefonu sa kojim povezujete IOIO)

3) U meniju sa desne strane sada odabrati Java Compiler stavku. Levo obeležiti stavku Enable project specific settings, a zatim pod JDK Compliance tamo gde piše Compiler compliance level odabrati verziju 1.6. Kockica Use default compliance level treba da bude obeležena.

4) Zatvorite prozor Properties for …

5) Desni klik na projekat u Package Explorer prozoru Android tools Fix project properties

Nakon ovoga, kod mene se svaki ubačeni projekat ponaša normalno. Crveni iksići koji su se ranije pojavljivali pored projekata u Package Explorer prozoru su nestali.

Prvi pokušaj

Nakon spuštanja aplikacije HelloIOIO na telefon i povezivanja telefona sa IOIOom, aplikacija je radila baš to što je u njenom opisu: menja stanje statusne diode na uključeno/isključeno u zavisnosti od stanja ToggleButton-a koji se nalazi na displeju telefona.

helloioio

U nekom od narednih blogova slede malo ozbiljniji primeri 😉

Dok čekam moj IOIO

Dok nestrpljivo čekam da novo “mezimče” stigne u moje ruke, pokušaću da objasnim šta je to IOIO i zbog čega ta nestrpljivost. IOIO (izgovara se kao yo-yo, jo-jo) je interfejs koji omogućuje da neko električno kolo povežete sa Vašim Android uređajem, putem kojeg to električno kolo, na vrlo jednostavan način, možete da kontrolišete. Jednostavnije, programiranjem aplikacije za telefon/tablet, možete da palite i gasite lampice, kontrolišete brizinu okretanja elektro motora ili da očitavate vrednosti senzora koje nakačite na IOIO. Da, sve to, a može i više od toga!

Umesto kabla, povezivanje telefonom je omogućeno i putem bluetooth-a, što znači da sve ove operacine nabrojane iznad, možete da obavljate bežično! 😉 Evo i primera, čisto da Vas još malo zainteresujem:

[youtube http://www.youtube.com/watch?v=XSAzSw3QTOY]

Elem, naručio sam ovo čudo i sada isčekujem dan kada ću ga prvi put povezati sa telefonom. Pošto se kod nas IOIO ne može nabaviti (barem ja nisam uspeo nigde da izguglam, ako neko slučajno zna gde ima, obavezno neka ostavi u komentarima), bio sam prinuđen da iscimam koleginicu sa faxa, koja je na Work&Travel programu u Americi, da mi donese jedan primerak.

Dok ne dođe čas da se i sam oprobam u majstorisanju sa novom igračkom, a eventualno i da podelim iskustva na blogu, više o IOIO uređaju, možete pročitati ovde:

https://github.com/ytai/ioio/wiki

http://ytai-mer.blogspot.com/2011/04/meet-ioio-io-for-android.html

Ako je neko pak zainteresovan da kupi koji primerak:

https://www.sparkfun.com/products/10748?

😉