- Nødvendige materialer:
- Arbeidsmetodikk:
- Forutsetninger:
- Arbeid med en fjernkontroll:
- Kretsdiagram og forklaring:
- Dekoding av AC-fjernkontrollsignaler:
- Hoved Arduino-program:
- Installere Android-applikasjon:
- Arbeid med mobiltelefonstyrt vekselstrøm:
I dagens moderne verden, uansett hvor vi går, har vi mange elektroniske enheter rundt oss. Men av alt er det bare ett apparat som vi personlig har i lommene hele tiden. Ja, det er mobiltelefonene våre. Nå har mobiltelefoner blitt mer enn en enhet som brukes til kommunikasjon, de er kameraene våre, de er kartene våre, de er handlekurvene våre og hva ikke?
Med denne muligheten i våre hender er det virkelig en kjedelig idé å bruke fjernkontroller for å kontrollere elektroniske applikasjoner i hjemmet vårt, som TV, AC, hjemmekino etc. Det er alltid frustrerende å nå AC-fjernkontrollen fra den komfortable komforten på sengen vår eller sofa. Derfor skal vi i dette prosjektet bygge et lite oppsett der du kan kontrollere klimaanlegget via smarttelefonen din ved hjelp av Bluetooth og Arduino. Høres interessant ut! La oss bygge en
Nødvendige materialer:
- Arduino Mega 2560
- TSOP (HS0038)
- IR ledet
- Enhver fargediode og 1K motstand (valgfritt)
- HC-06
- Brettbrett
- Koble ledninger
Arbeidsmetodikk:
Alle fjernkontrollene i hjemmet som vi bruker til å kontrollere TV, hjemmekino, AC osv. Fungerer ved hjelp av IR Blasters. En IR-blaster er ikke noe annet enn en IR-LED som kan blaste et signal ved repeterende pulserende; dette signalet vil bli lest av mottakeren i elektronikkapparatet. For hver annen knapp på fjernkontrollen sprenges et unikt signal som etter lesing av mottakeren brukes til å utføre en bestemt forhåndsdefinert oppgave. Hvis vi er i stand til å lese dette signalet som kommer ut fra fjernkontrollen, kan vi etterligne det samme signalet ved hjelp av en IR-LED når det noen gang er nødvendig for å utføre den aktuelle oppgaven. Vi har tidligere laget en IR Blaster-krets for Universal IR Remote og for automatisk AC temperaturkontroll.
En TSOP er en IR-mottaker som kan brukes til å dekode signalet som kommer fra fjernkontrollene. Vi vil bruke denne TSOP-en til å dekode all informasjon fra fjernkontrollen vår og lagre den på Arduino. Deretter kan vi bruke den informasjonen og en IR-ledelse til å gjenopprette IR-signalene fra Arduino når det er nødvendig.
Forutsetninger:
For dette Arduino Bluetooth-kontrollerte AC-prosjektet, må du sørge for at du har en Arduino Mega og ikke noen annen versjon av Arduino, siden kodestørrelsen er tung. Installer IR-fjernbiblioteket ved hjelp av denne lenken for å jobbe med TSOP og IR Blaster.
Arbeid med en fjernkontroll:
Før vi går inn i prosjektet, må du ta litt tid og legge merke til hvordan AC-fjernkontrollen fungerer. AC-fjernkontroller fungerer på en litt annen måte sammenlignet med TV, DVD IR-fjernkontroller. Det kan bare være 10-12 knapper på fjernkontrollen, men de vil kunne sende mange forskjellige typer signaler. Betydning at fjernkontrollen ikke sender den samme koden hver gang for den samme knappen. For eksempel, når du senker temperaturen ved hjelp av ned-knappen for å gjøre den 24 ° C (grad Celsius) vil du få et signal med et sett med data, men når du trykker på det igjen for å stille 25 ° C, vil du ikke få det samme data siden temperaturen nå er 25 og ikke 24. Tilsvarende vil koden for 25 også variere for forskjellige viftehastigheter, søvninnstillinger osv. Så la oss ikke fikle med alle alternativene og bare konsentrere bare temperaturverdiene med en konstant verdi for andre innstillinger.
Et annet problem er mengden data som sendes for hvert knappetrykk, normale fjernkontroller med send enten 24 eller 48 bits, men en AC-fjernkontroll kan sende opptil 228 bits, siden hvert signal inneholder mye informasjon som Temp, Fan Speed, Sovetid, svingstil osv. Dette er grunnen til at vi trenger en Arduino Mega for bedre lagringsalternativer.
Kretsdiagram og forklaring:
Heldigvis er maskinvareoppsettet til dette mobiltelefonstyrte klimaanlegget veldig enkelt. Du kan bare bruke et brødbrett og lage tilkoblingene som vist nedenfor.
Følgende tabell kan også brukes til å bekrefte tilkoblingene dine.
S. nei: |
Komponentstift |
Arduino Pin |
1 |
TSOP - Vcc |
5V |
2 |
TSOP - Gnd |
Gnd |
3 |
TSOP - Signal |
8 |
4 |
IR Led - Katode |
Gnd |
5 |
IR Led - Anode |
9 |
6 |
HC-05 - Vcc |
5V |
7 |
HC05 - Gnd |
Bakke |
8 |
HC05 - Tx |
10 |
9 |
HC05 - Rx |
11 |
Når tilkoblingene er gjort, bør det se ut som dette vist nedenfor. Jeg har brukt et brødbrett til å rydde ting, men du kan også bruke ledninger for menn til kvinner direkte for å koble til alle komponenter
Dekoding av AC-fjernkontrollsignaler:
Det første trinnet for å kontrollere vekselstrømmen din er å bruke TSOP1738 til å dekode IR-fjernkontroller for fjernkontroll. Gjør alle tilkoblingene som vist i kretsskjemaet og sørg for at du har installert alle de nevnte bibliotekene. Åpne nå eksempelprogrammet “ IRrecvDumpV2 ” som du finner på File -> Eksempler -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv irrecv (recvPin);
Siden vår TSOP er koblet til pin 8, endrer du linjenummer 9 til int recPin = 8 som vist ovenfor. Last deretter opp programmet til Arduino Mega og åpne Serial Monitor.
Pek fjernkontrollen mot TSOP og trykk på en hvilken som helst knapp. For hver knapp du trykker på, vil signalet bli lest av TSOP1738, dekodet av Arduino og vises i Serial Monitor. For hver endring i temperaturen på fjernkontrollen vil du få forskjellige data. Lagre disse dataene, for vi bruker dem i hovedprogrammet vårt. Seriell skjerm vil se ut som dette, jeg har også vist Word-filen som jeg har lagret de kopierte dataene på.
Skjermbildet viser koden for å stille temperaturen til 26 ° C for min fjernkontroll. Basert på fjernkontrollen vil du få et annet sett med koder. Kopier på samme måte kodene for alle forskjellige temperaturnivåer. Du kan sjekke alle IR-koder for klimaanlegg fjernkontroll i Arduino-koden gitt på slutten av denne opplæringen.
Hoved Arduino-program:
Hele Arduino-hovedprogrammet kan være nederst på denne siden, men du kan ikke bruke det samme programmet. Du må endre signalkodeverdiene som vi nettopp har fått fra eksemplet på skissen. Åpne hovedprogrammet på Arduino IDE, og bla ned til dette området vist nedenfor, der du må erstatte matriseverdiene med verdiene du fikk for fjernkontrollen.
Merk at jeg har brukt 10 matriser hvorav to vi pleide å slå PÅ og slå AV AC mens resten 8 ble brukt til å stille inn annen temperatur. For eksempel brukes Temp23 til å sette 23 * C på vekselstrømmen, så bruk den respektive koden i den matrisen. Når det er gjort, må du bare laste opp koden til Arduino.
Vi må importere to biblioteker for dette prosjektet. Det ene er IRremote- biblioteket som vi nettopp la til i Arduino, og det andre er det innebygde programvareseriebiblioteket som hjelper oss med å bruke Bluetooth-modulen.
#inkludere
Deretter initialiserer vi Bluetooth-modulen på pin 10 og 11 og bruker deretter et objekt som heter irsend for å få tilgang til alle IR-funksjonene i biblioteket.
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
Deretter kommer de veldig viktige kodelinjene. Det er her informasjonen for å kontrollere vekselstrømmen din er til stede. Den som er vist nedenfor er for AC-fjernkontrollen min.
Neste inne i tomrumsoppsettfunksjonen initialiserer vi to serielle kommunikasjoner. Den ene er Bluetooth med 9600 baudrate og den andre er seriell skjerm med 57600 baud rate.
ugyldig oppsett () {BT_module.begin (9600); // BT fungerer på 9600 Serial.begin (57600); // Serial Monitor work son 57600}
Inne i vår ugyldige sløyfe (uendelig sløyfe) sjekker vi om det er noe som mottas av Bluetooth-modulen. Hvis noe mottas, lagrer vi den informasjonen i variabelen BluetoothData .
mens (BT_module.available ()) // Hvis data kommer {BluetoothData = BT_module.read (); // les den og lagre den Serial.println (BluetoothData); // skriv den ut på serie for testformål}
Informasjonen mottatt av Bluetooth vil være basert på knappen som trykkes på Android-appen vår som vi skal installere i vårt neste trinn. Når informasjonen er mottatt, må vi bare utløse den respektive IR-koden som nedenfor
hvis (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); forsinkelse (2000); // Send signal for å stille inn Temperatue 23C}
Her hvis koden '2' mottas, må vi stille temperaturen på AC til 23 ° C. På samme måte har vi kode fra 0 til 9 for å utføre alle de grunnleggende kontrollfunksjonene til AC. Du kan referere til den komplette arduino-koden på slutten av denne siden.
Installere Android-applikasjon:
Det siste trinnet i den smarttelefonstyrte klimaanlegget er å installere Android-applikasjonen. Android-applikasjonen for dette prosjektet ble opprettet ved hjelp av Processing Android Mode. Behandling er et utmerket verktøy for å lage.EXE-filer eller APK-filer for dine innebygde prosjekter. Det er en åpen kildekodeplattform akkurat som Arduino og dermed helt gratis å laste ned for bruk.
Hvis du ikke vil komme for mye inn i det, kan du bare laste ned APK-filen herfra i zip-filen og installere den direkte på mobiltelefonen. Åpne applikasjonen, så får du en skjerm som vist nedenfor, hvoretter du kan fortsette ned til neste trinn og nyte å jobbe med prosjektet. Men hvis du vil tilpasse programmet til programmet for å passe det etter dine behov, kan du lese videre.
Den komplette programfilen for behandlingskode kan lastes ned herfra. Denne glidelåsen vil ha koden og bildekilden som applikasjonen fungerer i. Etter at du har åpnet koden, kan du tilpasse følgende linjer for å tilpasse den etter dine behov.
Som sagt tidligere, er behandlingen lik Arduino. Så den har også et tomrumsoppsett og ugyldig sløyfe (her tegne) -funksjoner. Inne i funksjonen for ugyldig oppsett vil vi instruere Bluetooth på telefonen om å koble til Bluetooth fra Arduino. Enhetsnavnet mitt her er “HC-05”, så koden min vil være
bt.start (); // begynn å lytte etter BT-tilkoblinger bt.getPairedDeviceNames (); bt.connectToDeviceByName ("HC-05"); // Koble til vår HC-06 Bluetooth-modul
Neste inne i load_buttons () -funksjonene kan du tegne så mange knapper du vil. Jeg har tegnet 10 knapper som vist på applikasjonen. Etterfulgt av det har vi read_buttons () -funksjonen som brukes til å oppdage hvilken knapp du berører. Hver knapp har en bestemt farge, så når en bruker berører skjermen, sjekker vi hvilken farge han har berørt og bestemmer hvilken knapp han har rørt. En eksempelkode for å lage en knapp og velge den basert på farge vises nedenfor
fyll (255,145,3); rett (bredde / 2-bredde / 4, høyde / 2, bredde / 4, høyde / 12); fyll (255); tekst ("25C", bredde / 2-bredde / 4, høyde / 2); // knapp 5 hvis (color_val == - 13589993) {byte data = {'0'}; bt. Broadcast (data);}
Linjen “byte data = {'0'};” er en veldig viktig linje. Det er her vi bestemmer hvilken kode som skal sendes til Arduino via Bluetooth. Hvis denne knappen trykkes, sendes røyken "0" fra Bluetooth til Arduino. På samme måte kan vi sende et annet tegn for forskjellige knapper. Disse karakterene kan deretter sammenlignes på Arduino-siden, og respektive handling kan utføres.
Fortsett og fikle rundt koden, hvis du er i tvil, nå meg gjennom kommentarseksjonen og vil prøve mitt beste for å hjelpe deg.
Arbeid med mobiltelefonstyrt vekselstrøm:
Når du er klar med maskinvare-, Arduino-koden og Android-applikasjonene, er det på tide å nyte utdataene. Last opp Arduino-koden til maskinvaren din og plasser den mot vekselstrømmen. Åpne nå Android-applikasjonen på mobiltelefonen din. Hvis alt fungerer som forventet, bør du se " Koblet til: enhetsnavn (noe kode) " som vist nedenfor
Nå er det bare å trykke på en hvilken som helst knapp på Android-applikasjonen din, og den skal utløse en respektive handling på AC som om du bruker en fjernkontroll. Du kan legge til så mange knapper du vil ved å endre koden, og til og med automatisere AC-en din basert på romtemperatur eller tilstedeværelse. Sjekk den komplette Arduino-koden og videoen nedenfor.
Håper du likte prosjektet og forsto konseptet bak det. Som alltid hvis du har noen problemer med å få dette til å fungere, kan du bruke forumene til å stille spørsmål og få dem løst.
APK-fil for å installere Android-applikasjonen kan lastes ned herfra.