İçindekiler:

Uzak Göstergeler: 5 Adım
Uzak Göstergeler: 5 Adım

Video: Uzak Göstergeler: 5 Adım

Video: Uzak Göstergeler: 5 Adım
Video: Kadınların Verdiği 5 Flört Sinyali 2024, Kasım
Anonim
Uzaktan Göstergeler
Uzaktan Göstergeler

Alexa becerileriyle ilgili çalışmalarım için basit (daha fazla karmaşıklık eklemeyin) bir geri bildirim cihazına ihtiyacım vardı; görsel ve işitsel.

Ayrıca, CPU'm "kablo dolabımda" ve çıktının belirgin bir yerde, ancak başka türlü göze batmayan bir yerde olmasına ihtiyacım vardı.

Müzikli bir tebrik kartının cesaretini uyandıran bir RF uzaktan kumandaya karar verdim. Bunu, üzerine serdiğim küçük bir akrilik kutuya yerleştirdim ve vericiyi RPi3B+ cihazımın kasasına ekledim.

RPI3B+ üzerindeki basit açma/kapama komutları, zar zor algılanabilen bir iletim gecikmesiyle ışıkları ve sesleri başlatır.

Adım 1: Pinout'lar

Pinout'lar
Pinout'lar
Pinout'lar
Pinout'lar

Bu resimler satıcının Amazon sayfasından alınmıştır (yukarıdaki bağlantı). Referans için sadece bir kolaylık kopyası.

Not: orijinal görüntü yanlış etiketlenmiş; Güncellemeler ekliyorum (yeşil renkte).(Bu, Amazon sayfasının yorumlar bölümünde doğrulanır)

2. Adım: Prototip

Prototip
Prototip
Prototip
Prototip

Vericiyi ve alıcıyı ayırmak için devre tahtasının her bir yarısını kullanma. 3.7v (4.25v'ye şarj edilmiş) pillerle çalışır.

Bu sadece pin çıkışlarının bir uygulaması olduğu için şematik bir diyagram oluşturmadım.

Test için 3.3K dirençli seri olarak bir LED ekledim.

Test etmek için kontrol pimini (burada beyaz kablo) toprağa bağlamanız yeterlidir. Aktivasyon LED'leri (kırmızı) hem verici hem de alıcı üzerinde yanıyor ve 'yük' LED'im kapanıyor. (resimde)

3. Adım: Araya Girin

Bazen verici ve alıcı doğru şekilde eşleştirilmez veya varsayılan davranışı değiştirmek isteyebilirsiniz.

Bu cihazlar için satıcının talimatlarını buraya ekliyorum:

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

Pin Talimatı

Alıcı

  • GND: toprak veya negatif kutup
  • +V: DC3.3~5V giriş
  • D0-3: Veri çıkışı
  • VT: Çıkış (herhangi bir veri hattı azaldığında/alındığında bu hat düşer)

Verici ve alıcı nasıl eşleştirilir

  1. Mevcut verileri silin: Öğrenme düğmesine (alıcıdaki) 8 kez basın. Yanıt: LED 7 kez yanıp söner.
  2. Uzaktan kodu öğrenme: öğrenme düğmesine (alıcıdaki) bir, iki veya üç kez basın (aşağıya bakın). LED yanar: öğrenme modu etkin.
  3. Uzaktan kumandanın herhangi bir düğmesine basın. LED göstergesi üç kez yanıp söner: öğrenme başarıyla tamamlandı.
  4. Test: Yukarıdaki işlemden sonra, alıcı kartı uzaktan kumanda ile kontrol edilebilir.

Adım 2'den başlayarak, farklı ID'lere sahip daha fazla verici öğrenilebilir ve ek olarak saklanabilir. Farklı modların bir karışımı mümkündür.

Düğme kullanımı (modu ayarlar ve eşleştirme işlemini başlatır):

  • Bir kez basın: Inching modu (Anlık Mod)
  • İki kez basın: Kendini Kilitleme Modu (4 Kanalın Geçiş Modu)
  • Üç kez basın: kilitli mod (seçilen kanal aktif ve başka bir kanal aktif hale gelirse silinir) - aka radyo düğmeleri

4. Adım: Kurulum

Kurulum
Kurulum

Parçaları devre tahtasına bağlı oldukları gibi lehimledikten ve kısa devreleri önlemek için ısıyla büzüştürdükten sonra vericiyi RPi3B+'ya kurdum.(not: Henüz kullanmadığım çıkışlar için fazladan kablo ekledim)

Raspberry'nin doğal voltajı olduğu için 3v güç kullandım.(not: Mevcut şerit kabloyu kullanmak uygun olduğu için standart dışı kablo renkleri kullandım)

wrclr: tel colorpi-pin: RPi3B+trnspin üzerindeki pin: vericideki pin

wrclr pi-pin trnspin-------- ----------- -------------- gri 01 güç V+ mor 06 toprak GND kahverengi 11 BCM17 Veri 1 kırmızı 13 BCM27 Veri 0

Uzak/alıcı, eski bir mikro-USB dönüştürücü ile çalışır. Bir gün kablosuz olmasını istersem herhangi bir güç bankasını kullanabilmek için bir USB soketi kullandım.

Adım 5: Kod

Doğrulama için en basit kod:(kaynak)

RPi. GPIO'yu GPIO olarak içe aktar GPIO.setmode(GPIO. BCM) GPIO.setwarnings(False) GPIO.setup(27, GPIO. OUT) "LED açık" yazdır GPIO.output(27, GPIO. HIGH) time.sleep(1) "LED kapalı" GPIO.output(27, GPIO. LOW) yazdırın

yürütmek için: python pintst.py

Önerilen: