🍓การสื่อสารผ่านพอร์ตซีเรียลของ Raspberry Pi
หุ่นยนต์ไม่ต้องการ PI เพื่อเคลื่อนไหว
คุณต้องถอดปลั๊ก USB Adpter 6 พินสำหรับ NYBoard ก่อนที่จะติดตั้ง PI ไปยังบอร์ด
คุณสามารถประสานซ็อกเก็ต 2x5 บน Nyboard เพื่อเสียบ Raspberry Pi PI 3A+ เป็นแบบที่ดีที่สุดสำหรับ มิติของ Nyboard
Nybble

Bittle
หลังจากที่คุณประสานบนซ็อกเก็ต คุณจะไม่สามารถติดตั้งฝาหลังด้านหลังของ Bittle ได้

ชิ้นส่วนสีแดง Pi standoff สามารถใช้ 3D print ได้

ดังที่แสดงใน serial protocol แสดงว่าอาร์ดูโนไอดีเอสเป็นตัวกลางที่รองรับโทเค็นทั้งหมดที่ถูกเข้ารหัสเป็นตัวอักษร ASCII char string เพื่อให้มนุษย์สามารถอ่านได้ ในขณะที่คอมพิวเตอร์หลัก (เช่น RasPi) รองรับคำสั่งเพิ่มเติมที่เข้ารหัสเป็น binary string เพื่อให้การเข้ารหัสมีประสิทธิภาพมากขึ้น ตัวอย่างเช่น เมื่อเข้ารหัสมุม 65 องศา:
Ascii: ใช้ 2 ไบต์เพื่อเก็บอักขระ Ascii '6' และ '5'
Binary: ใช้ 1 byte เพื่อจัดเก็บค่า 65 ซึ่งเปรียบเสมือนกับตัวอักษร Ascii 'A'
แน่นอนว่าการเข้ารหัสแบบไบนารีจะมีประสิทธิภาพมากกว่าการเข้ารหัสแบบสตริง Ascii อย่างไรก็ตาม ข้อความที่ถูกส่งไปจะไม่สามารถอ่านได้โดยตรงโดยมนุษย์ ใน OpenCat repository ฉันได้ใส่สคริปต์ Python ที่เรียกว่า ardSerial.py ที่สามารถจัดการการสื่อสารซีเรียลระหว่าง NyBoard และ Pi ได้ง่ายดาย
1. Config Raspberry Pi serial port
In Pi's terminal, type sudo raspi-config
ในตัวเลือก Interface ให้ค้นหา Serial แล้วปิดการเข้าสู่ระบบ shell ผ่านทางซีเรียลและเปิดใช้งานอินเทอร์เฟซซีเรียลเพื่อใช้พอร์ต UART หลัก:
Run raspi-config with sudo privilege:
sudo raspi-config
.Find Interface Options -> Serial Port.
At the option
Would you like a login shell to be accessible over serial?
select 'No'.At the option
Would you like the serial port hardware to be enabled?
select 'Yes'.Exit raspi-config and reboot for changes to take effect.
You also need to DISABLE the 1-wire interface of Pi to avoid repeating reset signals sent by Pi's GPIO 4.
ถ้าคุณเชื่อมต่อ Pi เข้ากับช่อง 2x5 ของ NyBoard แล้ว พอร์ตซีเรียลของพวกเขาควรจะเชื่อมต่อโดยอัตโนมัติที่แรงดัน 3.3V อย่างไรก็ตามหากไม่ได้เชื่อมต่อแบบนี้ คุณควรใช้หลอดสายขนาดเล็กเพื่อเชื่อมต่อ Rx และ Tx ของชิป AI ของคุณกับ Tx และ Rx ของ NyBoard โดยให้แรงดันตรงกัน
2. Change the permission of ardSerial.py
ถ้าคุณต้องการรันโปรแกรมเป็นคำสั่ง bash คุณต้องทำให้โปรแกรมสามารถรันได้:
chmod +x ardSerial.py
คุณอาจจะต้องเปลี่ยน path ที่ถูกต้องของ Python binary บนบรรทัดแรก:
#!/user/bin/python
3. Use ardSerial.py as the commander of robot
NyBoard มีพอร์ตซีเรียลเดียวเท่านั้น หากต้องการควบคุม Bittle ด้วยพอร์ตซีเรียลของ Raspberry Pi คุณจะต้องถอดอะแดปเตอร์ USB ออกก่อน
พิมพ์ ./ardSerial.py <args>
เทียบเท่ากับการพิมพ์ ใน Arduino's serial monitor โดยตัวอย่างเช่น ./ardSerial.py kcrF หมายความว่า "ทำการเคลื่อนที่ด้วยทักษะคลานไปข้างหน้า".
การทำงานของ ardSerial.py และการแยกวิเคราะห์ใน OpenCat.ino ต้องการการปรับปรุงเพิ่มเติมเพื่อรองรับคำสั่งซีเรียลทั้งหมดในโปรโตคอล
For Nybble:
การเชื่อมต่อกับ Pi อาจทำให้ความสามารถในการเคลื่อนไหวลดลง! จำเป็นต้องใช้แบตเตอรี่ที่มีกำลังมากขึ้น
เมื่อเชื่อมต่อกับ Pi แล้ว Nybble อาจจะมีความสามารถในการเคลื่อนไหวที่ลดลง โดยเฉพาะการเคลื่อนไหวที่มีความเข้มข้น เช่นการเดินเหยียบ (โทเคน isktr) ระบบจะถูกจ่ายไฟด้วยแบตเตอรี่ 14500 สองเลเยอร์ คุณอาจจะคิดหาวิธีการจ่ายไฟที่ดีกว่า เช่น การใช้แบตเตอรี่ 7.4 ลิโพแบตเตอรี่สูงสุด หรือ 2S-18650 มีมากมายข้อควรพิจารณาในการร่วมมือซอฟต์แวร์และฮาร์ดแวร์เพื่อให้ได้ประสิทธิภาพที่สมดุลกัน ด้วยตัวขนาดเล็กของ Nybble นั้น จะดีกว่าใช้เป็นแพลตฟอร์มสำหรับเริ่มต้นกรอบการสื่อสารและต้นไม้พฤติกรรมมากกว่าเป็นสัตว์แข่งขัน
Last updated
Was this helpful?