樹莓派與Arduino串列埠通訊實驗

2021-10-07 15:58:54 字數 1838 閱讀 3359

目標:樹莓派通過串列埠傳送字元's',arduino收到後字元's'後列印字串'i am cdq',同時arduino自帶的13引腳led燈會閃爍。

這篇寫的有點亂,有不清楚地方請向我反映,我會及時修改。

在arduinoide中編寫程式

void setup()

void loop()

}

將程式燒寫到arduino中,

然後將usb口從電腦上拔掉,插到樹莓派usb上,否則串列埠會被占用。

樹莓派有兩個串列埠,乙個是mini,乙個是ama0,mini是自帶晶振驅動的,穩定性不高,ama0是外部晶振驅動的,穩定性高,因此這裡將啟用ama0串列埠。

sudo nano /boot/cmdline.txt
將內容修改為:

ddwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=vator=deadline rootwait quiet splash plymouth.ignore-serial-consoles

ctrl+xy回車

輸入:

sudo nano /etc/inittab
注釋最後一行,如果沒有則不用修改:

#t0:23:respawn:/sbin/getty -l ttyama0 115200 vt100

檢視串列埠是否啟用

ls -l /dev
如果沒成功,則參考【文獻1】再設定一遍。

不要指望他會有什麼好看的畫面,哈哈哈。

安裝minicom

sudo apt-get install minicom
啟動minicom

minicom -b 115200 -o -d /dev/ttyama0
傳送測試資訊,如abc:

如果回顯開啟,則你輸入乙個字母他也同樣輸出相同的字母,效果為aabbcc,

如果此時沒有出現aabbcc,則可能是回顯沒有開啟,ctrl+a,再按e,開啟回顯,再次測試。

或者連線好樹莓派與arduino的串列埠後輸入s,看minicom是否有返回i am cdq

樹莓派與arduino的接線方式為:

樹莓派arduino

8腳(txd)

0腳(rx)

10腳(rxd)

1腳(tx)

usb口

在樹莓派桌面新建ser.py檔案

import serial

ser=serial.serial('/dev/ttyama0',115200,timeout=1)

try:

while 1:

ser.write('s')

response=ser.readall()

print (response)

except:

ser.close()

不要使用thonny軟體執行此程式,因為看不到輸出。

/home/pi/desktop
sudo python ser.py
此時應該就會看到:

同時,arduino的燈會閃爍。

樹莓派3b與電腦串列埠互相通訊進行資料傳輸的配置過程

樹莓派開發筆記(六):gpio口的uart使用

樹莓派與arduino序列通訊

兩大開源硬體之樹莓派與arduino的usb串列埠通訊

樹莓派與Arduino的串列埠通訊

樹莓派b 擁有4個usb口,而arduino正好有usb轉串列埠,這樣我們就能夠很容易的利用這一對介面來實現樹莓派與arduino之間的串列埠通訊。arduino端的程式 string recv int led 3 void setup void loop if recv.length 0 else...

樹莓派與arduino串列埠通訊實踐

arduino具有豐富的外部介面,與樹莓派的io口最大的不同在於arduino具有模擬輸入介面,可以測量io口上的模擬值。arduino與raspberry通過串列埠 serial 通訊的方案一般有兩種,一是通過樹莓派gpio串列埠通訊,第二種是通過usb串列埠通訊。顯然,arduino與raspb...

樹莓派與Arduino串列埠通訊實驗

目標 樹莓派通過串列埠傳送字元 s arduino收到後字元 s 後列印字串 i am cdq 同時arduino自帶的13引腳led燈會閃爍。這篇寫的有點亂,有不清楚地方請向我反映,我會及時修改。在arduinoide中編寫程式 void setup void loop 將程式燒寫到arduino...