- Būtini komponentai:
- Atvirkštinės inžinerijos:
- Darbinis paaiškinimas:
- Grandinės jungtys:
- „Arduino“ programa:
- Apdorojimo naudojimas norint sukurti „Android“ programą:
Šiame projekte mes naudosime esamą FM radiją, kuris jau seniai buvo suremontuotas, kad jį paverstume išmaniuoju belaidžiu FM radiju, valdomu naudojant telefoną, naudojant „ Arduino“ ir „Processing“.
Bet kurią rankiniu būdu valdomą elektroninį prietaisą galime konvertuoti į išmanųjį įrenginį ta pačia tvarka. Kiekvienas elektroninis prietaisas veikia signalų pagalba. Šie signalai gali būti išreikšti įtampa ar srove. Signalai gali būti įjungiami rankiniu būdu, tiesiogiai bendraujant vartotojui, arba belaidžiu įrenginiu.
Iki šio projekto pabaigos galėsime paversti didžiąją dalį savo įprastų elektroninių prietaisų, pvz., Radijo imtuvą, veikiantį mygtukais, į išmaniąją belaidę programėlę, kurią galima valdyti išmaniuoju telefonu per „Bluetooth“. Norėdami tai pasiekti, turėsime atlikti du pagrindinius dalykus.
1. Numatykite, kaip signalai generuojami esamoje mechaninių mygtukų sistemoje.
2. Išsiaiškinkite būdą, kaip suaktyvinti tą patį signalą naudojant mažą papildomą grandinę.
Taigi, pradėkime…
Būtini komponentai:
Šiam projektui galima pasirinkti seną ar nenaudotą elektroninį prietaisą, pvz., Radiją, televizorių, CD grotuvą ar namų kino teatrą. Tikrieji komponentai gali skirtis priklausomai nuo pasirinkto įrenginio. Bet norint, kad jis būtų bevielis, mums reikės mikrovaldiklio, kuris čia yra „ Arduino“, ir belaidės terpės, kuri yra „ HC-05 Bluetooth“ modulis.
Atvirkštinės inžinerijos:
Gerai, todėl dabar pasirinkau seną FM radijo grotuvą, kuris seniai nustojo veikti. Atidariusi pamačiau, kad jo mygtukai nustojo veikti. Tai bus puikus prietaisas, kad galėtume dirbti, nes mums nebereikės mygtukų, nes ketiname padaryti jį visiškai belaidžiu. Žemiau esančiame paveikslėlyje parodytas radijas, kurį atidariau.
Tai buvo mano radijo mygtuko sąranka (virš nuotraukos). Kaip matote, radijas priima aštuonis mygtukus. Taip pat galite pastebėti, kad lentoje yra aštuoni rezistoriai. Ką galite padaryti iš to… Taip, kiekvienas pasipriešinimas yra prijungtas prie jungiklio. Dabar pažvelkime į lentos galinę pusę:
Ryšį galite atsekti naudodami PCB takelius, tačiau jei vis tiek nesuprantate, galite daugiau naudoti savo milimetrą ryšyje ir išsiaiškinti grandinę. Ši plokštė turi tris gnybtus (apvedžiotus raudonai), kurie duoda signalus pagrindinei FM radijo plokštei. Šie kaiščiai buvo pažymėti kaip S1, S2 ir 1,7 V. Tai reiškia, kad iš pagrindinės plokštės į šią plokštę siunčiama pastovi 1,7 voltų įtampa ir vartotojui paspaudus bet kurį mygtuką, atitinkamame rezistoriuje bus įtampos kritimas, o per kaiščius S1 ir S2 bus siunčiama kintama įtampa. Taip veikia dauguma elektroninių prietaisų mygtukų. Kadangi supratome, kaip tai veikė, paverskime jį belaidžiu.
Darbinis paaiškinimas:
Taigi dabar, kad būtų bevielis, mes tiesiog turime suteikti įtampą tarp 0 - 1,7 V visoje S1 ir išžeminti pagrindinę plokštę. Yra keli būdai, kuriais galite imituoti šiuos mygtukų nustatymus naudodami mikrovaldiklį.
Mes galime naudoti skaitmeninį potenciometrą ir priversti jį užtikrinti atsparumą lentoje, kaip užprogramuota ir kai reikia. Bet tai apsunkins ir brangiai kainuoja, nes norint dirbti su „Digipot“ reikia SPI, o „Digipots“ yra brangu.
Mes taip pat galime naudoti tranzistorių rezistorių tinklą, kuriame kiekvieną skirtingų reikšmių rezistorių įjungia tranzistorius, kurį savo ruožtu valdo pats mikrovaldiklis. Bet vėl tai padarius aštuoniems mygtukams, grandinė taps sudėtinga.
Paprastas būdas tai padaryti yra tiesiogiai generuoti reikiamą kintamą įtampą iš mikrovaldiklio ir tiekti ją į signalo kaiščius. Deja, „Arduino“ turi tik ADC ir neturi DAC. Laimei, mes turime PWM „Arduino“. Šį PWM galima priversti veikti kaip kintamą įtampą, naudojant paprastą RC žemo dažnio filtrą.
Aukščiau parodytas žemo dažnio filtras, pagrindinis komponentas yra kondensatorius, kuris įžemins visą pulsuojantį signalą ir gryna nuolatinė srovė bus siunčiama kaip išėjimas. Taigi PWM signalai iš „Arduino“ turi būti siunčiami per žemų dažnių filtrą ir tada perduodami į FM radijo signalų lentą.
Grandinę lengva pastatyti ant taškinės lentos, kaip parodyta aukščiau. Čia juoda viela skirta įžeminti, o kairėje pusėje esantys mėlyni ir žali laidai bus siunčiami į mūsų FM plokštes S1 (žalia) ir S2 (mėlyna), o dešinėje esantys laidai gaus PWM signalus iš „Arduino“ kaiščių 9 ir 10 (žiūrėkite aukščiau esantį paveikslėlį) ir per žemų dažnių filtrą pereikite prie FM plokštės. „Bluetooth“ modulis naudoja 11 ir 12 kaiščius kaip Rx ir TX.
Dabar mes galime generuoti PWM signalus nuo 0 voltų iki 1,7 voltų ir sužinoti, kaip mūsų radijas elgiasi esant skirtingiems įtampos lygiams. Kitas žingsnis - padaryti šį dalyką belaidžiu.
Grandinės jungtys:
Ši schema rodo visą žemų dažnių filtro ir „HC-05 Bluetooth“ modulio, prijungto prie „Arduino Mega“, skirtą „ Bluetooth“ valdomam FM radijui, sąranką.
„Arduino“ programa:
„Arduino“ programa pateikiama žemiau esančiame skyriuje „Kodas“. Taip pat naudodamiesi šia programa galite išbandyti savo elektroninio prietaiso kintamos įtampos diapazoną.
Prieš pradėdami kurti savo „Android“ programą savo radijui, patartina išbandyti belaidžio ryšio funkciją naudodami „Terminal Bluetooth“ monitoriaus programą, kaip parodyta toliau pateiktame vaizdo įraše. Norėdami konfigūruoti „Bluetooth“ terminalo programą „Arduino“, patikrinkite šį straipsnį. Kai būsime įsitikinę, kad jis veikia, galime pradėti kurti savo „Android“ programą.
Apdorojimo naudojimas norint sukurti „Android“ programą:
Šaunu padaryti mūsų įrenginį belaidžiu, bet mes taip pat galime pridėti šiek tiek asmeninio prisilietimo prie savo įrenginio sukurdami savo „Android“ programą. Mes galime valdyti įrenginį pagal numatytą automatinį laiką arba valdyti jį pagal jūsų pažadinimo signalus. Jūs netgi galite priversti savo radiją groti mėgstamą kanalą grįžę namo. Vaizduotė yra jūsų riba čia. Tačiau kol kas sukursime paprastą vartotojo sąsają naudodami apdorojimą, šioje programoje bus tik keli mygtukai, kuriais galėsite valdyti savo FM radiją.
Apdorojimas yra atviro kodo programinė įranga, kurią menininkai naudoja kurdami grafiką. Ši programinė įranga naudojama programinei įrangai ir „Android“ programoms kurti.
Apdorojimo kodas, skirtas „ Android“ programai valdyti šį belaidį FM radiją, pateikiamas čia:
- „Android“ programų apdorojimo kodas FM radijui valdyti
Pirmiausia mes sukūrėme šią programą kompiuteryje JAVA režimu, norėdami tinkamai išbandyti, čia yra to paties apdorojimo kodas. Dešiniuoju pelės mygtuku spustelėkite jį ir spustelėkite „Išsaugoti nuorodą kaip..“, kad atsisiųstumėte kodo failą. Tada atidarykite failą programinėje įrangoje „Apdorojimas“ ir spustelėkite mygtuką „Vykdyti“, kad patikrintumėte, kaip jis atrodys telefone. Norėdami atidaryti *.pde failus, turite įdiegti „Processing“ programinę įrangą.
Išbandę programą JAVA režimu, galime lengvai ją konvertuoti į „Android“ režimą, pakeisdami skirtuką „Android“ viršutiniame dešiniajame lango „Apdorojimas“ kampe. Norėdami priversti „Android“ telefoną įjungti „Bluetooth“ ir automatiškai prisijungti prie mūsų HC-05 modulio, turime pridėti šiuos kodus prie esamos „ Java“ programos, kad tai taptų „Android“ programa. Mes jau pateikėme visą „Android“ kodą aukščiau esančioje nuorodoje, todėl galite tiesiogiai jį naudoti.
Žemiau yra keletas antraštės failų, leidžiančių „Bluetooth“ funkcijas:
importuoti android.content.Intent; importuoti android.os.Bundle; importuoti ketai.net.bluetooth. *; importuoti ketai.ui. *; importuoti ketai.net. *; importuoti android.bluetooth.BluetoothAdapter; importuoti android.view.KeyEvent;
Žemiau linijų bendrauja su mūsų telefonais "Bluetooth" adapteris, naudojant Ketai biblioteką ir mes pavadinti mūsų adapterį kaip bt .
„BluetoothAdapter bluetooth“ = „BluetoothAdapter.getDefaultAdapter“ (); „KetaiBluetooth bt“;
Žemiau kodo dalies vartotojui bus pateiktas prašymas įjungti „Bluetooth“ programą paleidžiant programą.
// Norėdami paleisti „BT“ paleisdami ********* void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); bt = naujas „KetaiBluetooth“ (tai); } void onActivityResult (int requestCode, int resultCode, Intent data) {bt.onActivityResult (requestCode, resultCode, data); } // **********
Čia mes nurodome savo „Android“ programai, prie kurio „Bluetooth“ įrenginio turime prisijungti. Linija bt.connectToDeviceByName (pasirinkimas); tikėkitės įrenginio pavadinimo iš mūsų sąrankos funkcijos. Kadangi mūsų „Bluetooth“ įrenginys pavadintas „HC-05“, sąrankoje pridedama žemiau esanti eilutė. Šis pavadinimas skirsis atsižvelgiant į jūsų „Bluetooth“ modulių pavadinimą.
// Norėdami pasirinkti „Bluetooth“ įrenginį ********** void onKetaiListSelection (KetaiList klist) {String selection = klist.getSelection (); bt.connectToDeviceByName (pasirinkimas); // dispose of list for most klist = null; } // **********
„bt.connectToDeviceByName“ („HC-05“);
Arba galite atlikti šiuos pakeitimus kompiuterio apdorojimo kode („Java“ režimas), arba galite tiesiogiai naudoti mūsų „Android“ apdorojimo kodą, pateiktą aukščiau esančioje nuorodoje. Tada tiesiogiai prijunkite telefoną prie nešiojamojo kompiuterio naudodami duomenų kabelį ir įgalinkite telefone USB derinimą. Dabar kompiuteryje esančiame apdorojimo lange spustelėkite mygtuką „Leisti“, programa bus tiesiogiai įdiegta „Android“ telefone ir bus paleista automatiškai. Tai taip lengva, todėl pirmyn išbandykite.
Žemiau pateiktame paveikslėlyje vaizduojamas mūsų „Android“ programos vartotojo sąsaja kartu su jos kodavimo langu. Peržiūrėkite vaizdo įrašą, kad suprastumėte ir paleistumėte kodą „Android“ telefone ir kompiuteryje.
Štai, mes pavertėme savo seną FM radiją belaidžiu šiuolaikiniu įtaisu, kurį galima valdyti naudojant „Android“ programą. Tikiuosi, kad tai padės žmonėms pradėti dirbti, tačiau jei jums reikia patarimų, kaip visada, galite naudoti komentarų skyrių ir mes mielai jums padėsime.