- Komponenter som krävs:
- Omvänd teknik:
- Arbetsförklaring:
- Kretsanslutningar:
- Arduino-program:
- Använda bearbetning för att skapa en Android-app:
I detta projekt kommer vi att använda en befintlig FM-radio som reparerades för länge sedan, för att konvertera den till en Smart Wireless FM-radio som styrs med telefon, med hjälp av Arduino och Processing.
Vi kan konvertera alla manuellt manövrerade elektroniska enheter till en smart enhet med samma procedur. Varje elektronisk enhet fungerar med hjälp av signaler. Dessa signaler kan vara i termer av spänningar eller strömmar. Signalerna kan antingen utlösas manuellt med hjälp av användarinteraktion direkt eller med hjälp av en trådlös enhet.
I slutet av detta projekt kommer vi att kunna konvertera de flesta av våra vanliga elektroniska enheter, som en radio som fungerar på knappar, till en smart trådlös gadget som kan styras av en smarttelefon via Bluetooth. För att uppnå detta måste vi göra två huvudsakliga saker.
1. Förutse hur signalerna genereras i det befintliga mekaniska knappsystemet.
2. Ta reda på ett sätt att utlösa samma signal med hjälp av en liten tilläggskrets.
Så, låt oss komma igång…
Komponenter som krävs:
För detta projekt kan en gammal eller oanvänd elektronisk enhet som radio, TV, CD-spelare eller hemmabio väljas. De faktiska komponenterna kan variera beroende på vilken enhet du väljer. Men för att göra det trådlöst skulle vi behöva en mikrokontroller som är en Arduino här och ett trådlöst medium som är en HC-05 Bluetooth-modul.
Omvänd teknik:
Okej, så nu har jag valt en gammal FM-radiospelare som slutade fungera för länge sedan. Och när jag öppnade den fann jag att knapparna på den slutade fungera. Detta kommer att vara en perfekt enhet för oss att arbeta eftersom vi inte behöver knapparna längre eftersom vi ska göra det helt trådlöst. Bilden nedan visar radion som jag öppnade.
Det här var knappkonfigurationen för min radio (ovan bilden). Som du kan se finns det åtta knappar som radion tar in från. Du kan också märka att det finns åtta motstånd på kortet. Vad kan du dra slutsatsen från detta…? Ja, varje motståndare är ansluten till en omkopplare. Låt oss nu titta på baksidan av brädet:
Du kan spåra anslutningen med hjälp av PCB-spåren, men om du fortfarande är förvirrad kan du använda din millimeter för att ansluta mer och räkna ut kretsen. Detta kort har tre terminaler (inringade i rött) som ger signaler till FM-radiokortet. Dessa stift märktes som S1, S2 och 1.7V. Detta innebär att konstant spänning på 1,7 volt skickas från huvudkortet till detta kort och när användaren trycker på valfri knapp kommer ett spänningsfall att falla över motsvarande motstånd och genom stiften S1 och S2 kommer en variabel spänning att skickas tillbaka. Så här fungerar de flesta knapparna i våra elektroniska enheter. Nu eftersom vi har räknat ut hur det fungerade, låt oss göra det trådlöst.
Arbetsförklaring:
Så nu för att göra det trådlöst måste vi bara ge en spänning mellan 0 - 1,7 V över S1 och jorda ut huvudkortet. Det finns få sätt att använda som du kan efterlikna dessa knappinställningar med en mikrokontroller.
Vi kan använda en digital potentiometer och få den att ge motståndet på kortet som programmerat och vid behov. Men detta kommer att göra saker komplicerade och kostsamma eftersom arbete med Digipot kräver SPI och Digipots är kostsamma.
Vi kan också använda ett transistormotståndsnätverk där varje motstånd med olika värden aktiveras av en transistor som i sin tur styrs av mikrokontrollern själv. Men igen för att göra detta för åtta knappar blir kretsen komplicerad.
Det enkla sättet att göra detta är att direkt generera erforderlig variabel spänning från mikrokontrollern och mata den till signalstiftet. Tyvärr har Arduino bara ADC och har ingen DAC. Men lyckligtvis har vi PWM i Arduino. Denna PWM kan fås att fungera som en variabel spänning med hjälp av ett enkelt RC lågpassfilter.
Ett lågpassfilter visas ovan, nyckelkomponenten här är kondensatorn som kommer att jorda hela den pulserande signalen och en ren DC skickas som utgång. Så PWM-signalerna från Arduino måste skickas genom ett lågpassfilter och sedan ges till FM-radioens signalkort.
Kretsen är lätt att bygga på ett prickkort som visas ovan. Här är den svarta ledningen för mark och de blå och gröna ledningarna till vänster kommer att skickas till våra FM-kort S1 (grön) och S2 (blå), och ledningarna till höger kommer att ta emot PWM-signaler från Arduinos stift 9 & 10 (se bilden ovan) och passera till FM-kortet via ett lågpassfilter. Bluetooth-modulen använder stift 11 och 12 som Rx och TX.
Nu kan vi generera PWM-signaler från 0 volt till 1,7 volt och ta reda på hur vår radio beter sig för olika spänningsnivåer. Nästa steg är att göra denna sak trådlös.
Kretsanslutningar:
Detta schema visar hela installationen av lågpassfilter och HC-05 Bluetooth-modul ansluten till Arduino Mega för Bluetooth-kontrollerad FM-radio.
Arduino-program:
Program för Arduino ges i avsnittet Kod nedan. Du kan också testa variabelt spänningsområde för din elektroniska enhet genom att använda detta program här.
Innan vi börjar bygga vår egen Android-app för vår radio är det lämpligt att testa den trådlösa funktionen med hjälp av en terminal Bluetooth Monitor-app som visas i video nedan. Kontrollera den här artikeln för att konfigurera Bluetooth Terminal App på Arduino. När vi är säkra på hur det fungerar kan vi hoppa in i att skapa vår egen Android-app.
Använda bearbetning för att skapa en Android-app:
Det är häftigt att göra vår enhet trådlös, men vi kan också lägga till lite personlig touch på vår enhet genom att skapa vår egen Android-app. Vi kan styra enheten på automatiska schemalagda tider eller styra den baserat på dina väckarlarm. Du kan till och med göra din radio att spela din favoritkanal när du kommer hem. Fantasi är din gräns här. Men för tillfället kommer vi att skapa ett enkelt användargränssnitt med bearbetning, den här appen har bara några knappar som du kan styra din FM-radio med.
Bearbetning är programvara med öppen källkod som används av artister för grafikdesign. Denna programvara används för att utveckla programvara och Android-applikationer.
Bearbetningskoden för Android-appen för att styra denna trådlösa FM-radio ges här:
- Android App Processing Code för att styra FM-radio
Först byggde vi den här appen på PC i JAVA-läge, för att testa den ordentligt, här är behandlingskoden för samma. Högerklicka på den och klicka på 'Spara länk som…' för att ladda ner kodfilen. Öppna sedan filen i 'Processing' -programvaran och klicka på 'Run' -knappen för att kontrollera hur den kommer att se ut i telefonen. Du måste installera 'Processing' programvara för att öppna *.pde-filer.
När vi väl har testat appen i JAVA-läge kan vi enkelt konvertera den till Android-läge genom att ändra till Android-fliken längst upp till höger i bearbetningsfönstret. För att få vår Android-telefon att slå på sin Bluetooth och ansluta till vår HC-05-modul automatiskt måste vi lägga till följande koder i vårt befintliga Java-program för att göra det till en Android-app. Vi har redan tillhandahållit hela Android-koden i länken ovan, så du kan använda den direkt.
Nedan följer några rubrikfiler för att aktivera Bluetooth-funktioner:
importera android.content.Intent; importera android.os.Bundle; importera ketai.net.bluetooth. *; importera ketai.ui. *; importera ketai.net. *; importera android.bluetooth.BluetoothAdapter; importera android.view.KeyEvent;
Nedanstående linjer kommunicerar med våra telefoner Bluetooth-adapter med Ketai- biblioteket och vi heter vår adapter som bt .
BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter (); KetaiBluetooth bt;
Nedan kommer en del av koden att utlösa en begäran till användaren som ber dem att starta Bluetooth på appen.
// Att starta BT vid start ********* ogiltigt onCreate (Bundle sparadInstansStat) {super.onCreate (sparadInstansStat); bt = ny KetaiBluetooth (detta); } ogiltigt onActivityResult (int requestCode, int resultCode, Intent data) {bt.onActivityResult (requestCode, resultCode, data); } // **********
Här instruerar vi vår Android-app till vilken Bluetooth-enhet vi måste ansluta till. Linjen bt.connectToDeviceByName (val); förvänta dig ett enhetsnamn från vår installationsfunktion. Eftersom vår Bluetooth-enhet heter 'HC-05' läggs under raden till i installationen. Det här namnet kommer att skilja sig beroende på ditt Bluetooth-modulers namn.
// Att välja Bluetooth-enhet ********** ogiltig påKetaiListSelection (KetaiList klist) {Strängval = klist.getSelection (); bt.connectToDeviceByName (urval); // kassera listan för nu klist = null; } // **********
bt.connectToDeviceByName ("HC-05");
Antingen kan du göra dessa ändringar i Processing Code for PC (Java-läge) eller så kan du direkt använda vår Android Processing-kod i länken ovan. Anslut sedan din telefon direkt till din bärbara dator med hjälp av datakabeln och aktivera USB-felsökning på din telefon. Klicka nu på uppspelningsknappen i bearbetningsfönstret på datorn, applikationen installeras direkt på din Android-telefon och startas automatiskt. Det är så enkelt, så fortsätt och prova det.
Bilden nedan representerar vårt Android-användargränssnitt tillsammans med dess kodningsfönster. Kolla in videon för att förstå och köra koden i både Android-telefon och dator.
Det är det vi har gjort vår gamla FM-radio till en trådlös modern gadget som kan styras av vår Android-applikation. Jag hoppas att detta kommer att hjälpa människor att komma till jobbet men om du behöver någon vägledning som alltid kan du använda kommentarsektionen så hjälper vi dig gärna.