Բովանդակություն:

Raspberry Pi + Xbee RC հաղորդիչ ՝ 5 քայլ
Raspberry Pi + Xbee RC հաղորդիչ ՝ 5 քայլ

Video: Raspberry Pi + Xbee RC հաղորդիչ ՝ 5 քայլ

Video: Raspberry Pi + Xbee RC հաղորդիչ ՝ 5 քայլ
Video: Custom Xbee remote with Raspberry Pi 2024, Նոյեմբեր
Anonim
Raspberry Pi + Xbee RC հաղորդիչ
Raspberry Pi + Xbee RC հաղորդիչ

Այս ուսանելիը ցույց կտա ձեզ, թե ինչ եմ ես արել ՝ ստեղծելու իմ սեփական 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 ռադիոյին

Միացրեք Raspberry Pi Zero- ը XBee ռադիոյին
Միացրեք 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 փինին

Խորհուրդ ենք տալիս: