การสื่อสารระหว่าง Arduino เเละ Raspberry Pi ด้วย Serial Port

Part : Serial Communication of Arduino & Raspberry Pi
เนื่องจากการเชื่อมต่อของทั้ง 2 อุปกรณ์เป็นเเบบ Serial ดังนั้น จำเป้นต้องมีอุปกรณ์เเละซอร์ฟเเวร์ดังนี้

  • Arduino 
  • Raspberry Pi
  • USB cable
  • Python on RPi OS 
  • Pyserial  
การติดตั้ง Python บน RPi ทำได้โดยการใช้คำสั่ง 

  • sudo apt-get install python-dev
หลังจากนั้นเพื่อการสื่อสารเเบบ Serial ใน Python ต้องมีการติดต่อ Library  ที่ชื่อ Pyserial
โดยใช้คำสั่ง  
  • sudo apt-get install python-serial 
จากนั้นลองเขียนโปรเเกรม Serial อย่างง่ายของ Arduino เช่น
1void setup(){
2  Serial.begin(9600);
3}
4
5void loop(){
6  Serial.println("Hello Pi");
7  delay(2000);
8}
โปรเเกรมด้านบนจะทำหน้าที่ส่ง String "Hello Pi" ผ่าน Serial port ทุก 2 วินาที เพื่อเตรียมการสื่อสารกับ RPi
จากนั้นทำการ Load code ลง Arduino ให้เรียบร้อยเเล้วนำสายเชื่อมต่อระกว่าง Arduino เเละ RPi ดังภาพ

การเชื่อต่อระหว่าง  RPi เเละ Arduino

จากนั้นทำให้การเขียน Code python ใน RPi เพื่อทำการรับค่าจาก Arduino 

import serial
ser = serial.Serial('/dev/ttyACM0', 9600)  
โดยที่ ttyACM'0 คือ port usb ที่เชื่อต่อกับ RPi สามารถเรียกดูได้ตมคำสั่ง
ls /dev/tty*
เเละรับค่า Serial จาก Arduino ได้ด้วยคำสั่งนี้ 
while 1 :
    ser.readline()
เเละโดยที่ ser.write("Hello Arduino") เป็นคำสั่งที่ส่งค่าจาก RPi ไปยัง Arduino

No comments:

Post a Comment