Мазмұны:

Raspberry Pi + Xbee RC таратқышы: 5 қадам
Raspberry Pi + Xbee RC таратқышы: 5 қадам

Бейне: Raspberry Pi + Xbee RC таратқышы: 5 қадам

Бейне: Raspberry Pi + Xbee RC таратқышы: 5 қадам
Бейне: Custom Xbee remote with Raspberry Pi 2024, Шілде
Anonim
Raspberry Pi + Xbee RC таратқышы
Raspberry Pi + Xbee RC таратқышы

Бұл нұсқаулық сізге 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 радиосына қосыңыз

Raspberry Pi Zero XBee радиосына қосыңыз
Raspberry Pi Zero XBee радиосына қосыңыз

Диаграммада көрсетілгендей, Pi GPIO түйреуішін 1 (3.3v) XBee түйреуішіне 1 жалғаңыз.. Сіз сондай -ақ Pi GPIO pin 2 (5v) үзіліс тақтасындағы 5в істікшеге қосуды талап ететін XBee ажырату тақтасын пайдалана аласыз.

Ұсынылған: