Мазмуну:
- 1 -кадам: Raspberry PI жана Xbee RC Transmitter
- 2 -кадам: Raspberry Pi UARTти конфигурациялаңыз
- 3 -кадам: Оюн контроллеринин маанилерин окуу үчүн Python скриптин жазыңыз
- 4 -кадам: Жыйынтык
- 5 -кадам: Raspberry Pi Zero XBee радиосуна туташтырыңыз
Video: Raspberry Pi + Xbee RC Transmitter: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Бул көрсөтмө сизге Raspberry Pi Zero + Xbee RC өткөргүчүмдү түзүү үчүн эмне кылганымды көрсөтөт.
1 -кадам: Raspberry PI жана Xbee RC Transmitter
2 -кадам: Raspberry Pi UARTти конфигурациялаңыз
Эй!
Raspberry Pi (бардык вариациялар) өтө ар тараптуу жана азыр бул түзмөктөрдү чындап эле ыңгайлуу кылган көптөгөн оңой кошулмалар экосистемасынын негизи болуп саналат. Тилекке каршы, Raspberry Pi'де жок болуп жаткан нерсе (азыркы учурда) - бул XBee (ZigBee) радиолору үчүн үзүлүүчү такта же ачкычтуу GPIO интерфейси. XBee түзмөктөрү ар кандай түзмөктөрдүн ортосунда протоколдорду же маалымат форматтарын кеспей туруп, баарлашуунун эң сонун жолу жана USB түзмөктөрүн интеграциялоону жана алардын маалыматын башка алыскы түзмөктөргө жөнөтүүнү абдан оңой кылат. Баштоо үчүн, Raspberry Piнин каалаган версиясынан баштаңыз. Бул Нускамада мен Raspberry Pi нөлүн колдондум жана UARTди ушул Нускаманы колдонуу менен бошотуу үчүн сериялык консолун конфигурацияладым.
3 -кадам: Оюн контроллеринин маанилерин окуу үчүн Python скриптин жазыңыз
Python кодунун бул бөлүгү оюн контролери көтөргөн окуяларга жооп берет жана окуяны көтөргөн башкаруудагы киргизүүнүн маанисин өткөрүп берет. Бул код XBee радиолорунда белгиленген ылдамдыктын ылдамдыгын маалыматтарды жөнөтөт. Бул мисалда радиолор 57600гө коюлган, бирок алардын эң жогорку өткөрүү ылдамдыгына коюлушу мүмкүн. Оюндун контролери - Logitech USB оюн контроллери. Колдонулган код төмөндө:
pygame импорттоо
серияны импорттоо
sOut = ""
ser = serial. Serial {
порт = '/dev/ttyAMA0', baudrate = 57600, паритет = сериялык. PARITY_NONE, stopbits = serial. STOPBITS_ONE, bytesize = serial. EIGHTBITS, күтүү убактысы = 1
}
pygame.init ()
жасалган = Жалган
бүткөндө == жалган:
джойстик = pygame.joystick.joystick (0)
joystick.init ()
#ЭВЕНДИ КАЙТАЛОО
pygame.event.get () окуясы үчүн:
эгер event.type == pygame. JOYAXISMOTION:
sOut = "Axis:" + str (event.axis) + "; Мааниси:" + str (event.value)
басып чыгаруу (Чыгуу)
ser.write (sOut)
ser.flush ()
sOut = ""
эгер event.type == pygame. JOYHATMOTION:
sOut = "Hat: + str (event.hat) +"; Мааниси: " + str (event.value)
басып чыгаруу (Чыгуу)
ser.write (sOut)
ser.flush ()
sOut = ""
эгер event.type == pygame. JOYBUTTONDOWN:
sOut = "Төмөнкү баскыч:" + str (event.button)
басып чыгаруу (Чыгуу)
ser.write (sOut)
ser.flush ()
sOut = ""
if event.button == 8:
басып чыгаруу ("Чыгуу")
жасалган = Чын
эгер event.type == pygame. JOYBUTTONUP:
sOut = "Up Button:" + str (event.button)
басып чыгаруу (Чыгуу)
ser.write (sOut)
ser.flush ()
sOut = ""
ser.close ()
pygame.quit ()
4 -кадам: Жыйынтык
Мунун акыркы курулушу XBee жана Logitech оюн контроллерин иштеткен Raspberry Pi'ди иштетүү үчүн көмөкчү телефон батареясын колдонот. Келечектеги долбоордо мен Raspberry PI Zero, XBee Radio жана электр менен камсыздоону камтыган вакуумдан турган пластикалык капкакты кошом. Бул RC өткөргүчүнүн түзүлүшү көзөмөлдөө маалыматын дээрлик бардык нерсеге жөнөтүүнү оңой кылат. Кийинки конструкциямда, маалыматтарды Гудвиллден куткарган алты бурчтуу роботко жөнөтөм. Бул пайдалуу көрсөтмө деп үмүттөнөбүз. Happy Building!
5 -кадам: Raspberry Pi Zero XBee радиосуна туташтырыңыз
Диаграммада көрүнүп тургандай, Pi GPIO pin 1 (3.3v) XBee pin 1 ге туташтырыңыз. Pi GPIO pin 6 (Gnd) XBee pin 10го жана Pi GPIO Pin 8 (TX) XBee pin 3 (Din) га туташтырыңыз.. Сиз ошондой эле Pi GPIO pin 2 (5v) үзүлүү тактасындагы 5v пинке туташууңузду талап кылган XBee сынык тактасын колдоно аласыз.
Сунушталууда:
XBee 3: 18 кадамдарына MicroPython кодун кантип түшүрүү керек (сүрөттөр менен)
MicroPython кодун XBee 3кө кантип жүктөө керек: MicroPython - XBee 3. сыяктуу микроконтроллерлерде иштеген Python 3.0дан шыктанган программалоо тили. MicroPython сиздин долбоордун жабдууларын жана жалпы көлөмүн азайтууга жардам берет жана иштерди бир топ жеңилдетет. . Бирок, мен