Mündəricat:

Raspberry Pi + Xbee RC Transmitteri: 5 addım
Raspberry Pi + Xbee RC Transmitteri: 5 addım

Video: Raspberry Pi + Xbee RC Transmitteri: 5 addım

Video: Raspberry Pi + Xbee RC Transmitteri: 5 addım
Video: Custom Xbee remote with Raspberry Pi 2024, Iyul
Anonim
Raspberry Pi + Xbee RC Verici
Raspberry Pi + Xbee RC Verici

Bu təlimat sizə öz Raspberry Pi Zero + Xbee RC vericisini yaratmaq üçün nə etdiyimi göstərəcək.

Addım 1: Raspberry PI və Xbee RC Transmitter

Addım 2: Raspberry Pi UART -ı konfiqurasiya edin

Salam!

Raspberry Pi (bütün varyasyonlar) son dərəcə çox yönlüdür və indi bu cihazları GERÇƏK lazımlı hala gətirən bir çox asan lehimləmə əlavələrinin ekosisteminin təməl daşıdır. Təəssüf ki, Raspberry Pi -nin çatışmadığı bir şey (hazırda) XBee (ZigBee) radioları üçün bir açılış taxtası və ya açar teslim GPIO interfeysidir. XBee cihazları, çoxlu ölçü kəsmə və dilimləmə protokolları və ya məlumat formatları olmayan bütün növ cihazlar arasında ünsiyyət qurmağın və USB cihazlarını birləşdirməyi və məlumatlarını digər uzaq cihazlara göndərməyi çox asanlaşdıran əla bir yoldur. Başlamaq üçün Raspberry Pi -nin istənilən versiyasından başlayın. Bu Təlimat kitabında bir Raspberry Pi sıfırından istifadə etdim və bu təlimatı istifadə edərək UART -ı sərbəst buraxmaq üçün serial konsolunu konfiqurasiya etdim.

Addım 3: Oyun Nəzarətçisinin Dəyərlərini Oxumaq üçün Python Script Yazın

Python kodunun bu hissəsi oyun nəzarətçisinin qaldırdığı hadisələrə reaksiya verir və hadisəni yüksəldən nəzarətdəki girişin dəyərini ötürür. Bu kod, məlumatları XBee radiolarında təyin olunan baud dərəcəsi qədər sürətli göndərəcək. Bu nümunədə radiolar 57600 -ə təyin edilmişdir, lakin ən yüksək baud sürətinə təyin edilə bilər. Oyun nəzarətçisi Logitech USB oyun nəzarətçisidir. İstifadə olunan kod aşağıda verilmişdir:

pygame idxal edin

idxal serialı

sOut = ""

ser = serial. Serial {

port = '/dev/ttyAMA0', baudrate = 57600, paritet = serial. PARITY_NONE, stopbits = serial. STOPBITS_ONE, bayt ölçüsü = serial. EIGHTBITS, zaman aşımı = 1

}

pygame.init ()

tamamlandı = Yanlış

tamamlandıqda == yalan:

joystick = pygame.joystick.joystick (0)

joystick.init ()

#ƏMƏLİYYƏT

pygame.event.get () hadisəsi üçün:

əgər event.type == pygame. JOYAXISMOTION:

sOut = "Eksen:" + str (hadisə.axis) + "; Dəyər:" + str (hadisə.dəyəri)

çap (çıx)

ser.write (sOut)

ser.flush ()

çıxdı = ""

əgər event.type == pygame. JOYHATMOTION:

sOut = "Şapka: + str (event.hat) +"; Dəyər: " + str (event.value)

çap (çıx)

ser.write (sOut)

ser.flush ()

sOut = ""

əgər event.type == pygame. JOYBUTTONDOWN:

sOut = "Aşağı Düymə:" + str (hadisə.button)

çap (çıx)

ser.write (sOut)

ser.flush ()

sOut = ""

əgər hadisə.button == 8:

çap ("Çıxış")

tamamlandı = Doğru

əgər event.type == pygame. JOYBUTTONUP:

sOut = "Düymə Yuxarı:" + str (hadisə.button)

çap (çıx)

ser.write (sOut)

ser.flush ()

sOut = ""

ser.close ()

pygame.quit ()

Addım 4: Nəticə

Bunun son quruluşu, XBee və Logitech oyun nəzarətçisini gücləndirən Raspberry Pi -ni gücləndirmək üçün köməkçi telefon batareyasından istifadə edir. Gələcək bir layihədə, Raspberry PI Zero, XBee Radio və enerji təchizatını əhatə edəcək, hamısı oyun nəzarətçisinə bir gözəl, səliqəli bir dəstə bağlayacaq vakuumlu plastik bir qapaq əlavə edəcəyəm. Bu RC ötürücü quruluşu, nəzarət məlumatlarının demək olar ki, hər şeyə göndərilməsini çox asanlaşdırır. Növbəti quruluşumda, məlumatları Yaxşı Niyyətdən xilas etdiyim bir hexapod robotuna göndərəcəyəm. Ümid edirəm bu təlimatı faydalı tapacaqsınız. Xoşbəxt Bina!

Addım 5: Raspberry Pi Zero -nu XBee Radio -ya bağlayın

Raspberry Pi Zero -nu XBee Radio -ya bağlayın
Raspberry Pi Zero -nu XBee Radio -ya bağlayın

Diaqramda göstərildiyi kimi, Pi GPIO pin 1 -i (3.3v) XBee pin 1 -ə qoşun. Pi GPIO pin 6 (Gnd) -i XBee pin 10 -a və Pi GPIO Pin 8 (TX) -i XBee pin 3 -ə (Din) qoşun.. Pi GPIO pin 2 -ni (5v) kəsmə lövhəsindəki 5v pininə bağlamanızı tələb edən bir XBee qırılma lövhəsindən də istifadə edə bilərsiniz.

Tövsiyə: