
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

Это руководство покажет вам, что я сделал для создания собственного RC-передатчика Raspberry Pi Zero + Xbee.
Шаг 1: Raspberry PI и передатчик Xbee RC
Шаг 2: Настройте Raspberry Pi UART
Привет!
Raspberry Pi (все варианты) чрезвычайно универсален и теперь является краеугольным камнем экосистемы множества простых в пайке надстроек, которые делают эти устройства ДЕЙСТВИТЕЛЬНО удобными. К сожалению, единственное, чего не хватает Raspberry Pi (в настоящее время), - это коммутационная плата или готовый интерфейс GPIO для радиостанций XBee (ZigBee). Устройства XBee - отличный способ связи между всеми типами устройств без большого количества протоколов или форматов данных, позволяющих легко интегрировать USB-устройства и отправлять их данные на другие удаленные устройства. Для начала начнем с любой версии Raspberry Pi. В этом руководстве я использовал ноль Raspberry Pi и настроил последовательную консоль, чтобы освободить UART с помощью этого руководства.
Шаг 3. Напишите скрипт Python для чтения значений игрового контроллера
Этот фрагмент кода Python реагирует на события, вызванные игровым контроллером, и передает значение ввода в элемент управления, который вызвал событие. Этот код будет отправлять данные со скоростью, установленной на радиостанциях XBee. В этом примере радиомодули установлены на 57600, но могут быть установлены на их максимальную скорость передачи данных. Игровой контроллер представляет собой игровой USB-контроллер Logitech. Используемый код приведен ниже:
импортировать pygame
импортный серийный номер
sOut = ""
ser = serial. Serial {
порт = '/ dev / ttyAMA0', скорость передачи = 57600, четность = серийный. PARITY_NONE, stopbits = serial. STOPBITS_ONE, bytesize = serial. EIGHTBITS, тайм-аут = 1
}
pygame.init ()
done = Ложь
пока сделано == false:
джойстик = pygame.joystick.joystick (0)
joystick.init ()
# ОБРАБОТКА СОБЫТИЙ
для события в pygame.event.get ():
если event.type == pygame. JOYAXISMOTION:
sOut = "Axis:" + str (event.axis) + "; Значение:" + str (event.value)
печать (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
если event.type == pygame. JOYHATMOTION:
sOut = "Hat: + str (event.hat) +"; Значение: "+ str (event.value)
печать (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
если event.type == pygame. JOYBUTTONDOWN:
sOut = "Кнопка вниз:" + str (event.button)
печать (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
если event.button == 8:
print ("Выход")
done = True
если event.type == pygame. JOYBUTTONUP:
sOut = "Кнопка вверх:" + str (event.button)
печать (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
ser.close ()
pygame.quit ()
Шаг 4: Заключение
В последней сборке для питания Raspberry Pi используется вспомогательный аккумулятор телефона, который питает игровой контроллер XBee и Logitech. В одном из будущих проектов я добавлю пластиковую крышку вакуумного формования, в которую будут заключены Raspberry PI Zero, XBee Radio и блок питания, все они прикреплены к игровому контроллеру в одной красивой аккуратной связке. Эта конструкция RC-передатчика позволяет очень легко отправлять управляющие данные практически во что угодно. В моей следующей сборке я отправлю данные роботу-гексаподу, которого я спас от Goodwill. Надеюсь, вы найдете это поучительное полезным. Счастливое здание!
Шаг 5: Подключите Raspberry Pi Zero к XBee Radio

Как показано на схеме, подключите контакт 1 Pi GPIO (3,3 В) к контакту 1 XBee. Подключите контакт 6 GPIO Pi (Gnd) к контакту 10 XBee, а контакт 8 Pi GPIO (TX) к контакту 3 XBee (Din).. Вы также можете использовать коммутационную плату XBee, для которой потребуется подключить вывод Pi GPIO 2 (5 В) к выводу 5 В на коммутационной плате.
Рекомендуемые:
Как загрузить код MicroPython на XBee 3:18 шагов (с изображениями)

Как загрузить код MicroPython на XBee 3: MicroPython - это язык программирования, вдохновленный Python 3.0, который работает на микроконтроллерах, таких как XBee 3. MicroPython может помочь уменьшить количество материалов и общую громоздкость вашего проекта, а также значительно упростить задачу. . Однако я