- Nødvendige komponenter:
- Omvendt teknik:
- Arbejdsforklaring:
- Kredsløbstilslutninger:
- Arduino-program:
- Brug af behandling til at lave Android-app:
I dette projekt vil vi bruge en eksisterende FM-radio, der blev repareret for længe siden, til at konvertere den til en smart trådløs FM-radio styret ved hjælp af telefon ved hjælp af Arduino og Processing.
Vi kan konvertere ethvert manuelt betjent elektronisk udstyr til en smart enhed ved hjælp af samme procedure. Hver elektronisk enhed fungerer ved hjælp af signaler. Disse signaler kan være i form af spændinger eller strømme. Signalerne kan enten udløses manuelt ved hjælp af brugerinteraktion direkte eller ved hjælp af en trådløs enhed.
Ved afslutningen af dette projekt vil vi være i stand til at konvertere de fleste af vores almindelige elektroniske enheder, som en radio, der fungerer på knapper, til en smart trådløs gadget, som kan styres af en smartphone via Bluetooth. For at opnå dette bliver vi nødt til at gøre to hoved ting.
1. Forudsig hvordan signalerne genereres i det eksisterende mekaniske knappesystem.
2. Find ud af en måde at udløse det samme signal ved hjælp af et lille tilføjelseskredsløb.
Så lad os komme i gang…
Nødvendige komponenter:
Til dette projekt kan en gammel eller ubrugt elektronisk enhed som radio, tv, cd-afspiller eller hjemmebiograf vælges. De faktiske komponenter kan variere afhængigt af den enhed, du vælger. Men for at gøre det trådløst har vi brug for en mikrocontroller, der er en Arduino her, og et trådløst medium, der er et HC-05 Bluetooth-modul.
Omvendt teknik:
Okay, så nu har jeg valgt en gammel FM-radioafspiller, der stoppede med at arbejde for længe siden. Og da jeg åbnede den, fandt jeg ud af, at knapperne på den ikke længere fungerer. Dette vil være en perfekt enhed for os at arbejde, fordi vi ikke længere har brug for knapperne, da vi vil gøre det trådløst helt. Billedet nedenfor viser den radio, som jeg åbnede.
Dette var knappen opsætning af min radio (over billedet). Som du kan se, er der otte knapper, hvorfra radioen modtager input. Du kan også bemærke, at der er otte modstande på tavlen. Hvad kan du konkludere ud fra dette…? Ja, hver resister er forbundet til en switch. Lad os nu se på bagsiden af tavlen:
Du kan spore forbindelsen ved hjælp af PCB-sporene, men hvis du stadig er forvirret, kan du bruge din millimeter i forbindelse mere og finde ud af kredsløbet. Dette kort har tre terminaler (cirkuleret i rødt), der giver signaler til det primære FM-radiokort. Disse stifter blev markeret som S1, S2 og 1.7V. Dette betyder, at der sendes en konstant spænding på 1,7 volt fra hovedkortet til dette kort, og når brugeren trykker på en vilkårlig knap, vil der være et spændingsfald over den tilsvarende modstand, og gennem benene S1 og S2 sendes en variabel spænding tilbage. Sådan fungerer de fleste knapper i vores elektroniske enheder. Nu da vi har fundet ud af, hvordan det fungerede, lad os gøre det trådløst.
Arbejdsforklaring:
Så nu for at gøre det trådløst er vi bare nødt til at give en spænding mellem 0 - 1,7 V over S1 og jorde hovedkortet. Der er få måder, hvorpå du kan efterligne disse knapopsætninger ved hjælp af en mikrocontroller.
Vi kan bruge et digitalt potentiometer og få det til at give modstanden på tavlen som programmeret og når det er nødvendigt. Men dette vil gøre tingene komplicerede og dyre, da arbejde med Digipot kræver SPI, og Digipots er dyre.
Vi kan også bruge et transistormodstandsnetværk, hvor hver modstand med forskellige værdier aktiveres af en transistor, der igen styres af selve mikrokontrolleren. Men igen for at gøre dette for otte knapper bliver kredsløbet kompliceret.
Den enkle måde at gøre dette på er at generere den krævede variable spænding direkte fra mikrocontrolleren og føre den til signalstifterne. Desværre har Arduino kun ADC og har ikke en DAC. Men heldigvis har vi PWM i Arduino. Denne PWM kan fås til at fungere som en variabel spænding ved hjælp af et simpelt RC lavpasfilter.
Et lavpasfilter er vist ovenfor, nøglekomponenten her er kondensatoren, der vil jordge hele det pulserende signal, og en ren DC sendes som output. Så PWM-signalerne fra Arduino skal sendes gennem et lavpasfilter og derefter gives til FM-radioens signalkort.
Kredsløbet er let at bygge på et prikbræt som vist ovenfor. Her er den sorte ledning til jorden, og de blå og grønne ledninger til venstre sendes til vores FM-kort S1 (grøn) og S2 (blå), og ledningerne til højre modtager PWM-signaler fra Arduinos pin 9 & 10 (se billedet ovenfor) og sendes til FM-kortet via et lavpasfilter. Bluetooth-modulet bruger ben 11 og 12 som Rx og TX.
Nu kan vi generere PWM-signaler fra 0 volt til 1,7 volt og finde ud af, hvordan vores radio opfører sig for forskellige spændingsniveauer. Det næste trin er at gøre denne ting trådløs.
Kredsløbstilslutninger:
Dette skema viser hele opsætningen af lavpasfilter og HC-05 Bluetooth-modul tilsluttet Arduino Mega til Bluetooth-styret FM-radio.
Arduino-program:
Program til Arduino findes i afsnittet Kode nedenfor. Du kan også teste variabelt spændingsområde for din elektroniske enhed ved hjælp af dette program her.
Før vi starter med at opbygge vores egen Android-app til vores radio, tilrådes det at teste den trådløse funktion ved hjælp af en Terminal Bluetooth Monitor-app som vist i videoen nedenfor. Tjek denne artikel for at konfigurere Bluetooth Terminal App på Arduino. Når vi er sikre på, at det fungerer, kan vi hoppe i at lave vores egen Android-app.
Brug af behandling til at lave Android-app:
Det er sejt at gøre vores enhed trådløs, men vi kan også tilføje noget personligt præg til vores enhed ved at oprette vores egen Android-app. Vi kan styre enheden på automatiske planlagte tidspunkter eller kontrollere den baseret på dine vækkealarmer. Du kan endda få din radio til at afspille din yndlingskanal, når du kommer hjem. Fantasi er din grænse her. Men for nu opretter vi en simpel brugergrænseflade ved hjælp af behandling, denne app har kun få knapper, hvor du kan styre din FM-radio.
Processing er open source-software, der bruges af kunstnere til grafisk design. Denne software bruges til at udvikle software og Android-applikationer.
Behandlingskoden til Android-appen til styring af denne trådløse FM-radio er angivet her:
- Android App Processing Code til at styre FM-radioen
Først byggede vi denne app på pc i JAVA-tilstand, for at teste den korrekt, her er behandlingskoden for det samme. Højreklik på den og klik på 'Gem link som…' for at downloade kodefilen. Åbn derefter filen i 'Processing' software og klik på 'Run' knappen for at kontrollere, hvordan den ser ud i telefonen. Du skal installere 'Processing' -software for at åbne *.pde-filer.
Når vi først har testet appen i JAVA-tilstand, kan vi nemt konvertere den til Android-tilstand ved at skifte til Android-fanen øverst til højre i behandlingsvinduet. For at få vores Android-telefon til at tænde sin Bluetooth og oprette forbindelse til vores HC-05-modul automatisk, skal vi tilføje følgende koder til vores eksisterende Java-program for at gøre det til en Android-app. Vi har allerede leveret den fulde Android-kode i ovenstående link, så du kan bruge den direkte.
Nedenfor er nogle headerfiler for at aktivere Bluetooth-funktioner:
importere android.content.Intent; importere android.os.Bundle; import ketai.net.bluetooth. *; import ketai.ui. *; import ketai.net. *; importere android.bluetooth.BluetoothAdapter; importere android.view.KeyEvent;
Nedenstående linjer kommunikerer med vores telefoner Bluetooth-adapter ved hjælp af Ketai- biblioteket, og vi navngiver vores adapter som bt .
BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter (); KetaiBluetooth bt;
Nedenfor vil en del af koden udløse en anmodning til brugeren, der beder dem om at slå Bluetooth til, når appen starter.
// For at starte BT ved start ********* ugyldigt onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); bt = ny KetaiBluetooth (dette); } ugyldigt onActivityResult (int requestCode, int resultCode, Intent data) {bt.onActivityResult (requestCode, resultCode, data); } // **********
Her instruerer vi vores Android-app til hvilken Bluetooth-enhed, vi skal oprette forbindelse til. Linjen bt.connectToDeviceByName (valg); forvent et enhedsnavn fra vores installationsfunktion. Da vores Bluetooth-enhed er navngivet som 'HC-05', tilføjes nedenstående linje i opsætningen. Dette navn vil variere afhængigt af dit Bluetooth-modulnavne.
// For at vælge Bluetooth-enhed ********** ugyldigt påKetaiListSelection (KetaiList klist) {Strengvalg = klist.getSelection (); bt.connectToDeviceByName (valg); // bortskaf listen for nu klist = null; } // **********
bt.connectToDeviceByName ("HC-05");
Enten kan du foretage disse ændringer i Processing Code for PC (Java-tilstand) eller direkte bruge vores Android Processing-kode angivet i ovenstående link. Tilslut derefter din telefon direkte til din bærbare computer ved hjælp af datakablet, og aktiver USB-fejlretning på din telefon. Klik nu på knappen Afspil i behandlingsvinduet på pc'en, applikationen installeres direkte på din Android-telefon og startes automatisk. Det er så let, så fortsæt og prøv det.
Nedenstående billede repræsenterer vores Android Application UI sammen med dets kodningsvindue. Tjek videoen for at forstå og køre koden i Android-telefon såvel som på computeren.
Det er det, vi har forvandlet vores gamle FM-radio til en trådløs moderne gadget, der kan styres af vores Android-applikation. Jeg håber, dette vil hjælpe folk med at komme på arbejde, men hvis du har brug for vejledning som altid, kan du bruge kommentarsektionen, og vi hjælper dig gerne.