Sommario:

Telecomando IR universale AIY: 5 passaggi
Telecomando IR universale AIY: 5 passaggi

Video: Telecomando IR universale AIY: 5 passaggi

Video: Telecomando IR universale AIY: 5 passaggi
Video: LED TV REMOTE NOT WORKING || ELECTRONIC SECRET 2024, Novembre
Anonim
Telecomando IR universale AIY
Telecomando IR universale AIY

Questa istruzione descrive come realizzare un telecomando universale a infrarossi AIY. Questo può essere usato per controllare qualsiasi TV, soundbar, digibox, lettore dvd o bluray usando la tua voce.

Lo chiamo universale in quanto contiene un ricevitore IR che può essere utilizzato per registrare il segnale a infrarossi da qualsiasi telecomando.

Il progetto AIY utilizza il programma LIRC per registrare e trasmettere il segnale IR.

Passaggio 1: crea PCB

Crea PCB
Crea PCB
Crea PCB
Crea PCB

Elenco delle parti:

Due emettitori LED a infrarossi da 940 nm da 5 mm

Un ricevitore a infrarossi TSOP38238

Un transistor 2n3904

Un resistore da 10 ohm

Una veroboard

Quattro connettori singoli (opzionale: ho tagliato un connettore a sei pin in connettori singoli)

Cavi per il collegamento al cappello AIY.

Assicurati che i LED IR abbiano la gamba lunga sulla prima fila e la gamba corta sulla seconda. Secondo LED con gamba lunga in seconda fila e gamba corta in terza.

Il transistor dovrebbe avere la base sul terzo, il collettore sul quarto e l'emettitore sul quinto. Assicurarsi che il lato piatto del resistore sia rivolto verso il connettore.

Il resistore va tra la riga cinque e la riga otto.

Usa un pezzo di filo corto per collegare la riga uno alla riga sette.

Collegare il ricevitore IR alla fila sette, otto e nove.

Aggiungi i connettori alle righe uno, quattro, otto e nove.

I connettori sono:

Riga uno - Potenza +5v

Riga quattro - segnale del trasmettitore

Riga otto - Terra

Riga nove - segnale del ricevitore

Passaggio 2: connettiti all'AIY Hat

Connettiti al cappello AIY
Connettiti al cappello AIY
Connettiti al cappello AIY
Connettiti al cappello AIY

Ho saldato i pin dell'intestazione sul mio AIY per rendere le cose di collegamento molto più semplici.

I pin che ho usato sono Servo 0 (GPIO 26) e Servo 5 (GPIO 24) per il segnale. Ho anche usato +5v dal pin orizzontale sopra i pin Servo. Ho preso il terreno dal GND accanto al Servo 0, ma puoi usare qualsiasi terreno tu voglia.

Utilizzando gli appositi cavi, ho collegato il cappello AIY alla scheda in questo modo:

+5V alla fila uno

Servo 0 (GPIO 26) per riga quattro

GND alla riga 8

Servo 5 (GPIO 24) alla riga nove.

Passaggio 3: installa LIRC

Supponendo che tu abbia già configurato e testato AIY:

Dobbiamo installare LIRC. Segui questa preziosa istruzione di mirza irwan Osman:

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

OPPURE un'istruzione alternativa può essere trovata qui da Alex Bane:

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

NOTA: per la mia configurazione avevo bisogno di assicurarmi che il file /boot/config.txt avesse quanto segue:

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

Passaggio 4: ottieni o crea file LIRC per i tuoi dispositivi

Questo passaggio successivo crea il file lircd.conf che contiene i dettagli sul telecomando per i dispositivi che si desidera utilizzare.

Ci sono due modi per creare questo file:

1. Se sei fortunato, puoi trovare un file esistente nelle pagine LIRC per il tuo dispositivo

2. Se non riesci a trovarlo, dovrai registrare un file utilizzando il ricevitore IR e il telecomando.

Per il passaggio 1, vai alla home page di LIRC e guarda l'elenco dei dispositivi supportati:

www.lirc.org/

Se riesci a trovare il file per il dispositivo, devi trasferire le informazioni nel file nel file lircd.conf /etc/lirc

Poiché il mio AIY è senza intestazione, utilizzo WINScP per apportare le modifiche a lirc.conf.

Le informazioni di cui hai bisogno iniziano con "begin remote" e terminano con "end remote"

NOTA: se si desidera controllare più di un dispositivo, è sufficiente aggiungere il codice del telecomando aggiuntivo nello stesso file dopo il "fine del telecomando" esistente. Assicurati che ogni telecomando abbia un nome univoco. Uso "mytv" per la mia televisione e "sky" per il mio digibox sky ecc.

Se non riesci a trovare il codice per il tuo dispositivo, dovrai registrarlo.

Segui queste istruzioni per imparare a registrare ogni telecomando usando LIRC:

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

Una volta registrato il primo telecomando, ripeti la procedura fino a quando non avrai registrato tutti i telecomandi. Puoi quindi aggiornare il file lirc.conf con tutti i codici che hai registrato. Avevo bisogno di farlo per la mia soundbar.

Passaggio 5: codice AIY per controllare i dispositivi

Per controllare il trasmettitore IR da AIY, apportare le modifiche necessarie al file "assistant_library_with_local_commands_demo.py"

Puoi eseguire "assistant_library_with_local_commands_demo.py" dal terminale Start Dev per vedere se il tuo codice funziona.

Ho il mio AIY che si avvia automaticamente all'avvio seguendo le istruzioni qui:

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

Tieni presente che se desideri modificare il codice, devi interrompere l'esecuzione di AIY e riavviarlo utilizzando questi:

sudo service my_assistant stop

sudo service my_assistente start

Il codice allegato contiene il mio attuale programma di lavoro.

(Si noti che questo codice contiene anche funzionalità aggiuntive come la radio Internet).

Il codice utilizza variazioni sull'invio di LIRC send_start e send_stop per trasmettere il segnale IR richiesto. Ho scoperto che è necessario introdurre una pausa tra l'avvio e l'arresto del segnale, e questo può variare a seconda dei dispositivi (la mia TV Panasonic richiede un segnale più lungo rispetto allo sky box). Quindi ad esempio:

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

tempo.sonno(0.5)

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

Per inviare combinazioni di segnali, ad esempio il canale Sky TV, ho creato un elenco che designava una frase per un codice di canale. Nota che a volte l'AIY non sentirà sempre la parola giusta, quindi ho incluso anche variazioni sulla frase (come bbc 1 e bbc one, o la parola "guida" e "dave" poiché AIY lo ha sempre restituito quando ho ha detto 'dave' - deve essere il mio accento!). Ho quindi utilizzato una routine che prelevava il codice di tre caratteri dall'elenco e trasmetteva ciascun numero (vedi modulo ##Sky channel change routine##)

È anche possibile inviare combinazioni di segnali a più dispositivi. Quindi, ad esempio, ho una routine di "accensione del sistema" che invia l'alimentazione alla TV, accende la soundbar, avvia lo sky box e lo passa a BBC 1.

Una volta che il trasmettitore IR funziona con AIY, è possibile pensare a tutte le diverse combinazioni per utilizzarlo. Ad esempio posso inviare un comando temporale per regolare il volume sulla soundbar.

Buon telecomando AIY IR!

Consigliato: