Browse Category: Elektronika

ESP8266 – Arduino wireless modul

Ovo je možda moj najkraći blog. Uglavnom, oni koji se zanimate sa Arduinom – potražite ovaj modul! Nema potrebe da pišem bilo šta o njemu, pošto je internet prepun (da ne kažem da je internet prso zbog ovog) tutorijala: šta su drugi ljudi uradili, napravili, šta sve može, koliki mu je domet itd. Tako da ono.. Samo napred. Dx ili aliexpress ili nešto treće i pravite svoj Internet of things.

Update:

Evo jedan hint, šta da ne radite kada je u pitanju ovaj (ili sličan) modul.

Pošto je njegovo napajanje 3.3V, potrazio sam regulatore napona na inernetu i napravio sam jedan koji koristi kolo LM317. To je zaprav bila jako loša ideja i sada sam “kraći” za jedan modul 😛

Šta se zapravo dogodilo?

Regulator na izlazu daje napon koji zavisi od ulaznog napona i otpornosti podešene na potenciometru. Prvo, ulazni napon mi nije bio stabilan. Neki ispravljač (ne znam ni sam odakle mi ga) koji daje 18V DC na izlazu. Kao.. Zatim, potenciometar koji sam koristio je neko đubre koje prilično varira sa otpornošću i ako ga niko ne dira. I kada se te dve stvari iskombinuju, na izlazu se dobije 3.8V iako je inicijalno sve bilo podešeno da na izlazu bude 3.3V. I onda je izašao onaj sakriveni beli dim iz modula. Jbg…

Nakon malo guglanja, našao sam da neki ljudi koriste kolo LD33V, koje na izlazu daje stabilnih 3.3V. Tako da eto… Krenite sa tim.

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.

“Prženje” grafičke kartice

Neki to urade u rerni, kažu 200 stepeni, 5 minuta je dovoljno. A ja sam to uradio na malo drugačiji način, pošto je meni rikla integrisana grafička na laptopu. Ali evo prvo mali uvod, za one koji nisu sigurni o čemu se ovde radi, čisto da ne bi posumnjali da pravim paprikaš od računarskih komponenti.

Kada se računar zapusti ili kada mu dođu godine, obično zakaže hlađenje, pa se računar pregreva i pregreva dok jednom ne prestane da radi. I onda odnesete računar u servis i kažu vam da će ga popraviti za recimo desetak hiljada dinara. Iz onoga što sam naučio u poslednja dva meseca, za šta ne garantujem da je tačno, jer je uglavnom “znanje sa raznih foruma”, je da vaš računar zapravo i nije pokvaren. Ili barem ne u smislu pokvaren-nešto-je-riklo. Ono što se najverovatnije dogodilo, jeste da se od pregrevanja odlemio čip sa ploče. U servisu taj čip zagreju na određenu temperaturu, veze se obnove i “Wola, računar radi!”. Postoje i tehnike kada se menja “sačma” (šta god to bilo), onda je postupak znazno komplikovaniji ali i sigurniji. Eto to kažu ljudi na forumima, a ja, pošto ne volim da platim nešto ako ne moram, kažem da ću sam da probam da ugrejem čip.

Kao što sam rekao, problem koji sam imao, je bio malo komplikovaniji, pošto se radilo o celoj matičnoj ploči, tako da varijanta sa rernom nije dolazila u obzir.

Pokušavao sam i sa fenom za kosu da ugrejem čip, ali temperatura nije bila dovoljno visoka da bi se veze obnovile. Pokušao sam i sa više njih, takođe bezuspešno. Stupid me.

A onda sam odlučio sa fenom za skidanje boje/laka. Šest stotina stepeni mora da bude dovoljno! Kada sam konačno došao do takve mašine, ipak sam odlučio da malo usporim, pa probam sa recimo 250 stepeni. Zaštitio sam ostatak komponenti na ploči sa alu-folijom, na štoperici namestio 5 minuta i feniranje je počelo. Nakon toga sam sačekao da se čip ohladi, povezao ploču na displej i napajanje – klik – i računar ponovo radi 🙂

E sada ova priča se ne završava lepo kao što sada to možda izgleda. Računar iako je proradio, imao je gadne probleme sa pregrevanjem. Restartovanje se događalo prilikom samo malo većeg opterećenja grafiče kartice. Na kraju ga je zamenio novi računar, a stari je prodat u servis u delove.

Uglavnom, odavde sam naučio da neke stvari baš i ne mogu kod kuće da se urade. Ja sam imao situaciju kada je popravka bila skuplja nego cela nova matična ploča, tako da sam se odlučio na eksperimentisanje. U suprotnom to verovatno ne bih uradio, a ne preporučujem ni vama.

L298 drajver za motor

Pošto se pretragom interneta može naći gomila detaljnih opisa ovog kola i šema za njegovo povezivanje, ja ću samo ukratko napisati moje iskustvo što se tiče njegove nabavke i korišćenja.

Nedavno sam pravio autić kojim bih upravljao preko IOIO-a, pa mi je za upravljanje pokretačkim motorom bila potrebna neka komponenta koja bi mi omogućila razdvajanje IOIO-a i pokretačkog motora. To razdvajanje je bilo potrebno pošto pinovi na IOIO-u imaju izlazni napon 5V i ne trpe velike struje, a motor radi na 18V i vuče oko 250mA.

