- Nødvendige komponenter:
- Arbejdsforklaring:
- Kredsløbsdiagram:
- Afkodning af IR-fjernbetjeningssignaler ved hjælp af Arduino:
- Opbygning af Android-appen til IR Blaster:
Jeg startede dette projekt for at slippe af med forskellige fjernbetjeninger derhjemme og bygge noget enkelt, der kunne indeholde funktioner i dem alle. Jeg fik denne idé, da jeg så en af min vens mobiltelefon med indbygget IR-blaster, på det tidspunkt besluttede jeg ikke at købe en lignende telefon, snarere lave min egen enhed, som skulle være kompatibel med mit eksisterende håndsæt. Så her skal vi konvertere en Android-telefon til en IR-fjernbetjening ved hjælp af Arduino til at styre forskellige enheder derhjemme.
Nødvendige komponenter:
- Arduino Uno
- IR LED
- TSOP-IR-modtager (1838T)
- Bluetooth-modul (HC05)
- Android-enhed (telefon, tablet osv.)
Arbejdsforklaring:
Generelt bruger vi to fjernbetjeninger til at betjene tv derhjemme, en til tv og en til Set-Top Box, så her i dette projekt målretter jeg disse to fjernbetjeninger og får en Android-telefon til at fungere som IR Blaster, så tv kan styres med telefonen uden at røre nogen af fjernbetjeningerne.
Brug af et Arduino Uno-kort gjorde det nemmere for mig at håndtere IR-dekodnings- og kodningsdelen. Det skræddersyede skjold tilføjer bare den praktiske del af dette projekt. Skjoldet består af en TSOP IR-modtager (1838T), en IR-LED og et Bluetooth-modul (HC-05), se billedet nedenfor:
Du kan enten oprette det brugerdefinerede skjold eller direkte forbinde komponenterne til Arduino som vist i 'Circuit Diagram' i nedenstående afsnit.
Før vi går videre, lad os først diskutere om 'hvordan IR-fjernbetjeninger fungerer'. De fleste IR-fjernbetjeninger fungerer omkring 38 KHz frekvenser (det er grunden til, at jeg har valgt 18 38 T). Ved yderligere inddragelse i dette emne vil man erkende, at der ikke er nogen fast repræsentation for nuller og ener i disse IR-datatransmissionsmetoder. Disse koder bruger forskellige kodningsteknikker, som vi studerer i vores ingeniørplan (da jeg er en elektronikingeniørstudent). Betydningen af 38 KHz er, at det er den frekvens, hvormed signalet svinger, når det er logisk højt, dvs. dette er signalets bærefrekvens. Se på billedet nedenfor; dette er et eksempel på NEC-protokol. Dette gør dit koncept mere tydeligt:
Så her fungerer denne IR Blaster; en Android-telefon med den specialfremstillede Android-app sender signalet til Arduino-kredsløbet via Bluetooth, yderligere modtager Arduino signalet via TSOP-IR-modtager (1838T) og analyserer det. Derefter kommanderer Arduino IR-LED'en til at blinke i et bestemt mønster svarende til knappen, der trykkes på den Android-enhedsapp. Dette blinkende mønster er fanget af TV eller Set-Top-boksens IR-modtager, og det følger instruktionerne i overensstemmelse hermed som at skifte kanal eller øge lydstyrken.
Men før det er vi nødt til at afkode de eksisterende fjernbetjeninger. Som nævnt tidligere har jeg i dette projekt gjort brug af to fjernbetjeninger, en der kommunikerer med tv'et, mens en anden er til set-top-boksen tilsluttet tv'et.
Kredsløbsdiagram:
Afkodning af IR-fjernbetjeningssignaler ved hjælp af Arduino:
Arduino-kortet fungerer her i to faser, den ene er, når du bruger den til at afkode IR-koder fra fjernbetjeningen, og en anden er, når du bruger den som IR-blaster-enheden.
Lad os tale om den første fase. For at afkode IR- knapkoderne har jeg brugt Ken Shirriffs IRremote- headerfil. Denne header-fil har mange foruddefinerede eksempler / koder bare for at gøre det lettere for os at arbejde med IR-koder:
- Du skal først downloade og installere IR-fjernbiblioteket herfra
- Pak den ud, og placer den i din Arduino 'Libraries' mappe. Omdøb derefter den udpakkede mappe til IRremote.
- Brænd derefter nedenstående kode i Arduino, tilslut det brugerdefinerede skjold som vist ovenfor, og placer en fjernbetjening, der skal afkodes, foran TSOP IR-modtageren. Åbn den serielle skærm, der svarer til denne Arduino, og tryk på en ønsket knap fra fjernbetjeningen. Du kan se nogle oplysninger, der vises over terminalen. Disse oplysninger involverer typen af kode, dens værdi og mængden af bits, der er involveret i den. Sådan ser det ud:
#omfatte
Når du er færdig med den ønskede afkodningsdel, skal du notere alle afkodningsværdier og anden information med deres tilsvarende knapnavn trykket ned. Dette fungerer som en database til den næste fase af Arduino. Ovenstående program er taget fra IRremote-biblioteks 'eksempler' -mappe, du kan tjekke flere eksempler for at lære mere om brug af IR-fjernbetjeningen. Så det er sådan, vi afkodede IR-fjernudgangen.
Brænd nu koden, der er givet i kodeafsnittet i slutningen, på det samme tavle. Tillykke, du er færdig med første halvdel af dette projekt.
Opbygning af Android-appen til IR Blaster:
Her kommer anden halvdel, Android App gør. Jeg foretrækker simpelthen at bruge MITs APP opfinder-2 til at lave en sådan slags apps. Hvis du er en amatør inden for Android-kodning, sparer dette din tid og giver gode resultater. De vigtigste komponenter, der bruges til fremstilling af denne app, er ikke meget, kun få knapper og en Bluetooth-klientpakke. Mens du koder appen, skal du angive den tilsvarende tekst, der skal sendes for hver knap, der trykkes på skærmen, som beder Arduino om at blinke IR-LED på samme måde som den ville være gjort af den enkelte fjernbetjening; Sørg også for at angive den korrekte adresse på dit Bluetooth HC-05-modul. Sådan ser den endelige app ud på din Android-smartphone:
Her er trin for trin proces til at oprette appen:
TRIN 1:
Log på dette link: ai2.appinventor.mit.edu, eller prøv at søge MIT appinventor-2 på Google. Log ind på AI2 kræver en Google-konto, så hvis du ikke har det, skal du oprette en.
TRIN 2:
Når du logger ind med din Google-konto, omdirigeres du til AI2-arbejdssiden, som ser sådan ud:
Start et nyt projekt ved at klikke på fanen "Projekter" øverst og vælg "Start nyt projekt". Når du er færdig med navngivningsdelen og alt, vises en tom skærm for dig, hvor du kan placere knapper og tekst som vist ovenfor. Dette er GUI-skærmen, hvor du bestemmer, hvordan appen vil se ud for en bruger.
For at bruge en knappakke skal du vælge fanen “Knap” i venstre side af skærmen under afsnittet “Brugergrænseflade”. Træk bare en pakke fra menuen til venstre og slip den på arbejdsskærmen. På samme måde for at få vist tekstrelaterede ting skal du bruge "Label" -pakken.
TRIN 3:
Efter at have arrangeret alle dine knapper og etiketter, er det nu tid til at oprette en kode til denne app. Men inden det skal vi også vælge en Bluetooth-pakke til kommunikation med Arduino.
Du bemærker, at denne pakke ikke vises på skærmen, men den kommer under "Ikke-synlige komponenter". Dette er de komponenter, der ikke har nogen betydning i GUI-make-up.
TRIN 4:
Dernæst kommer kodningssektionen, hvor du definerer funktionen for komponenter, du har valgt, og du vil arbejde med.
På venstre side af skærmen bemærker du alle de pakker, du har valgt i GUI-sektionen. Billedet ovenfor viser, hvad alle komponenter er der i en bestemt pakke, som du kan bruge. Bemærk også, at Bluetooth-modulets adresse skal angives i et tekstformat.
SÆT 5:
Når du føler, at appen er klar til brug, og der ikke også er nogen fejl, skal du klikke på fanen "Byg" som vist ovenfor og vælge den anden mulighed. Dette downloader din egen oprettede app til computeren i “.apk” -format. Så overfør bare denne.apk-fil til enhver Android-enhed, og klik på den for at installere.
Så det er sådan, du kan styre enhver IR-fjernstyret enhed med din smartphone, du skal bare afkode fjernbetjeningen til alle apparater, som du vil styre med din telefon og udskifte den dekodede HEX-kode på fjernbetjeningsknapperne i Arduino-koden.