- Potrebne komponente:
- Reverse Engineering:
- Delovna razlaga:
- Circuit Connections:
- Program Arduino:
- Uporaba obdelave za izdelavo aplikacije za Android:
V tem projektu bomo uporabili obstoječi FM radio, ki so ga že dolgo popravili, da bi ga s pomočjo Arduino in Processing pretvorili v pametni brezžični FM radio, ki ga upravljamo s telefonom.
Po istem postopku lahko pretvorimo katero koli ročno upravljano elektronsko napravo v pametno napravo. Vsaka elektronska naprava deluje s pomočjo signalov. Ti signali so lahko v smislu napetosti ali tokov. Signali se lahko sprožijo ročno s pomočjo neposredne interakcije uporabnika ali s pomočjo brezžične naprave.
Do konca tega projekta bomo lahko večino naših običajnih elektronskih naprav, kot je radio, ki deluje na gumbe, pretvorili v pametni brezžični pripomoček, ki ga lahko pametni telefon upravlja prek Bluetootha. Da bi to dosegli, bomo morali narediti dve glavni stvari.
1. Predvidite, kako se generirajo signali v obstoječem mehanskem sistemu gumbov.
2. Poiščite način, kako sprožiti isti signal s pomočjo majhnega dodatnega vezja.
Torej, začnimo…
Potrebne komponente:
Za ta projekt lahko izberete staro ali neuporabljeno elektronsko napravo, kot so radio, televizor, CD-predvajalnik ali domači kino. Dejanske komponente se lahko razlikujejo glede na izbrano napravo. Da pa bi bil brezžičen, bi potrebovali mikrokrmilnik, ki je tukaj Arduino, in brezžični medij, ki je modul Bluetooth HC-05.
Reverse Engineering:
V redu, zdaj sem izbral stari FM radijski predvajalnik, ki je že davno prenehal delovati. In ko sem ga odprl, sem ugotovil, da gumbi na njem niso več delovali. To bo popolna naprava za naše delo, ker gumbov ne bomo več potrebovali, saj jo bomo popolnoma brezžično povezali. Spodnja slika prikazuje radio, ki sem ga odprl.
To je bila nastavitev gumba mojega radia (zgoraj slika). Kot lahko vidite, obstaja osem gumbov, s katerih radio sprejema podatke. Opazite lahko tudi, da je na plošči osem uporov. Kaj lahko sklepate iz tega…? Da, vsak upor je povezan s stikalom. Zdaj pa si oglejmo hrbtno stran plošče:
Povezavo lahko izsledite s pomočjo skladb PCB, če pa ste še vedno zmedeni, lahko milimeter več uporabljate v povezljivosti in ugotovite vezje. Ta plošča ima tri terminale (obkrožene z rdečo), ki oddajajo signale glavni FM radijski plošči. Ti zatiči so bili označeni kot S1, S2 in 1,7V. To pomeni, da se z glavne plošče na to ploščo pošlje konstantna napetost 1,7 V in ko uporabnik pritisne kateri koli gumb, bo na ustreznem uporu padel napetost in skozi zatiča S1 in S2 bo spremenljiva napetost poslana nazaj. Tako deluje večina gumbov v naših elektronskih napravah. Zdaj, ko smo ugotovili, kako je delovalo, naj bo brezžično.
Delovna razlaga:
Torej, da je brezžična, moramo le dati napetost med 0 - 1,7 V na S1 in ozemljiti glavno ploščo. Na nekaj načinov lahko posnemate nastavitve teh gumbov z mikrokrmilnikom.
Lahko uporabimo digitalni potenciometer in poskrbimo, da zagotavlja upor na plošči, kot je programirano in po potrebi. Toda to bo stvari zapletelo in drago, saj je za delo z Digipotom potreben SPI in Digipots so dragi.
Uporabimo lahko tudi tranzistorsko uporniško mrežo, v kateri se vsak upor različnih vrednosti aktivira s tranzistorjem, ki pa ga krmili sam mikrokrmilnik. Toda še enkrat, če to storite za osem gumbov, se bo vezje zapletlo.
To preprosto naredite tako, da iz mikrokrmilnika neposredno generirate zahtevano spremenljivo napetost in jo napajate na signalne nožice. Na žalost ima Arduino samo ADC in nima DAC-a. Ampak na srečo imamo v Arduinu PWM. Ta PWM lahko deluje kot spremenljiva napetost s pomočjo preprostega RC nizkofrekvenčnega filtra.
Zgornji filter je prikazan zgoraj, ključna komponenta tukaj je kondenzator, ki bo ozemlil celoten utripajoč signal in kot izhod se pošlje čisti enosmerni tok. Torej je treba signale PWM iz Arduina poslati skozi nizkofrekvenčni filter in nato poslati na signalno ploščo FM radia.
Vezje je enostavno sestaviti na pikčasti plošči, kot je prikazano zgoraj. Tu je črna žica za ozemljitev, modra in zelena žica na levi pa bodo poslane na naše FM plošče S1 (zelena) in S2 (modra), desne žice pa bodo prejemale PWM signale iz Arduinovega Pin 9 & 10 (glejte sliko zgoraj) in jo prenesite na ploščo FM prek nizkopasovnega filtra. Modul Bluetooth uporablja nožice 11 in 12 kot Rx in TX.
Zdaj lahko generiramo PWM signale od 0 do 1,7 volta in ugotovimo, kako se naš radio obnaša pri različnih napetostnih stopnjah. Naslednji korak je narediti to stvar brezžično.
Circuit Connections:
Ta shema prikazuje celotno nastavitev filtra nizkih frekvenc in modula Bluetooth HC-05, priključenega na Arduino Mega za FM radio, ki ga nadzira Bluetooth.
Program Arduino:
Program za Arduino je podan v spodnjem odseku kode. Z uporabo tega programa lahko tukaj preizkusite tudi spremenljivo napetost za svojo elektronsko napravo.
Preden začnemo z izdelavo lastne aplikacije za Android za naš radio, je priporočljivo preizkusiti brezžično funkcijo s pomočjo aplikacije Terminal Bluetooth Monitor, kot je prikazano v spodnjem videu. Preverite ta članek za konfiguriranje aplikacije Bluetooth Terminal App na Arduino. Ko smo prepričani v njegovo delovanje, lahko skočimo v izdelavo lastne aplikacije za Android.
Uporaba obdelave za izdelavo aplikacije za Android:
Fino je, da je naša naprava brezžična, lahko pa ji dodamo tudi nekaj osebnega pridiha z ustvarjanjem lastne aplikacije za Android. Napravo lahko nadzorujemo po samodejnem načrtovanem času ali pa jo nadzorujemo na podlagi vaših budilk. Ko se vrnete domov, lahko celo predvajate svoj najljubši kanal. Tu je domišljija vaša meja. Toda za zdaj bomo ustvarili preprost uporabniški vmesnik z uporabo obdelave, ta aplikacija bo imela le nekaj gumbov, s katerimi lahko upravljate svoj FM radio.
Processing je odprtokodna programska oprema, ki jo umetniki uporabljajo za grafično oblikovanje. Ta programska oprema se uporablja za razvoj programske opreme in aplikacij za Android.
Koda za obdelavo aplikacije Android za nadzor tega brezžičnega FM radia je podana tukaj:
- Koda za obdelavo aplikacij Android za nadzor FM radia
Najprej smo to aplikacijo zgradili na osebnem računalniku v načinu JAVA, da jo lahko pravilno preizkusimo, tukaj je koda za obdelavo istega. Z desno miškino tipko kliknite in kliknite "Shrani povezavo kot..", da prenesete kodno datoteko. Nato odprite datoteko v programski opremi 'Processing' in kliknite gumb 'Run', da preverite, kako bo videti v telefonu. Za odpiranje datotek *.pde morate namestiti programsko opremo 'Processing'.
Ko preizkusimo aplikacijo v načinu JAVA, jo lahko enostavno pretvorimo v način Android, tako da v zgornjem desnem kotu okna za obdelavo preklopimo na zavihek Android. Da bi naš Android telefon vklopil svoj Bluetooth in se samodejno povezal z našim modulom HC-05, moramo obstoječemu programu Java dodati naslednje kode, da postane aplikacija za Android. V zgornji povezavi smo že zagotovili celotno kodo Android, tako da jo lahko neposredno uporabite.
Spodaj je nekaj datotek glave, ki omogočajo funkcije Bluetooth:
import android.content.Intent; uvoz android.os.Bundle; uvoz ketai.net.bluetooth. *; uvoz ketai.ui. *; uvoz ketai.net. *; uvoz android.bluetooth.BluetoothAdapter; import android.view.KeyEvent;
Spodnje vrstice komunicirajo z vmesnikom Bluetooth za naše telefone s pomočjo knjižnice Ketai, naš adapter pa imenujemo bt .
BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter (); KetaiBluetooth bt;
Pod delom kode bo uporabnik sprožil zahtevo, naj vklopi Bluetooth ob zagonu aplikacije.
// Za zagon BT ob zagonu ********* void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); bt = nov KetaiBluetooth (to); } void onActivityResult (int requestCode, int resultCode, Intent data) {bt.onActivityResult (requestCode, resultCode, podatki); } // **********
Tukaj poučujemo našo aplikacijo Android, s katero napravo Bluetooth se moramo povezati. Vrstica bt.connectToDeviceByName (izbor); pričakujte ime naprave od naše nastavitvene funkcije. Ker je naša naprava Bluetooth poimenovana kot 'HC-05', je v nastavitvi dodana spodnja vrstica. To ime se bo razlikovalo glede na ime modulov Bluetooth.
// Za izbiro naprave Bluetooth ********** void onKetaiListSelection (KetaiList klist) {String selection = klist.getSelection (); bt.connectToDeviceByName (izbor); // seznam zavržemo za zdaj klist = null; } // **********
bt.connectToDeviceByName ("HC-05");
Te spremembe lahko naredite v Obdelovalni kodi za računalnik (način Java) ali pa neposredno uporabite našo Obdelovalno kodo Android, navedeno v zgornji povezavi. Nato s podatkovnim kablom neposredno povežite telefon s prenosnikom in v telefonu omogočite odpravljanje napak USB. Zdaj kliknite gumb Predvajaj v oknu za obdelavo v računalniku, aplikacija se bo neposredno namestila v telefon Android in se samodejno zagnala. Tako enostavno je, zato poskusite.
Spodnja slika predstavlja naš uporabniški vmesnik aplikacije Android skupaj z oknom za kodiranje. Oglejte si video, da boste razumeli in zagnali kodo v telefonu Android in računalniku.
Tako smo svoj stari FM radio spremenili v sodoben brezžični pripomoček, ki ga lahko nadzoruje naša aplikacija Android. Upam, da bo to ljudem pomagalo, da se bodo lotili dela, toda če potrebujete kakršna koli navodila kot vedno, lahko uporabite odsek za komentarje in z veseljem vam bomo pomagali.