อุปกรณ์ที่ใช้
8. เพาเวอร์สวิตซ์สำหรับเปิดปิด
9. รางถ่าน 18650 3 ก้อน
10 . ถ่านชาร์จ 18650 Panasonic NCR18650B 3.7v 3400mAh จำนวน 3 ก้อน
9. รางถ่าน 18650 3 ก้อน
10 . ถ่านชาร์จ 18650 Panasonic NCR18650B 3.7v 3400mAh จำนวน 3 ก้อน
11. สกรูหัวกลม+น็อตตัวเมีย ขนาด 2.6 มม. ยาว 10 มม
12. Power Bank 20000 mAh USB Output DC 5V/2.1A
ขั้นตอนการทำงาน
1. การติดตั้ง Linux ให้กับ Raspberry โดยใช้ไฟล์ image
2. การใช้งาน GPIO ใน Raspberry Pi ด้วย Python
3. การประกอบหุ่นยนต์ Raspberry Pi
4. วิธีเปิดใช้งาน Remote Desktop ไปยัง Raspberry Pi
5. ทดสอบการเคลื่อนที่ของหุ่นยนต์ Raspberry Pi
6. โปรเจคหุ่นยนต์ Raspberry Pi ควบคุมด้วย Keyboard
6.1 เปิด เพาเวอร์สวิตซ์ จะมีไฟสีแดงติดที่ Motor Driver
6.2 เสียบสาย USB ของ Power Bank ต่อเข้ากับ 5V Micro USB ของบอร์ด Raspberry Pi
6.3 ที่คอมพิวเตอร์ PC ให้ทำการ Remote Desktop ไปยัง Raspberry Pi
ไปที่ Menu -> Programming -> Python 3 (IDLE)
โปรแกรม Python 3 (IDLE)
ไปที่ File -> New File
เขียนโค้ดดังนี้
# import curses and GPIO
import curses
import RPi.GPIO as GPIO
import time
#set GPIO numbering mode and define output pins
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11,GPIO.OUT)
GPIO.setup(13,GPIO.OUT)
GPIO.setup(35,GPIO.OUT)
GPIO.setup(37,GPIO.OUT)
# Get the curses window, turn off echoing of keyboard to screen, turn on
# instant (no waiting) key response, and use special values for cursor keys
screen = curses.initscr()
curses.noecho()
curses.cbreak()
screen.keypad(True)
try:
while True:
char = screen.getch()
if char == ord('q'):
break
elif char == curses.KEY_UP:
GPIO.output(11,True)
GPIO.output(13,False)
GPIO.output(35,True)
GPIO.output(37,False)
time.sleep(0.1)
GPIO.output(11,False)
GPIO.output(13,False)
GPIO.output(35,False)
GPIO.output(37,False)
elif char == curses.KEY_DOWN:
GPIO.output(11,False)
GPIO.output(13,True)
GPIO.output(35,False)
GPIO.output(37,True)
time.sleep(0.1)
GPIO.output(11,False)
GPIO.output(13,False)
GPIO.output(35,False)
GPIO.output(37,False)
elif char == curses.KEY_RIGHT:
GPIO.output(11,False)
GPIO.output(13,False)
GPIO.output(35,True)
GPIO.output(37,False)
time.sleep(0.3)
GPIO.output(11,False)
GPIO.output(13,False)
GPIO.output(35,False)
GPIO.output(37,False)
elif char == curses.KEY_LEFT:
GPIO.output(11,True)
GPIO.output(13,False)
GPIO.output(35,False)
GPIO.output(37,False)
time.sleep(0.3)
GPIO.output(11,False)
GPIO.output(13,False)
GPIO.output(35,False)
GPIO.output(37,False)
finally:
#Close down curses properly, inc turn echo back on!
curses.nocbreak(); screen.keypad(0); curses.echo()
curses.endwin()
GPIO.cleanup()
หรือ ดาวน์โหลด ไฟล์: https://drive.google.com/open?id=1PmUG6vhFX8uyu2ihBA7Dm1BqTuwWrzsW
ไปที่ File -> Save ตั้งชื่อไฟล์ ในตัวอย่างเป็น keyboard_robot แล้ว คลิก Save
แล้วปิดโปรแกรมลงไป
ทดสอบการทำงานของโปรแกรม
เนื่องจากโค้ดที่เขียนด้านบนเป็นโค้ดในเวอร์ชั่น Python 2 แต่ เราใช้ IDLE เป็น Python 3 ในการทดสอบต้องใช้ คำสั่งคอมมานไลน์ (Command Line) แทน โดยมีขั้นตอนดังนี้
เปิดโปรแกรม เทอมินอล (Root Terminal)
sudo python keyboard_robot.py
-> กด Enter
ทดสอบควบคุมหุ่นยนต์ โดย
กดลูกศรขึ้นบน หุ่นยนต์จะเดินหน้า , กดลูกศรลงล่าง หุ่นยนต์จะถอยหลัง
กดลูกศรไปทางซ้าย หุ่นยนต์จะเลี้ยวซ้าย , กดลูกศรไปทางขวา หุ่นยนต์จะเลี้ยวขวา
กด q ถ้าต้องการออกจากโปรแกรม (ให้ทำทุกครั้งที่ต้องการออกจากโปรแกรม)
วีดีโอผลลัพธ์การทำงานของโปรแกรม (หุ่นยนต์ Raspberry Pi ควบคุมด้วย PC Keyboard)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น