Browse Tag: interfejs

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 😉

Canon DSLR – daljinski (Android) okidač – Interfejs

U predhodnom blogu sam se potrudio da na što jednostavniji način objasnim kako uređaj treba da funkcioniše i šta je primarna namena aplikacije koju pišemo za Android. Ovde su predstavljena neka od mogućih rešenja.

Interfejs

Na Wikipediji sam našao podatke o amplitudi izlaznog napona stereo priključka i ona iznosi ~2.2V. Signal na izlazu je naizmeničan, pa pomoću diode izdvajamo samo pozitivne delove signala. Treba obratiti pažnju da dioda stvara pad napona od 0.7V koliko joj je potrebno da provede signal. Sada nakon diode imamo (maksimum) 1.5V i to samo u trenucima kada ja signal na izlazu pozitivan i veći od 0.7V. Postavljanjem kondenzatora, signal ćemo ispeglati, pa sada nakon kondenzatora, imamo „koliko-toliko“ stabilan napon. Takav napon možemo iskoristiti kao pobudu za tranzistor koji ćemo spojiti da radi kao prekidač.

Kompletna šema okidaca
Kompletna šema

Vrednosti za komponente su date u sledećoj tabeli:

Naziv Oznaka Vrednost
Dioda D 1N4104
Kondenzator C  60µF, 50V
Otpornik R 1kΩ
Tranzistor T BC550
TRS, u telefon K1 3.5mm
TRS, u aparat K2 2.5mm

.

Date vrednosti su okvirne, tako da ukoliko ne možete da nađete diodu 1N4104, posao će raditi i 1N4148. Prodavac će vam sigurno pomoći prilikom određivanja zamene za problematičnu komponentu.

NAPOMENA: Ovo nije najjednostavniji interfejs koji možete napraviti, a da funkcioniše. Ovo je školski primer, koji je napravljen uz pomoć znanja. U praksi će verovatno sasvim OK raditi i neka od sledećih varijanti:

Šema bez kondenzatora
Šema bez kondenzatora

Šema bez diode
Šema bez diode

Šema bez otpornika
Šema bez otpornika

* Sebi lično sam napravio interfejs po šemi bez kondenzatora i radi kako treba 🙂

Navigacija: Ideja Planiranje / Interfejs ] / Aplikacija Praksa

Canon DSLR – daljinski (Android) okidač – Planiranje

Potrebno je napraviti interfejs preko kojeg će telefon i fotoaparat biti povezani. Na određenu komandu telefona, interfejs će odreagovati tako što će fotoaparatu poslati komandu za fokusiranje odnostno okidanje. Pošto je korišćenje USB porta na telefonu suviše komplikovano (a pritom nam nisu potrebne mogućnosti koje pruža), odlučio sam da iskoristim stereo izlaz za slušalice.

Male napomene:

  • Priključak na telefonu za slušalice je obično stereo priključak odnosno TRS koenktor dimenzija 3.5mm;
  • Priključak na Canon dSLR fotoaparatima (350D,400D, 40D…) je takođe TRS konektor, ali manjih dimenzija – 2.5mm;
  • Kako ručno kontrolisati fotoaparat preko TRS konektora, možete videti ovde.

Evo jedno šturo objašnjenje kako ovo treba da funkcioniše:

Kada se na telefonu pusti neki ton, na izlazu stereo priključka se javlja određeni signal. Nama treba elektronsko kolo, koje će za neki signal na svom ulazu, napraviti kratak spoj na svom izlazu. Tako postižemo da se kolo ponaša kao prekidač koji kontrolišemo pobudnim signalom. Ako prekidače A i B (iz prethodnog bloga) zamenimo takvim kolima (nazovimo ih sada kA i kB), aparat će kontrolisati signali koje dovedemo ulaz ta dva kola. Pošto imamo levi i desni kanal na stereo priključku, svakom dodelimo po jedno kolo: desni kanal ->kolo kA (fokusiranje), levi kanal -> kolo kB (okidanje). Na taj način, ukoliko na telefonu pustimo ton koji se emituje samo na desnom kanalu, fotoaparat će fokusirati 🙂

Pored interfejsa, potrebno je napisati i aplikaciju za Android, koja će emitovati ton određene frekvencije na levi odnosno desni kanal stereo izlaza. Aplikacija treba da podržava više načina funkcionisanja, za rasličite potrebe: HDR fotografija (tri ili više različitih ekspozicija), Time-Lapse (više istih ekspozicija, sa određenim vremenskim razmakom), Shoot OnTime (okidanje u datom trenutku), a takođe se može napraviti da aplikacija reaguje na spoljnje događaje, koji se mogu meriti sa nekim od ugrađenih senzora u telefonu (promena intenziteta zvuka/svetla u okolini, promena položaja telefona, osetljivost na vibracije itd.).

Navigacija: Ideja / [ Planiranje ] / Interfejs Aplikacija Praksa