İçindekiler:
- Adım 1: Raspberry PI ve Xbee RC Verici
- 2. Adım: Raspberry Pi UART'ı yapılandırın
- Adım 3: Game Controller Değerlerini Okumak İçin Bir Python Komut Dosyası Yazın
- 4. Adım: Sonuç
- Adım 5: Raspberry Pi Zero'yu XBee Radyosuna bağlayın
Video: Raspberry Pi + Xbee RC Verici: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Bu talimat size kendi Raspberry Pi Zero + Xbee RC vericimi oluşturmak için ne yaptığımı gösterecek.
Adım 1: Raspberry PI ve Xbee RC Verici
2. Adım: Raspberry Pi UART'ı yapılandırın
Selam!
Raspberry Pi (tüm varyasyonlar) son derece çok yönlüdür ve artık bu cihazları GERÇEKTEN kullanışlı hale getiren, lehimlenmesi kolay birçok eklentiden oluşan bir ekosistemin temel taşıdır. Ne yazık ki, Raspberry Pi'nin (şu anda) eksik olduğu tek şey, XBee (ZigBee) telsizleri için bir devre kartı veya anahtar teslimi GPIO arabirimidir. XBee cihazları, çok fazla parçalama ve dilimleme protokolü veya veri formatı olmadan her türlü cihaz arasında iletişim kurmanın harika bir yoludur ve USB cihazlarını entegre etmeyi ve verilerini diğer uzak cihazlara göndermeyi çok kolaylaştırır. Başlamak için Raspberry Pi'nin herhangi bir sürümüyle başlayın. Bu Eğitilebilir Dosyada bir Ahududu Pi sıfır kullandım ve bu Eğitilebilir Dosyayı kullanarak UART'ı serbest bırakmak için seri konsolu yapılandırdım.
Adım 3: Game Controller Değerlerini Okumak İçin Bir Python Komut Dosyası Yazın
Python kodunun bu biti, oyun kumandası tarafından oluşturulan olaylara tepki verir ve olayı başlatan kontrol üzerindeki girdinin değerini iletir. Bu kod, verileri XBee telsizlerinde ayarlanan baud hızı kadar hızlı gönderir. Bu örnekte telsizler 57600'e ayarlanmıştır ancak en yüksek baud hızlarına da ayarlanabilir. Oyun kumandası bir Logitech USB oyun kumandasıdır. Kullanılan kod aşağıdadır:
pygame'i içe aktar
seriyi içe aktar
sOut=""
ser=seri. Seri{
bağlantı noktası='/dev/ttyAMA0', baud hızı=57600, parite=seri. PARITY_NONE, stopbits=seri. STOPBITS_ONE, bytesize=seri. EIGHTBITS, zaman aşımı=1
}
pygame.init()
bitti=Yanlış
yapılırken==yanlış:
joystick=pygame.joystick.joystick(0)
joystick.init()
#EVENT İŞLEME
pygame.event.get() içindeki olay için:
if event.type==pygame. JOYAXISMOTION:
sOut="Eksen:" + str(event.axis) + ";Değer:" + str(event.value)
yazdır(sOut)
ser.write(sOut)
ser.flush()
sOut=""
if event.type==pygame. JOYHATMOTION:
sOut="Şapka: + str(event.hat) + ";Değer:" + str(event.value)
yazdır(sOut)
ser.write(sOut)
ser.flush()
sOut=""
if event.type==pygame. JOYBUTTONDOWN:
sOut="Düğme Aşağı:" + str(event.button)
yazdır(sOut)
ser.write(sOut)
ser.flush()
sOut=""
if event.button==8:
print("Çıkış")
bitti=Doğru
if event.type==pygame. JOYBUTTONUP:
sOut="Düğme Yukarı:" + str(event.button)
yazdır(sOut)
ser.write(sOut)
ser.flush()
sOut=""
ser.kapat()
pygame.quit()
4. Adım: Sonuç
Bunun son yapısı, XBee ve Logitech oyun denetleyicisine güç sağlayan Raspberry Pi'ye güç sağlamak için yardımcı bir telefon pili kullanır. Gelecekteki bir projede, Raspberry PI Zero, XBee Radio ve güç kaynağını kaplayacak, tümü oyun kumandasına bağlı, güzel ve temiz bir pakette vakumla şekillendirilmiş bir plastik kapak ekleyeceğim. Bu RC verici yapısı, kontrol verilerini hemen hemen her şeye göndermeyi çok kolaylaştırır. Bir sonraki derlememde, verileri Goodwill'den kurtardığım bir hexapod robotuna göndereceğim. Umarım bu talimatı faydalı bulursunuz. Mutlu Bina!
Adım 5: Raspberry Pi Zero'yu XBee Radyosuna bağlayın
Şemada gösterildiği gibi, Pi GPIO pin 1'i (3.3v) XBee pin 1'e bağlayın. Pi GPIO pin 6'yı (Gnd) XBee pin 10'a ve Pi GPIO Pin 8'i (TX) XBee pin 3'e (Din) bağlayın.. Ayrıca, Pi GPIO pin 2'yi (5v) devre kartı üzerindeki 5v pinine bağlamanızı gerektiren bir XBee devre kartı da kullanabilirsiniz.
Önerilen:
MicroPython Kodu XBee 3'e Nasıl İndirilir 3: 18 Adım (Resimlerle)
MicroPython Kodu XBee 3'e Nasıl İndirilir: MicroPython, XBee 3 gibi mikro denetleyiciler üzerinde çalışan Python 3.0'dan ilham alan bir programlama dilidir. . Ancak, ben