Բովանդակություն:
- Քայլ 1: Ազնվամորի PI և Xbee RC հաղորդիչ
- Քայլ 2. Կարգավորեք Raspberry Pi UART- ը
- Քայլ 3. Գրեք Python սցենար ՝ խաղերի վերահսկիչի արժեքները կարդալու համար
- Քայլ 4: Եզրակացություն
- Քայլ 5. Միացրեք Raspberry Pi Zero- ը XBee ռադիոյին
Video: Raspberry Pi + Xbee RC հաղորդիչ ՝ 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Այս ուսանելիը ցույց կտա ձեզ, թե ինչ եմ ես արել ՝ ստեղծելու իմ սեփական Raspberry Pi Zero + Xbee RC հաղորդիչը
Քայլ 1: Ազնվամորի PI և Xbee RC հաղորդիչ
Քայլ 2. Կարգավորեք Raspberry Pi UART- ը
Ողջույն!
Raspberry Pi- ն (բոլոր տատանումները) չափազանց բազմակողմանի են և այժմ հանդիսանում են շատ հեշտ զոդվող հավելումների էկոհամակարգի հիմնաքարը, որոնք այս սարքերը ԻՐԱԿԱՆ հարմար են դարձնում: Unfortunatelyավոք, Raspberry Pi- ի բացակայության միակ բանը (ներկայումս) XBee (ZigBee) ռադիոկայանների բեկումնային տախտակն է կամ ձեռքով պատրաստվող GPIO ինտերֆեյսը: XBee սարքերը հիանալի միջոց են բոլոր տեսակի սարքերի միջև հաղորդակցվելու համար ՝ առանց մեծ թվերի կտրման և կտրելու արձանագրություններ կամ տվյալների ձևաչափեր և շատ հեշտացնում են USB սարքերի ինտեգրումը և նրանց տվյալները այլ հեռավոր սարքեր ուղարկելը: Սկսելու համար սկսեք Raspberry Pi- ի ցանկացած տարբերակից: Այս Instructable- ում ես օգտագործեցի Raspberry Pi զրո և կազմաձևեցի սերիական վահանակը ՝ UART- ը ազատելու համար ՝ օգտագործելով այս Instructable- ը:
Քայլ 3. Գրեք Python սցենար ՝ խաղերի վերահսկիչի արժեքները կարդալու համար
Python կոդի այս հատվածն արձագանքում է խաղի վերահսկիչի կողմից բարձրացված իրադարձություններին և փոխանցում իրադարձության բարձրացման հսկողության մուտքի արժեքը: Այս ծածկագիրը տվյալներ կուղարկի այնքան արագ, որքան XBee ռադիոկայաններում սահմանված բաուդ արագությունը: Այս օրինակում ռադիոկայանները սահմանվում են 57600, բայց կարող են սահմանվել բաուդ ամենաբարձր արագության վրա: Խաղի վերահսկիչը Logitech USB խաղի վերահսկիչ է: Օգտագործված ծածկագիրը ստորև.
ներմուծել pygame
ներմուծել սերիալ
sOut = ""
սերիա = սերիալ: Սերիալ {
նավահանգիստ = '/dev/ttyAMA0', բաուդրատ = 57600, հավասարություն = սերիա. PARITY_NONE, կանգառներ = սերիական. STOPBITS_ONE, bytesize = սերիա. EIGHTBITS, ընդմիջում = 1
}
pygame.init ()
կատարված = Սխալ
կատարված == կեղծ:
joystick = pygame.joystick.joystick (0)
joystick.init ()
#ԱՎԵԼԻ ՄՇԱԿՈՄ
pygame.event.get () միջոցառման համար:
if event.type == pygame. JOYAXISMOTION:
sOut = "Axis:" + str (event.axis) + "; Value:" + str (event.value)
տպել (դուրս)
ser.write (sOut)
ser.flush ()
sOut = ""
if event.type == pygame. JOYHATMOTION:
sOut = Գլխարկ.
տպել (դուրս)
ser.write (sOut)
ser.flush ()
sOut = ""
if event.type == pygame. JOYBUTTONDOWN:
sOut = "Կոճակ ներքև." + փող (event.button)
տպել (դուրս)
ser.write (sOut)
ser.flush ()
sOut = ""
if event.button == 8:
տպել («Հրաժարվել»)
կատարված = Trueշմարիտ
եթե event.type == pygame. JOYBUTTONUP:
sOut = "Կոճակը վերև." + փող (event.button)
տպել (դուրս)
ser.write (sOut)
ser.flush ()
sOut = ""
ser.close ()
pygame.quit ()
Քայլ 4: Եզրակացություն
Դրա վերջնական կառուցումը օգտագործում է հեռախոսի օժանդակ մարտկոց ՝ Raspberry Pi- ին սնուցելու համար, որն ուժ է տալիս XBee և Logitech խաղերի վերահսկիչին: Հետագա նախագծում ես կավելացնեմ վակուումային պլաստմասե ծածկ, որը կփակվի Raspberry PI Zero- ով, XBee Radio- ով և էլեկտրամատակարարմամբ, որոնք բոլորը կցված են խաղի վերահսկիչին մեկ գեղեցիկ, կոկիկ փաթեթում: RC հաղորդիչի այս կառուցվածքը շատ հեշտ է դարձնում վերահսկողության տվյալները ուղարկել գրեթե ամեն ինչի: Իմ հաջորդ կառուցվածքում ես տվյալները կուղարկեմ hexapod ռոբոտին, որը ես փրկեցի Goodwill- ից: Հուսով եմ, որ այս ուսուցողականը օգտակար կգտնեք: Շնորհավոր շենք:
Քայլ 5. Միացրեք Raspberry Pi Zero- ը XBee ռադիոյին
Ինչպես ցույց է տրված դիագրամում, միացրեք Pi GPIO կապը 1 (3.3v) XBee կապին 1. Pi GPIO կապը 6 (Gnd) միացրեք XBee կապին 10, իսկ Pi GPIO Pin 8 (TX) - ը ՝ XBee կապ 3 (Din):. Կարող եք նաև օգտագործել XBee ճեղքման տախտակ, որը կպահանջի ձեզ Pi GPIO կապը 2 (5v) միացնել բեկման տախտակի 5v փինին
Խորհուրդ ենք տալիս:
Ինչպես ներբեռնել MicroPython Code Onto XBee 3:18 քայլ (նկարներով)
Ինչպես ներբեռնել MicroPython ծածկագիրը XBee 3. MicroPython- ը Python 3.0 -ից ներշնչված ծրագրավորման լեզու է, որն աշխատում է միկրոկոնտրոլերների վրա, օրինակ ՝ XBee 3. . Այնուամենայնիվ, ես խախտեցի