สารบัญ:

Raspberry Pi + Xbee RC Transmitter: 5 ขั้นตอน
Raspberry Pi + Xbee RC Transmitter: 5 ขั้นตอน

วีดีโอ: Raspberry Pi + Xbee RC Transmitter: 5 ขั้นตอน

วีดีโอ: Raspberry Pi + Xbee RC Transmitter: 5 ขั้นตอน
วีดีโอ: XBee setup: XCTU + ubuntu 2024, กรกฎาคม
Anonim
Raspberry Pi + Xbee RC Transmitter
Raspberry Pi + Xbee RC Transmitter

คำแนะนำนี้จะแสดงให้คุณเห็นว่าฉันทำอะไรเพื่อสร้างเครื่องส่งสัญญาณ Raspberry Pi Zero + Xbee RC ของตัวเอง

ขั้นตอนที่ 1: Raspberry PI และ Xbee RC Transmitter

ขั้นตอนที่ 2: กำหนดค่า Raspberry Pi UART

สวัสดี!

Raspberry Pi (ทุกรูปแบบ) ใช้งานได้หลากหลายมาก และตอนนี้ได้กลายเป็นรากฐานที่สำคัญของระบบนิเวศของส่วนเสริมที่ง่ายต่อการบัดกรีจำนวนมาก ซึ่งทำให้อุปกรณ์เหล่านี้มีประโยชน์จริง ๆ น่าเสียดายที่สิ่งเดียวที่ Raspberry Pi หายไป (ปัจจุบัน) คือบอร์ดฝ่าวงล้อมหรืออินเทอร์เฟซ GPIO แบบเบ็ดเสร็จสำหรับวิทยุ XBee (ZigBee) อุปกรณ์ XBee เป็นวิธีที่ยอดเยี่ยมในการสื่อสารระหว่างอุปกรณ์ทุกประเภทโดยไม่ต้องใช้โปรโตคอลการแบ่งและการแบ่งส่วนข้อมูลหรือรูปแบบข้อมูลจำนวนมาก และทำให้ง่ายต่อการรวมอุปกรณ์ USB และส่งข้อมูลไปยังอุปกรณ์ระยะไกลอื่นๆ เริ่มต้นด้วย Raspberry Pi เวอร์ชันใดก็ได้ ในคำแนะนำนี้ฉันใช้ศูนย์ Raspberry Pi และกำหนดค่าคอนโซลอนุกรมเพื่อเพิ่ม UART โดยใช้คำแนะนำนี้

ขั้นตอนที่ 3: เขียนสคริปต์ Python เพื่ออ่านค่าตัวควบคุมเกม

โค้ด Python บิตนี้ตอบสนองต่อเหตุการณ์ที่ยกขึ้นโดยตัวควบคุมเกมและส่งค่าของอินพุตบนตัวควบคุมที่ยกเหตุการณ์ขึ้น รหัสนี้จะส่งข้อมูลให้เร็วที่สุดเท่าที่อัตราบอดที่ตั้งไว้ในวิทยุ XBee ในตัวอย่างนี้ วิทยุถูกตั้งค่าเป็น 57600 แต่สามารถตั้งค่าเป็นอัตราบอดสูงสุดได้ ตัวควบคุมเกมคือตัวควบคุมเกม Logitech USB รหัสที่ใช้อยู่ด้านล่าง:

นำเข้า pygame

นำเข้าซีเรียล

ออก = ""

ser=serial. Serial{

port='/dev/ttyAMA0', อัตรารับส่งข้อมูล=57600, parity=serial. PARITY_NONE, stopbits=serial. STOPBITS_ONE, bytesize=serial. EIGHTBITS, หมดเวลา=1

}

pygame.init()

เสร็จสิ้น = เท็จ

ในขณะที่ทำ==เท็จ:

จอยสติ๊ก=pygame.joystick.joystick(0)

จอยสติ๊ก.init()

#การประมวลผลเหตุการณ์

สำหรับเหตุการณ์ใน pygame.event.get():

ถ้า event.type==pygame. JOYAXISMOTION:

sOut="Axis:" + str(event.axis) + ";Value:" + str(event.value)

พิมพ์(sOut)

ser.write(sOut)

ser.flush()

ออก = ""

ถ้า event.type==pygame. JOYHATMOTION:

sOut="Hat: + str(event.hat) + ";Value:" + str(event.value)

พิมพ์(sOut)

ser.write(sOut)

ser.flush()

ออก = ""

ถ้า event.type==pygame. JOYBUTTONDOWN:

sOut="ปุ่มลง:" + str(event.button)

พิมพ์(sOut)

ser.write(sOut)

ser.flush()

ออก = ""

ถ้า event.button==8:

พิมพ์ ("เลิกใช้")

เสร็จสิ้น=จริง

ถ้า event.type==pygame. JOYBUTTONUP:

sOut="ปุ่มขึ้น:" + str(event.button)

พิมพ์(sOut)

ser.write(sOut)

ser.flush()

ออก = ""

ser.close()

pygame.quit()

ขั้นตอนที่ 4: บทสรุป

โครงสร้างสุดท้ายของสิ่งนี้ใช้แบตเตอรี่โทรศัพท์เสริมเพื่อจ่ายไฟให้กับ Raspberry Pi ซึ่งให้พลังงานแก่ตัวควบคุมเกม XBee และ Logitech ในโครงการในอนาคต ฉันจะเพิ่มฝาพลาสติกขึ้นรูปสูญญากาศที่จะใส่ Raspberry PI Zero, XBee Radio และพาวเวอร์ซัพพลาย ทั้งหมดที่แนบมากับตัวควบคุมเกมในชุดเดียวที่สวยงามและเรียบร้อย โครงสร้างเครื่องส่งสัญญาณ RC นี้ทำให้ง่ายต่อการส่งข้อมูลการควบคุมไปยังอะไรก็ได้ ในงานสร้างครั้งต่อไปของฉัน ฉันจะส่งข้อมูลไปยังหุ่นยนต์ hexapod ที่ฉันช่วยชีวิตจากค่าความนิยม หวังว่าคุณจะพบคำแนะนำที่เป็นประโยชน์นี้ สร้างความสุข!

ขั้นตอนที่ 5: ต่อ Raspberry Pi Zero เข้ากับ XBee Radio

ต่อ Raspberry Pi Zero เข้ากับ XBee Radio
ต่อ Raspberry Pi Zero เข้ากับ XBee Radio

ดังแสดงในแผนภาพ เชื่อมต่อ Pi GPIO pin 1 (3.3v) กับ XBee pin 1 เชื่อมต่อ Pi GPIO pin 6 (Gnd) กับ XBee pin 10 และ Pi GPIO Pin 8 (TX) กับ XBee pin 3 (Din). คุณสามารถใช้บอร์ดฝ่าวงล้อม XBee ซึ่งคุณจะต้องเชื่อมต่อ Pi GPIO pin 2 (5v) กับพิน 5v บนบอร์ดฝ่าวงล้อม

แนะนำ: