Innholdsfortegnelse:

AIY Universal IR fjernkontroll: 5 trinn
AIY Universal IR fjernkontroll: 5 trinn

Video: AIY Universal IR fjernkontroll: 5 trinn

Video: AIY Universal IR fjernkontroll: 5 trinn
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
AIY Universal IR fjernkontroll
AIY Universal IR fjernkontroll

Denne instruksjonsboken beskriver hvordan du lager en AIY universal infrarød fjernkontroll. Dette kan brukes til å kontrollere hvilken som helst TV, lydstang, digibox, dvd eller bluray -spiller ved å bruke stemmen din.

Jeg kaller det universelt da det inneholder en IR -mottaker som kan brukes til å registrere det infrarøde signalet fra hvilken som helst fjernkontroll.

AIY -prosjektet bruker LIRC -programmet til å registrere og overføre IR -signalet.

Trinn 1: Lag PCB

Lag PCB
Lag PCB
Lag PCB
Lag PCB

Deleliste:

To 940nm 5mm infrarøde LED -sendere

Én TSOP38238 infrarød mottaker

En 2n3904 transistor

En 10 ohm motstand

Ett veroboard

Fire enkeltkontakter (valgfritt - jeg kutter en sekspinners kontakt i enkeltkontakter)

Kabler for tilkobling til AIY -hatten.

Sørg for at IR -lysdiodene har det lange benet på første rad, og korte ben på andre. Andre LED med langt bein på andre rad, og kort ben på tredje.

Transistoren skal ha basen på den tredje, kollektoren på den fjerde og emitteren på den femte. Sørg for at den flate siden av motstanden vender mot kontakten.

Motstanden går mellom rad fem og rad åtte.

Bruk et kort stykke ledning for å koble rad én til rad syv.

Koble IR -mottakeren til rad syv, åtte og ni.

Legg til kontaktene i rad én, fire, åtte og ni.

Koblinger er:

Rad en - +5v effekt

Rad fire - sendersignal

Rad åtte - Bakken

Rad ni - mottakersignal

Trinn 2: Koble til AIY -hatten

Koble til AIY Hat
Koble til AIY Hat
Koble til AIY Hat
Koble til AIY Hat

Jeg har loddet toppnål på AIY for å gjøre det mye enklere å koble til ting.

Pinnene jeg brukte er Servo 0 (GPIO 26) og Servo 5 (GPIO 24) for signalet. Jeg brukte også +5v fra den horisontale pinnen ut over Servo -pinnene. Jeg tok bakken fra GND ved siden av Servo 0, men du kan bruke hvilken som helst bakke du vil.

Ved å bruke de riktige kablene koblet jeg AIY -hatten til brettet slik:

+5V for rad én

Servo 0 (GPIO 26) til rad fire

GND til rad 8

Servo 5 (GPIO 24) til rad ni.

Trinn 3: Installer LIRC

Forutsatt at du allerede har konfigurert og testet AIY:

Vi må installere LIRC. Følg denne verdifulle instruksen av mirza irwan Osman:

www.instructables.com/id/Install-Linux-Infrared-Remote-Control-LIRC-Package

ELLER en alternativ instruksjon finner du her av Alex Bane:

alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/

MERK: for oppsettet mitt trengte jeg å sikre at /boot/config.txt -filen hadde følgende:

dtoverlay = lirc-rpi, gpio_in_pin = 24, gpio_out_pin = 26

Trinn 4: Få eller lag LIRC -filer for enhetene dine

Dette neste trinnet oppretter lircd.conf -filen som inneholder detaljer om fjernkontrollen for enhetene du vil bruke.

Det er to måter å lage denne filen på:

1. Hvis du er heldig, kan du finne en eksisterende fil på LIRC -sidene for enheten din

2. Hvis du ikke finner den, må du ta opp en fil ved hjelp av IR -mottakeren og fjernkontrollen.

