Мазмұны:
- 1 -қадам: Raspberry PI және Xbee RC таратқышы
- 2 -қадам: Raspberry Pi UART конфигурациясын жасаңыз
- 3 -қадам: Ойын контроллерінің мәндерін оқу үшін Python сценарийін жазыңыз
- 4 -қадам: Қорытынды
- 5 -қадам: Raspberry Pi Zero XBee радиосына қосыңыз
Бейне: Raspberry Pi + Xbee RC таратқышы: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Бұл нұсқаулық сізге Raspberry Pi Zero + Xbee RC таратқышын жасау үшін не істегенімді көрсетеді.
1 -қадам: Raspberry PI және Xbee RC таратқышы
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', жылдамдық = 57600, паритет = сериялық. PARITY_NONE, stopbits = serial. STOPBITS_ONE, байт өлшемі = сериялық. EIGHTBITS, күту уақыты = 1
}
pygame.init ()
жасалды = жалған
орындалған кезде == жалған:
джойстик = pygame.joystick.joystick (0)
joystick.init ()
#EVENT ӨҢДЕУ
pygame.event.get () ішіндегі оқиға үшін:
егер event.type == pygame. JOYAXISMOTION:
sOut = «Ось:» + str (оқиға.аксис) + «; Мән:» + str (оқиға.мән)
басып шығару (өшіру)
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 (оқиға.түйме)
басып шығару (өшіру)
ser.write (sOut)
ser.flush ()
sOut = «»
егер event.button == 8:
басып шығару («Шығу»)
жасалды = Дұрыс
егер event.type == pygame. JOYBUTTONUP:
sOut = «Түймені көтеру:» + str (оқиға.түйме)
басып шығару (өшіру)
ser.write (sOut)
ser.flush ()
sOut = «»
ser.close ()
pygame.quit ()
4 -қадам: Қорытынды
Бұл соңғы құрылғыда XBee мен Logitech ойын контроллерін қуаттайтын Raspberry Pi -ді қосу үшін қосымша телефон батареясын пайдаланады. Болашақ жобада мен Raspberry PI Zero, XBee Radio және қуат көзін қамтитын вакуумнан жасалған пластикалық қақпақты қосамын, олардың барлығы ойын контроллеріне бір жақсы жинақта салынған. RC таратқышының бұл құрылымы кез келген нәрсеге бақылау деректерін жіберуді өте жеңілдетеді. Келесі құрылыста мен деректерді ізгі ниеттен құтқарған алтыбұрышты роботқа жіберемін. Сізге бұл нұсқаулық пайдалы болды деп үміттенемін. Бақытты құрылыс!
5 -қадам: Raspberry Pi Zero XBee радиосына қосыңыз
Диаграммада көрсетілгендей, Pi GPIO түйреуішін 1 (3.3v) XBee түйреуішіне 1 жалғаңыз.. Сіз сондай -ақ Pi GPIO pin 2 (5v) үзіліс тақтасындағы 5в істікшеге қосуды талап ететін XBee ажырату тақтасын пайдалана аласыз.
Ұсынылған:
MicroPython кодын XBee 3: 18 қадамдарына қалай жүктеуге болады (суреттермен)
MicroPython кодын XBee 3 -ке қалай жүктеуге болады: MicroPython - XBee 3 сияқты микроконтроллерлерде жұмыс істейтін Python 3.0 -ден шабыттандырылған бағдарламалау тілі, MicroPython жеткізілім көлемін және жобаңыздың жалпы көлемін азайтуға көмектеседі және жұмысты әлдеқайда жеңілдетеді. . Дегенмен, мен