Мазмуну:

Raspberry Pi + Xbee RC Transmitter: 5 кадам
Raspberry Pi + Xbee RC Transmitter: 5 кадам

Video: Raspberry Pi + Xbee RC Transmitter: 5 кадам

Video: Raspberry Pi + Xbee RC Transmitter: 5 кадам
Video: Raspberry Pi Server Xbee Arduino - Xbee Setup 2024, Ноябрь
Anonim
Raspberry Pi + Xbee RC өткөргүч
Raspberry Pi + Xbee RC өткөргүч

Бул көрсөтмө сизге 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 радиосуна туташтырыңыз

Raspberry Pi Zero XBee радиосуна туташтырыңыз
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 сынык тактасын колдоно аласыз.

Сунушталууда: