iT邦幫忙

2021 iThome 鐵人賽

DAY 19
0
Arm Platforms

Arm 的初體驗系列 第 19

與Arduino接起來

前面提到Raspberry pi有哪些傳輸方式
IIC/SPI/1-wire/UART
書上建議可以透過UART來溝通
如果是直接用PIN8.PIN10與Arduino的TX.RX對接的話
可能會因為電壓的準位不同而燒毀Raspberry pi
因為Raspberry pi的GPIO輸出電壓是3.3V
而Arduino是5V
中間需要加邏輯電位轉換器才行
所以最簡單的方法是將Arduino直接透過USB連到Raspberry pi的USB
在使用上
import serial
ser = serial.Serial("/dev/ttyACM0",9600) //9600需要與Arduino相同

在GPIO的使用上
Raspberry pi比Arduino缺少了類比輸入與類比輸出
而Arduino 的UNO有A0~A5類比輸入

而實作I/O控制上
Arduino的IO速度比Raspberry pi快
如果Raspberry pi 已經在做影像辨識,其實已經很佔CPU資源了
如果同時還要控制I/O 這樣反應會更慢
另外電壓準位的差異,也會讓Raspberry pi 在推動能力稍差


上一篇
類比數位轉換模組
下一篇
Raspberry pi 與雲端的連結
系列文
Arm 的初體驗31

1 則留言

0
史蒂芬周
iT邦新手 5 級 ‧ 2021-09-23 00:16:08

Arduino的類比輸出其實不是真的DAC,而是用PWM作出來的。所以Raspberry Pi是可以透過GPIO來產生PWM類比輸出的結果。Pi預設只有兩組PWM,GPIO12/18對應PWM0, GPIO13/19對應PWM1。
可參考這篇文章說明 https://www.electronicwings.com/raspberry-pi/raspberry-pi-pwm-generation-using-python-and-c

摸鼻子 iT邦新手 5 級 ‧ 2021-09-23 22:24:50 檢舉

好的
謝謝Jack的指正

我要留言

立即登入留言