樹莓派(python)與arduino串口通信的詳細步驟

樹莓派與arduino串口通信

第一步:先設置硬件串口分配給GPIO串口
輸入sudo raspi-config命令進入樹莓派系統配置界面,選擇第三個Interfacing Options

在這裡插入圖片描述

進去選擇Serial Port

在這裡插入圖片描述

然後選擇關閉串口登錄功能,打開硬件串口調試功能

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

修改配置文件

打開/boot/config.txt文件,輸入 sudo vim /boot/config.txt,在最後添加倆行:1、dtoverlay=pi3-miniuart-bt 2、force_turbo=1

然後重啟樹莓派,ls /dev -al查看串口

在這裡插入圖片描述

串口0對應ttyAMA0,串口1對應ttyS0,意味著此時硬件串口可以通過GPIO跟別人進行串口通信瞭。

第二步:編寫測試程序

樹莓派:

   import serial
   import time
  
   port = "/dev/ttyAMA0"
   ser = serial.Serial(port,115200,timeout=1)   # //打開串口,連接到Arduino上
   ser.flushInput() #   //清空輸入緩沖區
  
   while True:
           #ser.write("7".encode())
          ser.write("s".encode());
          size = ser.inWaiting() # 獲得緩沖區字符
 
          if size != 0:
            response = ser.read(size);
            print(response)
 
          time.sleep(3)

arduino:

void setup() 
{
    Serial.begin(115200);   //定義波特率

}
 
void loop()
{
  while(Serial.available()>0){
        char teststring = Serial.read();

         Serial.println(teststring);
         
         if('s' == teststring )
            Serial.println("Hello Raspberry,I am Arduino.");

        }
}

測試結果截圖:

在這裡插入圖片描述
在這裡插入圖片描述

接線是,樹莓派的R對Arduino的T,樹莓派的T對Arduino的R,然後接上GND就行瞭。
C語言的程序也有,懶得整理瞭

到此這篇關於樹莓派(python)與arduino串口通信的文章就介紹到這瞭,更多相關樹莓派arduino串口通信內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: