- Componente necesare:
- Inginerie inversă:
- Explicație de lucru:
- Conexiuni de circuit:
- Program Arduino:
- Utilizarea procesării pentru a crea aplicația Android:
În acest proiect vom folosi un radio FM existent care a fost reparat cu mult timp în urmă, pentru a-l converti într-un radio FM fără fir inteligent controlat folosind telefonul, cu ajutorul Arduino și Processing.
Putem converti orice dispozitiv electronic acționat manual într-un dispozitiv inteligent folosind aceeași procedură. Fiecare dispozitiv electronic funcționează cu ajutorul semnalelor. Aceste semnale ar putea fi în termeni de tensiuni sau curenți. Semnalele pot fi declanșate manual cu ajutorul interacțiunii utilizatorului direct sau cu ajutorul unui dispozitiv wireless.
Până la sfârșitul acestui proiect, vom putea converti majoritatea dispozitivelor noastre electronice obișnuite, cum ar fi un radio care funcționează pe butoane, într-un dispozitiv inteligent fără fir care poate fi controlat de un telefon inteligent prin Bluetooth. Pentru a realiza acest lucru va trebui să facem două lucruri principale.
1. Preziceți cum sunt generate semnalele în sistemul de butoane mecanice existente.
2. Aflați o modalitate de a declanșa același semnal cu ajutorul unui mic circuit suplimentar.
Deci sa începem…
Componente necesare:
Pentru acest proiect poate fi selectat un dispozitiv electronic vechi sau neutilizat, cum ar fi un radio, TV, CD player sau home theater. Componentele reale pot varia în funcție de dispozitivul pe care îl selectați. Dar pentru a-l face fără fir, am avea nevoie de un microcontroler care este un Arduino aici și de un mediu fără fir care este un modul Bluetooth HC-05.
Inginerie inversă:
Bine, așa că acum am selectat un vechi radio FM care nu mai funcționează cu mult timp în urmă. Și când l-am deschis am constatat că butoanele de pe el au încetat să mai funcționeze. Acesta va fi un dispozitiv perfect pentru a funcționa, deoarece nu vom mai avea nevoie de butoane, deoarece îl vom face complet fără fir. Imaginea de mai jos arată radioul pe care l-am deschis.
Aceasta a fost configurarea butonului radioului meu (imaginea de mai sus). După cum puteți vedea, există opt butoane de la care radio intră. De asemenea, puteți observa că există opt rezistențe pe placă. Ce puteți concluziona din asta…? Da, fiecare rezistor este conectat la un comutator. Acum să aruncăm o privire în partea din spate a plăcii:
Puteți urmări conexiunea cu ajutorul pistelor PCB, dar dacă sunteți încă confuz, vă puteți folosi mai mult milimetrul în conectivitate și puteți afla circuitul. Această placă are trei terminale (înconjurate cu roșu) care oferă semnale plăcii principale de radio FM. Acești pini au fost marcați ca S1, S2 și 1.7V. Aceasta înseamnă că o tensiune constantă de 1,7 volți este trimisă de pe placa principală pe această placă și pe măsură ce utilizatorul apasă orice buton, va exista o cădere de tensiune pe rezistorul corespunzător și prin pinii S1 și S2 o tensiune variabilă va fi trimisă înapoi. Așa funcționează majoritatea butoanelor dispozitivelor noastre electronice. Acum, de când ne-am dat seama cum a funcționat, să-l facem wireless.
Explicație de lucru:
Deci, acum, pentru a face wireless, trebuie doar să acordăm o tensiune între 0 - 1,7V pe S1 și să împământăm placa principală. Există câteva modalități prin care puteți imita configurarea acestor butoane folosind un microcontroler.
Putem folosi un potențiometru digital și să-l facem să ofere rezistență pe placă așa cum este programat și când este necesar. Dar acest lucru va face lucrurile complicate și costisitoare, deoarece lucrul cu Digipot necesită SPI, iar Digipots sunt costisitoare.
Putem folosi, de asemenea, o rețea de rezistențe cu tranzistoare, în care fiecare rezistor cu valori diferite este activat de un tranzistor care, la rândul său, este controlat de microcontrolerul însuși. Dar din nou, pentru a face acest lucru pentru opt butoane, circuitul se va complica.
Modul simplu de a face acest lucru este să generați direct tensiunea variabilă necesară de la microcontroler și să o alimentați la pinii de semnal. Din păcate, Arduino are doar ADC și nu are DAC. Dar, din fericire, avem PWM în Arduino. Acest PWM poate fi făcut să acționeze ca o tensiune variabilă cu ajutorul unui simplu filtru RC Low Pass.
Un filtru trece jos este prezentat mai sus, componenta cheie aici este condensatorul care va lega la masă întregul semnal pulsatoriu și un DC pur este trimis ca ieșire. Deci, semnalele PWM de la Arduino trebuie trimise printr-un filtru low-pass și apoi transmise către placa de semnal a radio FM.
Circuitul este ușor de construit pe o placă de puncte, așa cum se arată mai sus. Aici firul negru este destinat împământării, iar firele albastre și verzi din stânga vor fi trimise către plăcile noastre FM S1 (verde) și S2 (albastru), iar firele din dreapta vor primi semnale PWM de la pinul 9 și 10 al Arduino (vezi imaginea de mai sus) și treceți la placa FM printr-un filtru de trecere joasă. Modulul Bluetooth folosește pinii 11 și 12 ca Rx și TX.
Acum putem genera semnale PWM de la 0 volți la 1,7 volți și putem afla cum se comportă radioul nostru pentru diferite niveluri de tensiune. Următorul pas este de a face acest lucru fără fir.
Conexiuni de circuit:
Această schemă arată întreaga configurare a filtrului Low Pass și a modulului Bluetooth HC-05 conectat la Arduino Mega pentru radio FM controlat prin Bluetooth.
Program Arduino:
Programul pentru Arduino este dat în secțiunea Cod de mai jos. De asemenea, puteți testa gama de tensiune variabilă pentru dispozitivul dvs. electronic utilizând acest program aici.
Înainte de a începe să construim propria noastră aplicație Android pentru radio, este recomandabil să testați caracteristica fără fir cu ajutorul unei aplicații Terminal Bluetooth Monitor, așa cum se arată în Video de mai jos. Consultați acest articol pentru a configura aplicația Bluetooth Terminal pe Arduino. Odată ce suntem încrezători în funcționarea sa, putem trece la crearea propriei noastre aplicații Android.
Utilizarea procesării pentru a crea aplicația Android:
Este minunat să ne transformăm dispozitivul în fir, dar putem adăuga și o notă personală dispozitivului nostru, creând propria noastră aplicație Android. Putem controla dispozitivul la orele programate automate sau îl putem controla pe baza alarmelor de trezire. Puteți chiar să faceți ca radioul dvs. să redea canalul dvs. preferat când ajungeți acasă. Imaginația este limita ta aici. Dar, deocamdată, vom crea o interfață de utilizator simplă folosind procesarea, această aplicație va avea doar câteva butoane cu ajutorul cărora vă puteți controla radioul FM.
Procesarea este un software open source utilizat de artiști pentru proiectarea grafică. Acest software este utilizat pentru a dezvolta aplicații software și Android.
Codul de procesare pentru aplicația Android pentru a controla acest radio FM fără fir este dat aici:
- Cod de procesare a aplicațiilor Android pentru a controla radioul FM
Mai întâi am construit această aplicație pe PC în modul JAVA, pentru a o testa corect, iată Codul de procesare pentru același lucru. Faceți clic dreapta pe el și faceți clic pe „Salvați linkul ca..” pentru a descărca fișierul de cod. Apoi deschideți fișierul în software-ul „Procesare” și faceți clic pe butonul „Executare” pentru a verifica cum va arăta în telefon. Trebuie să instalați software-ul „Procesare” pentru a deschide fișiere *.pde.
Odată ce am testat aplicația în modul JAVA, o putem converti cu ușurință în modul Android, trecând la fila Android din colțul din dreapta sus al ferestrei de procesare. Pentru a face ca telefonul nostru Android să activeze Bluetooth-ul său și să se conecteze automat la modulul nostru HC-05, trebuie să adăugăm următoarele coduri la programul nostru Java existent pentru a-l face o aplicație Android. Am furnizat deja întregul cod Android în linkul de mai sus, astfel încât să îl puteți utiliza direct.
Mai jos sunt câteva fișiere antet pentru a activa funcțiile Bluetooth:
import android.content.Intent; import android.os.Bundle; import ketai.net.bluetooth. *; import ketai.ui. *; import ketai.net. *; import android.bluetooth.BluetoothAdapter; import android.view.KeyEvent;
Liniile de mai jos comunică cu telefoanele noastre Adaptorul Bluetooth folosind biblioteca Ketai și denumim adaptorul nostru ca bt .
BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter (); KetaiBluetooth bt;
Partea de mai jos a codului va declanșa o cerere către utilizator, cerându-i să activeze Bluetooth la pornirea aplicației.
// Pentru a porni BT la pornire ********* void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); bt = KetaiBluetooth nou (acesta); } void onActivityResult (int requestCode, int resultCode, Intent data) {bt.onActivityResult (requestCode, resultCode, data); } // **********
Aici instruim aplicația noastră Android cu dispozitivul Bluetooth cu care trebuie să ne conectăm. Linia bt.connectToDeviceByName (selecție); așteptați un nume de dispozitiv din funcția noastră de configurare. Deoarece dispozitivul nostru Bluetooth este denumit „HC-05”, linia de mai jos este adăugată în configurare. Acest nume va diferi în funcție de numele modulelor Bluetooth.
// Pentru a selecta dispozitivul Bluetooth ********** void onKetaiListSelection (KetaiList klist) {String selection = klist.getSelection (); bt.connectToDeviceByName (selecție); // aruncați lista deocamdată klist = nul; } // **********
bt.connectToDeviceByName ("HC-05");
Fie puteți face aceste modificări în Codul de procesare pentru PC (modul Java), fie puteți utiliza direct codul nostru de procesare Android prezentat în linkul de mai sus. Apoi conectați direct telefonul la laptop folosind cablul de date și activați depanarea USB pe telefon. Acum faceți clic pe butonul Redare de pe fereastra de procesare din PC, aplicația va fi instalată direct pe telefonul dvs. Android și va fi lansată automat. Este atât de ușor, așa că mergeți mai departe și încercați.
Imaginea de mai jos reprezintă interfața noastră de utilizare a aplicației Android, împreună cu fereastra de codare. Consultați videoclipul pentru a înțelege și a rula codul în telefonul Android, precum și pe computer.
Gata, am transformat vechiul nostru radio FM într-un gadget modern fără fir care poate fi controlat de aplicația noastră Android. Sper că acest lucru îi va ajuta pe oameni să se apuce de lucru, dar dacă aveți nevoie de îndrumări ca întotdeauna, puteți folosi secțiunea de comentarii și vom fi bucuroși să vă ajutăm.