- Nødvendige materialer:
- Arbejdsmetode:
- Forudsætninger:
- Arbejde med en AC-fjernbetjening:
- Kredsløbsdiagram og forklaring:
- Afkodning af dine AC-fjernsignaler:
- Hoved Arduino-program:
- Installation af Android-applikation:
- Arbejde med mobiltelefonstyret vekselstrøm:
I nutidens moderne verden har vi masser af elektroniske enheder omkring os, uanset hvor vi kommer hen. Men ud af alt er der kun en enhed, som vi personligt har i lommerne hele tiden. Ja, det er vores mobiltelefoner. Nu er mobiltelefoner blevet mere end en enhed, der bruges til kommunikation, de er vores kameraer, de er vores kort, de er vores indkøbskurv og hvad ikke?
Med denne mulighed i vores hænder er det virkelig en kedelig idé at bruge fjernbetjeninger til at styre alle elektroniske applikationer i vores hjem som tv, vekselstrøm, hjemmebiograf osv. Det er altid frustrerende at nå til vekselstrømsfjernbetjeningen fra den behagelige komfort i vores seng eller sofa. Derfor skal vi i dette projekt opbygge en lille opsætning, hvor du kan styre klimaanlægget via din smartphone ved hjælp af Bluetooth og Arduino. Lyder interessant lige! Lad os bygge en
Nødvendige materialer:
- Arduino Mega 2560
- TSOP (HS0038)
- IR ledet
- Enhver farve-LED og 1K modstand (valgfri)
- HC-06
- Brødbræt
- Tilslutning af ledninger
Arbejdsmetode:
Alle fjernbetjeninger i vores hjem, som vi bruger til at styre tv, hjemmebiograf, vekselstrøm osv. Fungerer ved hjælp af IR Blasters. En IR-blaster er intet andet end en IR-LED, der kan sprænge et signal ved gentagen pulserende; dette signal læses af modtageren i elektronikapparatet. For hver anden knap på fjernbetjeningen sprænges der et unikt signal, som efter læsning af modtageren bruges til at udføre en bestemt foruddefineret opgave. Hvis vi er i stand til at læse dette signal, der kommer ud fra fjernbetjeningen, kan vi derefter efterligne det samme signal ved hjælp af en IR-LED, når det nogensinde er nødvendigt at udføre den pågældende opgave. Vi har tidligere lavet et IR Blaster-kredsløb til Universal IR-fjernbetjening og til automatisk AC-temperaturkontrol.
En TSOP er en IR-modtager, der kan bruges til at afkode signalet fra fjernbetjeningerne. Vi bruger denne TSOP til at afkode alle oplysninger fra vores fjernbetjening og gemme dem på Arduino. Derefter kan vi ved hjælp af disse oplysninger og en IR-ledere genskabe IR-signalerne fra vores Arduino, når det er nødvendigt.
Forudsætninger:
For dette Arduino Bluetooth-styrede AC-projekt skal du sørge for at have en Arduino Mega og ikke nogen anden version af Arduino, da kodestørrelsen er tung. Installer IR-fjernbiblioteket ved hjælp af dette link til at arbejde med TSOP og IR Blaster.
Arbejde med en AC-fjernbetjening:
Inden vi går ind i projektet, skal du tage lidt tid og lægge mærke til, hvordan din AC-fjernbetjening fungerer. AC fjernbetjeninger fungerer på en lidt anden måde sammenlignet med TV, DVD IR fjernbetjeninger. Der er muligvis kun 10-12 knapper på din fjernbetjening, men de kan sende mange forskellige typer signaler. Det betyder, at fjernbetjeningen ikke sender den samme kode hver gang for den samme knap. Når du f.eks. Sænker temperaturen ved hjælp af ned-knappen for at gøre det 24 ° C (grad Celsius), får du et signal med et sæt data, men når du trykker på det igen for at indstille 25 ° C, får du ikke det samme data, da temperaturen nu er 25 og ikke 24. Tilsvarende vil koden for 25 også variere for forskellige blæserhastigheder, dvaletilstand osv. Så lad os ikke snuble med alle muligheder og kun koncentrere kun temperaturværdierne med en konstant værdi til andre indstillinger.
Et andet problem er mængden af data, der sendes for hvert tryk på en knap, normale fjernbetjeninger med send enten 24 bit eller 48 bit, men en AC-fjernbetjening sender muligvis op til 228 bit, da hvert signal indeholder en masse information som Temp, Fan Speed, Sovetid, gyngestil osv. Dette er grunden til, at vi har brug for en Arduino Mega for bedre opbevaringsmuligheder.
Kredsløbsdiagram og forklaring:
Heldigvis er hardwareopsætningen af denne mobiltelefonstyrede klimaanlæg meget let. Du kan blot bruge et brødbræt og oprette forbindelserne som vist nedenfor.
Følgende tabel kan også bruges til at bekræfte dine forbindelser.
S. nej: |
Komponentstift |
Arduino Pin |
1 |
TSOP - Vcc |
5V |
2 |
TSOP - Gnd |
Gnd |
3 |
TSOP - Signal |
8 |
4 |
IR-ledet katode |
Gnd |
5 |
IR Led - Anode |
9 |
6 |
HC-05 - Vcc |
5V |
7 |
HC05 - Gnd |
Jord |
8 |
HC05 - Tx |
10 |
9 |
HC05 - Rx |
11 |
Når forbindelserne er færdige, skal det se ud som dette vist nedenfor. Jeg har brugt et brødbræt til at rydde ting, men du kan også gøre dig mandlige til kvindelige ledninger direkte for at tilslutte alle komponenter
Afkodning af dine AC-fjernsignaler:
Det første trin til at kontrollere din vekselstrøm er at bruge TSOP1738 til at afkode IR-fjernbetjenings IR-koder. Foretag alle forbindelser som vist i kredsløbsdiagrammet, og sørg for at du har installeret alle de nævnte biblioteker. Åbn nu eksempelprogrammet “ IRrecvDumpV2 ”, som kan findes i File -> Eksempler -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv irrecv (recvPin);
Da vores TSOP er tilsluttet pin 8, skal du ændre linjenummer 9 til int recPin = 8 som vist ovenfor. Upload derefter programmet til din Arduino Mega og åbn Serial Monitor.
Peg fjernbetjeningen mod TSOP, og tryk på en vilkårlig knap, for hver knap, du trykker på dens respektive signal, læses det af TSOP1738, dekodet af Arduino og vises i den serielle skærm. For hver ændring i temperaturen på din fjernbetjening får du forskellige data. Gem disse data, for vi bruger dem i vores hovedprogram. Din serielle skærm vil se sådan ud, jeg har også vist den Word-fil, som jeg har gemt de kopierede data på.
Skærmbilledet viser koden til indstilling af temperaturen til 26 ° C for min AC-fjernbetjening. Baseret på din fjernbetjening får du et andet sæt koder. Tilsvarende kopier koderne for alle forskellige temperaturniveauer. Du kan kontrollere alle IR-koder til fjernbetjening til klimaanlæg i Arduino-koden, der er angivet i slutningen af denne vejledning.
Hoved Arduino-program:
Det komplette hoved Arduino-program kan være nederst på denne side, men du kan ikke bruge det samme program. Du er nødt til at ændre signalkodeværdierne, som vi lige har fået fra eksemplet på skitsen. Åbn hovedprogrammet på din Arduino IDE, og rul ned til dette område vist nedenfor, hvor du skal erstatte arrayværdierne med de værdier, du har fået til din Remote.
Bemærk, at jeg har brugt 10 arrays, hvoraf to os plejede at tænde og slukke for AC, mens resten 8 bruges til at indstille en anden temperatur. For eksempel bruges Temp23 til at indstille 23 * C på din AC, så brug den respektive kode i den Array. Når det er gjort, skal du bare uploade koden til din Arduino.
Vi er nødt til at importere to biblioteker til dette projekt. Den ene er IRremote- biblioteket, som vi lige har føjet til Arduino, og det andet er det indbyggede serielle softwarebibliotek, der hjælper os med at bruge Bluetooth-modulet.
#omfatte
Dernæst initialiserer vi Bluetooth-modulet på pin 10 og 11 og bruger derefter et objekt kaldet irsend for at få adgang til alle IR-funktionerne i biblioteket.
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
Dernæst kommer de meget vigtige kodelinjer. Det er her, oplysningerne til kontrol af din vekselstrøm er til stede. Den nedenstående er til min AC-fjernbetjening, du skulle have fået din i det foregående trin.
Næste inde i tomrum setup funktion, vi initialisere to seriel kommunikation. Den ene er Bluetooth med 9600 baudrate og den anden er seriel skærm med 57600 baudrate.
ugyldig opsætning () {BT_module.begin (9600); // BT arbejder på 9600 Serial.begin (57600); // Serial Monitor work son 57600}
Inde i vores hulrum (uendelig løkke) kontrollerer vi , om der er noget modtaget af Bluetooth-modulet. Hvis der modtages noget, gemmer vi disse oplysninger i variablen BluetoothData .
mens (BT_module.available ()) // Hvis der kommer data {BluetoothData = BT_module.read (); // læs den og gem den Serial.println (BluetoothData); // udskriv det på serie til testformål}
Oplysningerne modtaget af Bluetooth vil være baseret på den knap, der trykkes på i vores Android-app, som vi installerer i vores næste trin. Når informationen er modtaget, skal vi bare udløse den respektive IR-kode som nedenfor
hvis (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); forsinkelse (2000); // Send signal for at indstille Temperatue 23C}
Her, hvis koden '2' modtages, skal vi indstille temperaturen på AC til 23 ° C. På samme måde har vi kode fra 0 til 9 til at udføre alle de grundlæggende kontrolfunktioner for AC. Du kan henvise til den komplette arduino-kode i slutningen af denne side.
Installation af Android-applikation:
Det sidste trin i den smarttelefonstyrede aircondition er at installere Android-applikationen. Android-applikationen til dette projekt blev oprettet ved hjælp af Processing Android Mode. Behandling er et fremragende værktøj til at oprette.EXE-filer eller APK-filer til dine integrerede projekter. Det er en open source-platform ligesom Arduino og dermed helt gratis at downloade til brug.
Hvis du ikke ønsker at komme for meget dybt ind i det, kan du blot downloade APK-filen herfra inde i zip-filen og installere den direkte på din mobiltelefon. Åbn applikationen, så får du en skærm som vist nedenfor, hvorefter du kan fortsætte ned til næste trin og nyde at arbejde med projektet. Men hvis du vil tilpasse programmet til applikationen, så det passer til dit behov, kan du læse videre.
Den komplette programfil til behandlingskode kan downloades herfra. Denne zip har den kode og billedkilde, som applikationen fungerer til. Efter åbning af koden kan du tilpasse følgende linjer for at tilpasse den til dit behov.
Som tidligere nævnt ligner behandling Arduino. Så det har også en ugyldig opsætning og en ugyldig sløjfe (her tegne) -funktioner. Inde i tomrum setup -funktionen vil vi instruere Bluetooth telefon til at oprette forbindelse til Bluetooth på Arduino. Mit enhedsnavn her er "HC-05", så min kode vil være
bt.start (); // start med at lytte efter BT-forbindelser bt.getPairedDeviceNames (); bt.connectToDeviceByName ("HC-05"); // Opret forbindelse til vores HC-06 Bluetooth-modul
Næste inde i load_buttons () -funktionerne kan du tegne så mange knapper, som du vil. Jeg har tegnet 10 knapper som vist på applikationen. Efterfulgt af det har vi funktionen read_buttons () , som bruges til at registrere, hvilken knap du rører ved. Hver knap har en bestemt farve, så når en bruger berører skærmen, kontrollerer vi hvilken farve han har rørt ved og bestemmer hvilken knap han har rørt ved. En eksempelkode for at oprette en knap og vælge den baseret på farve vises nedenfor
fyld (255,145,3); ret (bredde / 2-bredde / 4, højde / 2, bredde / 4, højde / 12); fyld (255); tekst ("25C", bredde / 2-bredde / 4, højde / 2); // knap 5 hvis (color_val == - 13589993) {byte data = {'0'}; bt. Broadcast (data);}
Linjen “byte data = {'0'};” er en meget vigtig linje. Det er her, vi beslutter, hvilken kode der skal sendes til Arduino via Bluetooth. Her, hvis denne knap trykkes, sendes char "0" fra Bluetooth til Arduino. På samme måde kan vi sende et andet tegn til forskellige knapper. Disse tegn kan derefter sammenlignes på Arduino-siden, og de respektive handlinger kan træffes.
Gå videre og snurre rundt om koden, hvis du er i tvivl, nå mig gennem kommentarsektionen og vil gøre mit bedste for at hjælpe dig.
Arbejde med mobiltelefonstyret vekselstrøm:
Når du er klar med din hardware-, Arduino-kode- og Android-applikationer, er det tid til at nyde output. Upload Arduino-koden til din hardware, og placer den mod din AC. Åbn nu Android-applikationen på din mobiltelefon. Hvis alt fungerer som forventet, skal du se " Forbundet til: enhedsnavn (en eller anden kode) " som vist nedenfor
Tryk nu bare på en vilkårlig knap på din Android-applikation, og den skal udløse en respektiv handling på AC, som om du bruger en fjernbetjening. Du kan tilføje så mange knapper, du vil, ved at ændre koden og også endda automatisere din AC baseret på din stuetemperatur eller tilstedeværelse. Tjek den komplette Arduino-kode og videoen nedenfor.
Håber du nød projektet og forstod konceptet bag det. Som altid, hvis du har problemer med at få dette til at fungere, kan du bruge foraene til at stille spørgsmål og få dem løst.
APK-fil til installation af Android-applikation kan downloades herfra.