Indicatoare la distanță: 5 pași
Indicatoare la distanță: 5 pași
Anonim
Indicatoare la distanță
Indicatoare la distanță

Pentru munca mea cu abilitățile Alexa, aveam nevoie de un dispozitiv de feedback simplu (nu adăugați mai multă complexitate); vizual și sonor.

De asemenea, CPU-ul meu se află în „dulapul de cabluri” și aveam nevoie ca ieșirea să fie într-o locație proeminentă, dar altfel discretă.

Am decis o telecomandă RF care să declanșeze curajul unei felicitări muzicale. Am plasat acest lucru într-o cutie acrilică mică pe care o aveam așezată și am adăugat transmițătorul în carcasa RPi3B +.

Comenzile simple de pornire / oprire de pe RPI3B + inițiază luminile și sunetele cu o întârziere de transmisie abia perceptibilă.

Pasul 1: Pinouts

Pinouts
Pinouts
Pinouts
Pinouts

Aceste imagini sunt de pe pagina Amazon a vânzătorului (link de mai sus). Doar o copie comodă pentru referință.

Notă: imaginea originală este etichetată incorect; Am adăugat actualizări (în verde). (Acest lucru este verificat în secțiunea de comentarii a paginii Amazon)

Pasul 2: Prototip

Prototip
Prototip
Prototip
Prototip

Utilizarea fiecărei jumătăți a plăcii pentru separarea emițătorului și receptorului. Alimentat de baterii de 3.7v (încărcate la 4.25v).

Deoarece aceasta este doar o implementare a pin-out-urilor, nu am creat o diagramă schematică.

Am inclus un LED în serie cu un rezistor de 3,3K pentru testare.

Pentru a testa, pur și simplu conectați pinul de control (aici firul alb) la masă. LED-urile de activare (roșii) se aprind atât pe emițător, cât și pe receptor, iar LED-ul meu de „încărcare” se stinge. (în imagine)

Pasul 3: Interludiu

Uneori, emițătorul și receptorul nu sunt împerecheați corect sau poate doriți să schimbați comportamentul implicit.

Includ aici instrucțiunile furnizorului pentru aceste dispozitive:

************************************************************************

Instrucțiunea pinilor

Receptor

  • GND: polul sol sau negativ
  • + V: intrare DC3,3 ~ 5V
  • D0-3: ieșire de date
  • VT: ieșire (această linie scade dacă / când orice linie de date scade)

Cum se potrivește emițătorul și receptorul

  1. Ștergeți datele existente: apăsați butonul de învățare (de pe receptor) de 8 ori. Răspuns: LED-ul clipește de 7 ori.
  2. Învățarea codului de la distanță: apăsați butonul de învățare (de pe receptor) o dată, de două ori sau de trei ori (vezi mai jos). LED-ul se aprinde: modul de învățare este activ.
  3. Apăsați orice buton al telecomenzii. Indicatorul LED clipește de trei ori: învățarea a fost finalizată cu succes.
  4. Test: după operația de mai sus, placa receptorului poate fi controlată de telecomandă.

Mai multe emițătoare cu ID-uri diferite pot fi învățate și stocate suplimentar, începând cu pasul 2. Este posibil un amestec de moduri diferite.

Utilizarea butoanelor (setează modul și începe procesul de asociere):

  • Apăsați o singură dată: Modul Inching (Mod Moment)
  • Apăsați de două ori: modul de auto-blocare (Modul de comutare a celor 4 canale)
  • Apăsați de trei ori: modul interblocat (canalul selectat este activ și va fi șters, dacă un alt canal devine activ) - aka butoane radio

Pasul 4: Instalare

Instalare
Instalare

După lipirea pieselor așa cum au fost conectate pe panou și acoperirea termocontractabilă pentru a evita scurtcircuitele, am instalat transmițătorul pe RPi3B +. (Notă: am inclus fire suplimentare pentru ieșiri pe care nu le folosesc încă)

Am folosit o putere de 3V, deoarece aceasta este tensiunea nativă a Raspberry-ului.

wrclr: wire colorpi-pin: pin pe RPi3B + trnspin: pin pe transmițător

wrclr pi-pin trnspin -------- ----------- -------------- gri 01 putere V + violet 06 sol GND maro 11 BCM17 Date 1 roșu 13 BCM27 Date 0

Telecomanda / receptorul este alimentat cu un transformator micro-USB vechi. Am folosit o priză USB, astfel încât să pot folosi orice bancă de alimentare, dacă ar vrea să o folosesc fără fir într-o zi.

Pasul 5: Cod

Cel mai simplu cod de validare: (sursă)

import RPi. GPIO ca GPIOimport timp GPIO.setmode (GPIO. BCM) GPIO.setwarnings (Fals) GPIO.setup (27, GPIO. OUT) tipărește "LED pe" GPIO.output (27, GPIO. HIGH) time.sleep (1) tipăriți „LED-ul oprit” GPIO.output (27, GPIO. LOW)

a executa: python pintst.py