1) Rele – to je prva komponenta koje sam se setio, ali nažalost, jako je spora pa ne radi sa PWM signalima.
2) Tranzistor – radi sa PWM signalima, ali ne trpi velike stuje.
3) Tiristor – probao, ali PWM nije radio kako treba…
4) Mosfet – radi PWM, a dobro podnosi i veći napon i struju. Autić savršeno ide napred, ali pojma nemam kako da ga nateram da ide u rikverc.
5) L298. Nakon svih ovih ideja i pokušaja iznad, saznao sam da mi je zapravo potreban Motor driver, koji je namenjen da radi baš ovo što meni treba. I tu naravno ne prođe sve kako treba iz prve, te mi u prodavnici uvale L297 uz izgovor da i taj L297 radi isto što i L298 i da je to zamena. E pa ne radi isto to, jbg…

Malo je teže naći L298 u prodavnicama koje prodaju elektronske komponente, pa sam ja moj našao na Kupindu i to uz jako dobru cenu. Zpravo, za 1/3 cene od one redovne.

Ovde možete pogledati kako se koristi L298. Pošto je pored samog kola potrebno još komponenti i lemljenja, sklapanja i sličnih radnji, preporučujem da pre kupovine pogledate i ovaj link. Ovde je L298 već stavljen na pločicu gde se od vas očekuje odgovarajući input, a dobijete gotov output koji povezujete direktno na motor. Pored toga nemate nikakvih zezancija sa ostalim dodatnim komponentama 🙂

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 😉

Bežični okidač za DSLR fotoaparate (Android)

Ako ste pročitali blog o okidanju Canon DSLR fotoaparata putem Android telefona, možda ste se zapitali da li to može i bez kabla? Da, može!

Za fotoaparate koji imaju ugrađen infracrveni senzor, postoje daljinski kojim je moguće bežično kontrolisati okidanje fotoaparata. Cena ovih uređaja nije preterano velika, ali ako imate Android telefon, ili neki drugi Android uređaj koji uvek nosite sa sobom, sve ovo može i mnogo jeftinije.

Da bi Vaš Android uređaj pretvorili u daljinski za okidanje fotoaparata, potrebno Vam je parče hardvera i aplikacija kojom ćete kontrolisati okidanje fotoaparata. Neophodan hardver namerno nazivam parčetom hardvera, jer su to zapravo dve IR diode i jedan stereo konektro. Evo i šeme:

Šema povezivanja IR dioda na stereo konektor
Šema povezivanja IR dioda

Obratite pažnju kako su diode povezane: plus prve diode i minus druge su povezane na desni kanal, dok su minus prve i plus druge diode povezani na levi kanal stereo priključka.

Aplikaciju kojom možete kontrolisati Vaš DSLR koristeći ovo parče hardvera, možete naći ovde. Takođe niste ograničeni samo na Canon fotoaparate (kao u prethodnom blogu), već je moguće kontrolisati i fotoaparate proizvođača Nikon, Olympus, Snoy, Fuji, Minotla i Pentax 😉

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?

😉

Canon DSLR – daljinski (Android) okidač – Praksa

U prethodnim blogovima sam opisao kako treba da funkcioniše ovaj uređaj, kako hardverski deo, tako i deo koji se izvršava na telefonu tj. aplikacija. Ali kako ovo zapravo funkcioniše u stvarnosti?

Interfejs

Onima koji žele ovo sami da prave, a nisu baš vešti sa elektronikom, preporučujem da koriste kalaj za lemljenje sa kalafonijumom. Ja sam izgubio dva dana, pokušavajući da komponente nalemim na pločicu sa nekom starom lemilicom i još starijim kalajom. Na kraju sam kupio novi kalaj i sastavio pločicu za 10min 🙂
Kao podlogu za komponente, koristio sam protobord pločicu. Kako sam saznao od prodavca, postoje protobord ploče sa poljima od bakra na koje se leme komponente ili kao u mom slučaju, ploče sa linijama bakra na kojima se nalaze rupice kroz koje se povezuju komponente. Meni se lično više dopala ova varijanta sa rupicama, jer su tako  lemovi sa jedne, a komponente sa druge, pa sve izgleda urednije i kulturnije. Evo kako to sada izgleda:

Sastavljen interfejs

Na ovom interfejsu se nalaze još i dva tastera, tako da i kada mi telefon nije pri ruci, mogu da koristim interfejs kao što je opisano ovde. Što se tiče komponenti, mislim da ni jedna komponenta nije iste oznake kao što sam naveo u blogu o interfejsu, već su sve neke približne vrednosti. Jednostavno na mestu gde sam kupovao komponente nisu imali komponente sa traženim oznakama, a i ovako sve radi kako treba, pa to nije problem.

Aplikacija

Oko pisanja aplikacije sam se zadržao malo duže, jer sam potpuni početnik što se tiče Android programiranja, a ni sa Javom nisam neki ekspert. Mic po mic i napisao sam ono što mi treba, ono zbog čega sam uopšte i započeo pisanje ovog bloga. Ili barem deo toga 😛
Ukoliko niste upoznati sa programiranjem Android aplikacija, pročitajte ovo uputstvo.

Aplikacija

Za sada aplikacija može da funkcioniše na dva načina. Automatski, kada se unapred definiše ekspozicija ili ručni kada ekspozicija traje onoliko vreme koliko se prst drži na dugmetu “Shoot”. Takođe je moguće i prekinuti ekspoziciju klikom na dugme “Stop” ukoliko je greškom definisana predugačka ekspozicija.

Aplikacija je pisana za HTC Wildfire sa Androidom 2.2.1. Za preuzimanje sours koda kliknite ovde, a zatim pritisnite Ctrl+S.

Navigacija: Ideja Planiranje / Interfejs Aplikacija / [ Praksa ]

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

  • 1
  • 2