- Nødvendige komponenter:
- Omvendt engineering:
- Arbeidsforklaring:
- Kretsforbindelser:
- Arduino-program:
- Bruke behandling for å lage Android-app:
I dette prosjektet vil vi bruke en eksisterende FM-radio som ble reparert for lenge siden, for å konvertere den til en smart trådløs FM-radio styrt ved hjelp av telefon, ved hjelp av Arduino og Processing.
Vi kan konvertere alle manuelt betjente elektroniske enheter til en smart enhet ved hjelp av samme prosedyre. Hver elektronisk enhet fungerer ved hjelp av signaler. Disse signalene kan være i form av spenninger eller strømmer. Signalene kan enten utløses manuelt ved hjelp av brukerinteraksjon direkte eller ved hjelp av en trådløs enhet.
Ved slutten av dette prosjektet vil vi kunne konvertere de fleste av våre vanlige elektroniske enheter, som en radio som fungerer på knapper, til en smart trådløs gadget som kan styres av smarttelefon via Bluetooth. For å oppnå dette må vi gjøre to hovedting.
1. Forutsi hvordan signalene genereres i det eksisterende mekaniske knappesystemet.
2. Finn ut en måte å utløse det samme signalet ved hjelp av en liten tilleggskrets.
Så, la oss komme i gang…
Nødvendige komponenter:
For dette prosjektet kan en gammel eller ubrukt elektronisk enhet som radio, TV, CD-spiller eller hjemmekino velges. De faktiske komponentene kan variere avhengig av enheten du velger. Men for å gjøre det trådløst trenger vi en mikrokontroller som er en Arduino her og et trådløst medium som er en HC-05 Bluetooth-modul.
Omvendt engineering:
Ok, så nå har jeg valgt en gammel FM-radiospiller som sluttet å fungere for lenge siden. Og da jeg åpnet den, fant jeg ut at knappene på den sluttet å fungere. Dette vil være et perfekt apparat for oss å jobbe fordi vi ikke trenger knappene lenger, siden vi skal gjøre det trådløst helt. Bildet nedenfor viser radioen som jeg åpnet.
Dette var knappoppsettet til radioen min (over bildet). Som du ser er det åtte knapper som radioen tar inn input fra. Du kan også merke at det er åtte motstander på brettet. Hva kan du konkludere med dette…? Ja, hver motstand er koblet til en bryter. La oss ta en titt på baksiden av brettet:
Du kan spore opp forbindelsen ved hjelp av PCB-sporene, men hvis du fremdeles er forvirret, kan du bruke millimeteren din i tilkobling mer og finne ut kretsen. Dette kortet har tre terminaler (sirklet i rødt) som gir signaler til FM-hovedkortet. Disse pinnene ble merket som S1, S2 og 1.7V. Dette betyr at konstant spenning på 1,7 volt sendes fra hovedkortet til dette kortet, og når brukeren trykker på en hvilken som helst knapp, vil det være et spenningsfall over den tilsvarende motstanden, og gjennom pinnene S1 og S2 vil en variabel spenning bli sendt tilbake. Slik fungerer de fleste knappene i våre elektroniske enheter. Nå siden vi har funnet ut hvordan det fungerte, la oss gjøre det trådløst.
Arbeidsforklaring:
Så nå for å gjøre det trådløst må vi bare gi en spenning mellom 0 - 1,7 V over S1 og jorde hovedkortet. Det er få måter du kan etterligne disse knappoppsettene med en mikrokontroller.
Vi kan bruke et digitalt potensiometer og få det til å gi motstanden på kortet som programmert og når det er nødvendig. Men dette vil gjøre ting kompliserte og kostbare, ettersom å jobbe med Digipot krever SPI og Digipots er kostbare.
Vi kan også bruke et transistormotstandsnettverk der hver motstand med forskjellige verdier aktiveres av en transistor som igjen styres av selve mikrokontrolleren. Men igjen for å gjøre dette for åtte knapper, vil kretsen bli komplisert.
Den enkle måten å gjøre dette på er å generere den nødvendige variable spenningen direkte fra mikrokontrolleren og mate den til signalpinnene. Dessverre har Arduino bare ADC og har ikke DAC. Men heldigvis har vi PWM i Arduino. Denne PWM kan fås til å fungere som en variabel spenning ved hjelp av et enkelt RC lavpassfilter.
Et lavpasfilter er vist ovenfor, nøkkelkomponenten her er kondensatoren som vil jorde hele det pulserende signalet og en ren DC sendes som utgang. Så PWM-signalene fra Arduino må sendes gjennom et lavpasfilter og deretter gis til signalkortet til FM-radioen.
Kretsen er enkel å bygge på et prikkbrett som vist ovenfor. Her er den svarte ledningen for bakken, og de blå og grønne ledningene til venstre vil bli sendt til FM-kortene S1 (grønn) og S2 (blå), og ledningene til høyre vil motta PWM-signaler fra Arduinos Pin 9 & 10 (se bildet over) og send til FM-kortet via et lavpassfilter. Bluetooth-modulen bruker pinn 11 og 12 som Rx og TX.
Nå kan vi generere PWM-signaler fra 0 volt til 1,7 volt og finne ut hvordan radioen vår oppfører seg for forskjellige spenningsnivåer. Det neste trinnet er å gjøre denne tingen trådløs.
Kretsforbindelser:
Dette skjemaet viser hele oppsettet av lavpassfilter og HC-05 Bluetooth-modul koblet til Arduino Mega for Bluetooth-kontrollert FM-radio.
Arduino-program:
Programmet for Arduino er gitt i kodeseksjonen nedenfor. Du kan også teste variabelt spenningsområde for din elektroniske enhet ved å bruke dette programmet her.
Før vi begynner å bygge vår egen Android-app for radioen vår, er det tilrådelig å teste den trådløse funksjonen ved hjelp av en terminal Bluetooth Monitor-app som vist i videoen nedenfor. Sjekk denne artikkelen for å konfigurere Bluetooth Terminal App på Arduino. Når vi er sikre på at det fungerer, kan vi hoppe til å lage vår egen Android-app.
Bruke behandling for å lage Android-app:
Det er kult å gjøre enheten vår trådløs, men vi kan også legge til noe personlig preg på enheten vår ved å lage vår egen Android-app. Vi kan kontrollere enheten på automatiske planlagte tider eller kontrollere den basert på våkealarmer. Du kan til og med få radioen til å spille din favorittkanal når du kommer hjem. Fantasi er grensen din her. Men foreløpig vil vi lage et enkelt brukergrensesnitt ved bruk av behandling, denne appen vil bare ha få knapper som du kan kontrollere FM-radioen din.
Processing er programvare med åpen kildekode som brukes av kunstnere til grafikkdesign. Denne programvaren brukes til å utvikle programvare og Android-applikasjoner.
Behandlingskoden for Android-appen for å kontrollere denne trådløse FM-radioen er gitt her:
- Android App Processing Code for å kontrollere FM-radioen
Først bygde vi denne appen på PC i JAVA-modus, for å teste den riktig, her er behandlingskoden for det samme. Høyreklikk på den og klikk på 'Lagre lenke som..' for å laste ned kodefilen. Åpne deretter filen i prosesseringsprogramvaren og klikk på "Kjør" -knappen for å sjekke hvordan den vil se ut i telefonen. Du må installere behandlingsprogramvare for å åpne *.pde-filer.
Når vi har testet appen i JAVA-modus, kan vi enkelt konvertere den til Android-modus ved å endre til Android-fanen øverst til høyre i behandlingsvinduet. For å få Android-telefonen til å slå på Bluetooth og koble seg til HC-05-modulen vår automatisk, må vi legge til følgende koder i vårt eksisterende Java-program for å gjøre det til en Android-app. Vi har allerede gitt hele Android-koden i lenken ovenfor, slik at du kan bruke den direkte.
Nedenfor er noen overskriftsfiler for å aktivere Bluetooth-funksjoner:
importere android.content.Intent; importere android.os.Bundle; importer ketai.net.bluetooth. *; import ketai.ui. *; import ketai.net. *; importere android.bluetooth.BluetoothAdapter; importere android.view.KeyEvent;
Nedenfor linjene kommuniserer med telefonens Bluetooth-adapter ved hjelp av Ketai- biblioteket, og vi kaller adapteren vår som bt .
BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter (); KetaiBluetooth bt;
Nedenfor vil en del av koden utløse en forespørsel til brukeren som ber dem om å slå på Bluetooth-oppstart av appen.
// For å starte BT ved start ********* ugyldig onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); bt = nye KetaiBluetooth (dette); } ugyldig onActivityResult (int requestCode, int resultCode, Intent data) {bt.onActivityResult (requestCode, resultCode, data); } // **********
Her instruerer vi Android-appen vår til hvilken Bluetooth-enhet vi må koble oss til. Linjen bt.connectToDeviceByName (utvalg); forvent et enhetsnavn fra vår oppsettfunksjon. Siden Bluetooth-enheten vår heter 'HC-05', legges under linjen til i oppsettet. Dette navnet vil variere basert på navnet på Bluetooth-modulene.
// For å velge Bluetooth-enhet ********** ugyldig påKetaiListSelection (KetaiList klist) {Strengvalg = klist.getSelection (); bt.connectToDeviceByName (utvalg); // kast listen for nå klist = null; } // **********
bt.connectToDeviceByName ("HC-05");
Enten kan du gjøre disse endringene i prosesseringskode for PC (Java-modus), eller du kan direkte bruke vår Android-behandlingskode gitt i lenken ovenfor. Koble deretter telefonen direkte til den bærbare datamaskinen ved hjelp av datakabelen, og aktiver USB-feilsøking på telefonen. Klikk nå på Play-knappen i behandlingsvinduet på PC, applikasjonen blir installert direkte på din Android-telefon og vil bli startet automatisk. Det er så enkelt, så prøv det.
Bildet nedenfor representerer brukergrensesnittet for Android-applikasjonen sammen med kodingsvinduet. Sjekk ut videoen for å forstå og kjøre koden i både Android-telefon og datamaskin.
Det er det vi har gjort vår gamle FM-radio til en trådløs moderne gadget som kan styres av Android-applikasjonen vår. Jeg håper dette vil hjelpe folk å komme seg på jobb, men hvis du trenger veiledning som alltid, kan du bruke kommentarseksjonen, så hjelper vi deg gjerne.