- Material som krävs:
- Arbetsmetodik:
- Förutsättningar:
- Arbeta med en AC-fjärrkontroll:
- Kretsschema och förklaring:
- Avkodning av dina fjärrkontrollsignaler:
- Huvud Arduino-program:
- Installerar Android-applikation:
- Arbeta med mobiltelefonstyrd växelström:
I dagens moderna värld, vart vi än går, har vi massor av elektroniska enheter runt oss. Men av allt finns det bara en enhet som vi personligen har i fickorna hela tiden. Ja, det är våra mobiltelefoner. Nu har mobiltelefoner blivit mer än en enhet som används för kommunikation, de är våra kameror, de är våra kartor, de är våra kundvagnar och vad inte?
Med denna funktion i våra händer är det verkligen en tråkig idé att använda fjärrkontroller för att styra alla elektroniska applikationer i vårt hem som TV, AC, hemmabio etc. Det är alltid frustrerande att nå AC-fjärrkontrollen från den bekväma komforten i vår säng eller soffa. Därför kommer vi i det här projektet att bygga en liten inställning med vilken du kan styra luftkonditioneringen via din smartphone med Bluetooth och Arduino. Låter intressant rätt! Låt oss bygga en
Material som krävs:
- Arduino Mega 2560
- TSOP (HS0038)
- IR-ledning
- Valfri färg-LED och 1K-motstånd (tillval)
- HC-06
- Bakbord
- Anslutande ledningar
Arbetsmetodik:
Alla fjärrkontroller i vårt hem som vi använder för att styra TV, hemmabio, AC etc fungerar med hjälp av IR Blasters. En IR-sprängare är inget annat än en IR-lysdiod som kan spränga en signal genom upprepad pulsering. denna signal kommer att läsas av mottagaren i elektronikenheten. För varje annan knapp på fjärrkontrollen sprängs en unik signal som efter läsning av mottagaren används för att utföra en viss fördefinierad uppgift. Om vi kan läsa den här signalen som kommer ut från fjärrkontrollen kan vi sedan efterlikna samma signal med en IR-lysdiod när det behövs för att utföra just den uppgiften. Vi har tidigare skapat en IR Blaster-krets för Universal IR Remote och för automatisk AC-temperaturkontroll.
En TSOP är en IR-mottagare som kan användas för att avkoda signalen som kommer från fjärrkontrollerna. Vi kommer att använda denna TSOP för att avkoda all information från vår fjärrkontroll och lagra den på Arduino. Genom att använda den informationen och en IR-ledning kan vi återskapa IR-signalerna från vår Arduino när det behövs.
Förutsättningar:
För detta Arduino Bluetooth-kontrollerade AC-projekt, se till att du har en Arduino Mega och inte någon annan version av Arduino, eftersom kodstorleken är tung. Installera IR Remote Library med den här länken för att arbeta med TSOP och IR Blaster.
Arbeta med en AC-fjärrkontroll:
Innan vi går in i projektet tar du lite tid och märker hur din AC-fjärrkontroll fungerar. AC-fjärrkontroller fungerar på ett lite annorlunda sätt jämfört med TV, DVD IR-fjärrkontroller. Det kan bara finnas 10-12 knappar på din fjärrkontroll, men de kommer att kunna skicka många olika typer av signaler. Det betyder att fjärrkontrollen inte skickar samma kod varje gång för samma knapp. När du till exempel sänker temperaturen med nedåtknappen för att göra den 24 ° C (grad Celsius) får du en signal med en uppsättning data, men när du trycker på den igen för att ställa in 25 ° C får du inte samma data eftersom temperaturen nu är 25 och inte 24. På samma sätt kommer koden för 25 också att variera för olika fläkthastighet, sömninställningar etc. Så låt oss inte lura med alla alternativ och bara koncentrera bara temperaturvärdena med ett konstant värde för andra inställningar.
Ett annat problem är mängden data som skickas för varje knapptryckning, normala fjärrkontroller med skicka antingen 24 bitar eller 48 bitar men en AC-fjärrkontroll kan skicka upp till 228 bitar eftersom varje signal innehåller mycket information som Temp, Fan Speed, Vilotid, svängstil etc. Detta är anledningen till att vi behöver en Arduino Mega för bättre lagringsalternativ.
Kretsschema och förklaring:
Lyckligtvis är hårdvaruinstallationen för denna mobiltelefonstyrda luftkonditionering väldigt enkel. Du kan helt enkelt använda ett brödbräda och göra anslutningarna enligt nedan.
Följande tabell kan också användas för att verifiera dina anslutningar.
S. nej: |
Komponentstift |
Arduino Pin |
1 |
TSOP - Vcc |
5V |
2 |
TSOP - Gnd |
Gnd |
3 |
TSOP - Signal |
8 |
4 |
IR Led - Katod |
Gnd |
5 |
IR Led - Anod |
9 |
6 |
HC-05 - Vcc |
5V |
7 |
HC05 - Gnd |
Jord |
8 |
HC05 - Tx |
10 |
9 |
HC05 - Rx |
11 |
När du är ansluten ska det se ut så här som visas nedan. Jag har använt en brödbräda för att städa saker, men du kan också du manliga till kvinnliga ledningar direkt för att ansluta alla komponenter
Avkodning av dina fjärrkontrollsignaler:
Det första steget för att styra din AC är att använda TSOP1738 för att avkoda IR-fjärrkontrollens IR-koder. Gör alla anslutningar som visas i kretsschemat och se till att du har installerat alla nämnda bibliotek. Öppna nu exempelprogrammet “ IRrecvDumpV2 ” som finns på File -> Exempel -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv irrecv (recvPin);
Eftersom vår TSOP är ansluten till stift 8, ändrar du radnummer 9 till int recPin = 8 som visas ovan. Ladda sedan upp programmet till din Arduino Mega och öppna Serial Monitor.
Rikta fjärrkontrollen mot TSOP och tryck på valfri knapp för varje knapp du trycker på dess respektive signal kommer att läsas av TSOP1738, avkodas av Arduino och visas i Serial Monitor. För varje temperaturförändring på din fjärrkontroll får du olika data. Spara dessa data för att vi kommer att använda den i vårt huvudprogram. Din seriella bildskärm kommer att se ut ungefär så här, jag har också visat Word-filen där jag har sparat de kopierade uppgifterna.
Skärmdumpen visar koden för att ställa in temperaturen till 26 ° C för min AC-fjärrkontroll. Baserat på din fjärrkontroll får du en annan uppsättning koder. Kopiera på samma sätt koder för alla olika temperaturnivåer. Du kan kontrollera alla IR-koder för fjärrkontroll för luftkonditionering i Arduino-koden som ges i slutet av denna handledning.
Huvud Arduino-program:
Den kompletta huvud Arduino program kan vara längst ner på denna sida, men du kan inte använda samma program. Du måste ändra signalkodvärdena som vi just erhållit från exempelskissen. Öppna huvudprogrammet på din Arduino IDE och bläddra ner till det område som visas nedan där du måste ersätta matrisvärdena med de värden som du fick för din fjärrkontroll.
Observera att jag har använt 10 matriser varav två vi brukade sätta på och stänga av växelströmmen medan resten 8 används för att ställa in olika temperaturer. Temp23 används till exempel för att ställa in 23 * C på din AC, så använd respektive kod i den matrisen. När det är klart måste du bara ladda upp koden till din Arduino.
Vi måste importera två bibliotek för detta projekt. Det ena är IRremote- biblioteket som vi just har lagt till i Arduino och det andra är det inbyggda mjukvaruseriebiblioteket som hjälper oss att använda Bluetooth-modulen.
#omfatta
Därefter initialiserar vi Bluetooth-modulen på stift 10 och 11 och använder sedan ett objekt som heter irsend för att komma åt alla IR-funktioner i biblioteket.
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
Därefter kommer de mycket viktiga kodraderna. Det är här informationen för att kontrollera din AC finns. Den som visas nedan är för min AC-fjärrkontroll, du borde ha fått din i föregående steg.
Nästa inuti tomrumsinställningsfunktionen initialiserar vi två seriella kommunikationer. Den ena är Bluetooth vid 9600 baudhastighet och den andra är seriell bildskärm med 57600 baudhastighet.
ogiltig installation () {BT_module.begin (9600); // BT fungerar på 9600 Serial.begin (57600); // Serial Monitor arbetar son 57600}
Inuti vår tomrumsslinga (oändlig slinga) kontrollerar vi om det finns något som tas emot av Bluetooth-modulen. Om något tas emot lagrar vi den informationen i variabeln BluetoothData .
medan (BT_module.available ()) // Om data kommer {BluetoothData = BT_module.read (); // läs den och spara den Serial.println (BluetoothData); // skriv ut det på serie för teständamål}
Informationen som tas emot av Bluetooth baseras på knappen som trycks ned på vår Android-app som vi kommer att installera i vårt nästa steg. När informationen är mottagen måste vi bara utlösa respektive IR-kod som nedan
om (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); fördröjning (2000); // Skicka signal för att ställa in Temperatur 23C}
Här om koden '2' tas emot måste vi ställa in temperaturen på AC till 23 ° C. På samma sätt har vi kod från 0 till 9 för att utföra alla grundläggande kontrollfunktioner för AC. Du kan hänvisa till hela arduino-koden i slutet av denna sida.
Installerar Android-applikation:
Det sista steget i den smarttelefonstyrda luftkonditioneringen är att installera Android-applikationen. Android-applikationen för detta projekt skapades med Processing Android Mode. Bearbetning är ett utmärkt verktyg för att skapa.EXE-filer eller APK-filer för dina inbäddade projekt. Det är en öppen källkodsplattform precis som Arduino och därmed helt gratis att ladda ner för att använda.
Om du inte vill gå för mycket djupt in i det kan du helt enkelt ladda ner APK-filen härifrån inuti zip-filen och installera den direkt på din mobiltelefon. Öppna applikationen så får du en skärm som visas nedan, varefter du kan gå vidare till nästa steg och njuta av att arbeta med projektet. Men om du vill justera programmet för programmet så att det passar ditt behov kan du läsa vidare.
Den fullständiga programfilen för bearbetningskod kan laddas ner härifrån. Detta zip kommer att ha den kod och bildkälla som applikationen fungerar med. Efter att ha öppnat koden kan du justera följande rader för att anpassa den efter dina behov.
Som sagt tidigare liknar Bearbetning Arduino. Så det har också en tomrumsinställning och ogiltig loop (här rita) funktioner. Inne i tomrummet inställningsfunktion kommer vi att instruera Bluetooth av telefonen för att ansluta till Bluetooth i Arduino. Mitt enhetsnamn här är “HC-05” så min kod kommer att vara
bt.start (); // börja lyssna på BT-anslutningar bt.getPairedDeviceNames (); bt.connectToDeviceByName ("HC-05"); // Anslut till vår HC-06 Bluetooth-modul
Nästa inuti load_buttons () -funktionerna kan du rita så många knappar som du vill. Jag har ritat tio knappar enligt applikationen. Följt av det har vi funktionen read_buttons () som används för att upptäcka vilken knapp du trycker på. Varje knapp har en specifik färg, så när en användare rör vid skärmen kontrollerar vi vilken färg han har vidrört och bestämmer vilken knapp han har vidrört. En exempelkod för att skapa en knapp och välja den baserat på färg visas nedan
fyll (255,145,3); rekt (bredd / 2-bredd / 4, höjd / 2, bredd / 4, höjd / 12); fyll (255); text ("25C", bredd / 2-bredd / 4, höjd / 2); // knapp 5 om (color_val == - 13589993) {byte data = {'0'}; bt. Broadcast (data);}
Raden “byte data = {'0'};” är en mycket viktig linje. Det är här vi bestämmer vilken kod som ska skickas till Arduino via Bluetooth. Om denna knapp trycks in skickas char "0" från Bluetooth till Arduino. På samma sätt kan vi skicka en annan karaktär för olika knappar. Dessa karaktärer kan sedan jämföras på Arduino-sidan och respektive åtgärder kan vidtas.
Fortsätt och lura runt koden, om du är osäker når du mig genom kommentarsektionen och kommer att göra mitt bästa för att hjälpa dig.
Arbeta med mobiltelefonstyrd växelström:
När du är redo med din hårdvara, Arduino-kod och Android-applikationer är det dags att njuta av utdata. Ladda upp Arduino-koden till din hårdvara och placera den mot din AC. Öppna nu Android-applikationen på din mobiltelefon, om allt fungerar som förväntat ska du se " Ansluten till: enhetsnamn (lite kod) " som visas nedan
Nu är det bara att trycka på valfri knapp i din Android-applikation och den ska utlösa en respektive åtgärd på nätet som om du använder en fjärrkontroll. Du kan lägga till så många knappar du vill genom att ändra koden och även automatisera din AC baserat på din rumstemperatur eller närvaro. Kolla hela Arduino-koden och videon nedan.
Hoppas att du gillade projektet och förstod konceptet bakom det. Som alltid om du har några problem med att få detta att fungera kan du använda forumen för att ställa frågor till dig och få dem lösta.
APK-fil för att installera Android-applikationen kan laddas ner härifrån.