For trinn 1, gå til LIRC -hjemmesiden og se gjennom listen over støttede enheter:

www.lirc.org/

Hvis du finner filen for enheten, må du overføre informasjonen i filen til lircd.conf -filen /etc /lirc

Siden min AIY er uten hodeskaller, bruker jeg WINScP til å gjøre endringene i lirc.conf.

Informasjonen du trenger starter med "begynne eksternt" og slutter med "slutt fjernkontroll"

MERK: Hvis du vil kontrollere mer enn én enhet, kan du bare legge til den ekstra fjernkoden i den samme filen etter den eksisterende "ende -fjernkontrollen". Sørg for at hver fjernkontroll har et unikt navn. Jeg bruker "mytv" for fjernsynet mitt, og "himmel" for min himmelfilter osv.

Hvis du ikke finner koden for enheten din, må du registrere den.

Følg denne instruksjonen for å lære hvordan du spiller inn hver fjernkontroll ved hjelp av LIRC:

www.instructables.com/id/Record-Infrared-Codes-of-Any-Remote-Control-Unit-f/

Når du har spilt inn den første fjernkontrollen, gjentar du prosessen til du har registrert alle fjernkontrollene. Du kan deretter oppdatere lirc.conf -filen med alle kodene du har spilt inn. Jeg trengte å gjøre dette for lydplanken min.

Trinn 5: Kode AIY for å kontrollere enhetene dine

For å kontrollere IR -senderen fra AIY, gjør de nødvendige endringene i filen "assistant_library_with_local_commands_demo.py"

Du kan kjøre "assistant_library_with_local_commands_demo.py" fra Start Dev Terminal for å se om koden din fungerer.

Jeg får AIY til å starte automatisk ved oppstart ved å følge instruksjonene her:

aiyprojects.withgoogle.com/voice/#makers-guide-3-4--run-your-app-automatically

Vær oppmerksom på at hvis du vil endre koden din, må du stoppe AIY å kjøre, og deretter starte den på nytt ved å bruke disse:

sudo service my_assistant stopp

sudo service my_assistant start

Den vedlagte koden inneholder mitt nåværende arbeidsprogram.

(Vær oppmerksom på at denne koden også inneholder tilleggsfunksjoner som internettradio).

Koden bruker varianter på å sende LIRC send_start og send_stop for å overføre det nødvendige IR -signalet. Jeg har funnet ut at det er nødvendig å innføre en pause mellom å starte og stoppe signalet, og dette kan variere mellom enhetene (min Panasonic TV krever et lengre signal enn himmelboksen). Så for eksempel:

subprocess.call ('irsend SEND_START mytv KEY_POWER', shell = True)

time.sleep (0,5)

subprocess.call ('irsend SEND_STOP mytv KEY_POWER', shell = True)

For å sende kombinasjoner av signaler, for eksempel sky -TV -kanalen, opprettet jeg en liste som angav en setning til en kanalkode. Vær oppmerksom på at AIY en gang ikke alltid vil høre det riktige ordet, så jeg har også tatt med variasjoner på uttrykket (for eksempel bbc 1 og bbc one, eller ordet 'guide' samt 'dave' som AIY alltid returnerte det når jeg sa 'dave' - det må være min aksent!). Jeg brukte deretter en rutine som hentet koden med tre tegn fra listen og overførte hvert nummer (se modul ## Sky channel change routine ##)

Det er også mulig å sende kombinasjoner av signaler til flere enheter. Så for eksempel har jeg en "system on" -rutine som sender strøm til TV -en, slår på soundbaren, starter skyboksen og bytter den til BBC 1.

Når IR -senderen fungerer med AIY, er det mulig å tenke opp alle forskjellige kombinasjoner for å bruke den. For eksempel kan jeg sende en tidskommando for å justere volumet på lydfeltet.

Glad AIY IR fjernkontroll!

Anbefalt: