2014-10-13

Raspberry Pi 和 Arduino 相比,還少了什麼 ?

阿舍前陣子有寫過比較 Arduino 和 Raspberry Pi 的文,那時寫的是比較功能性的比對,而這陣子阿舍就一直在用 Raspberry Pi 來硬體控制,然後,有 "瞭解"  到一些問題,所以,對 Raspberry Pi 和 Arduino 的不同處又有更清楚的認識哩 ! 因此,阿舍就把它寫下來,給需要的人參考囉 ! ... ^^=

Raspberry Pi 接 LED 10mm 白色

首先是電氣的問題, Raspberry Pi 的 GPIO 的每支腳,除了那個可送出 5V 電源的腳之外,其它的腳的訊號都是送 3.3V 的,但是,目前在市面上常見的感應器 ( Sensor ) 則大都是收發 5V 的訊號,所以,拿來給 Raspberry Pi 用時,就要多考慮一下電壓的問題哩 ! 不然,雖然,短時間內插著用可能沒問題,但是,時間久了,就不知道那個 GPIO 的腳會不會出問題哩 !

再來,就是電流的部份,就官方說法,Raspberry Pi 的每支腳可承受 16mA 的電流,然後,整個 P1 的所有腳位 ( 1 ~ 26) 的最高同時輸出電流為 50mA,也就是說,如果同時間有超過  4 根腳送出 16mA 的電流時,就可能會有問題哩 ! 而 Arduino 的每一根腳就可以到 50mA 哩 !

以上是有關電氣的問題,再來就是控制硬體裝置的部份,然後,第一個會遇到的問題就是 PWM 輸出的功能,Arduino 的數位腳位都可以送出 PWM 訊號,同時,也有好幾根可以模擬類比的 PWM 訊號,而 Raspberry Pi 就只有一根是可以由硬體產生 PWM 訊號的腳位,所以,像阿舍這種喜歡接一堆伺服馬達的人,就得要用像是 RPi.GPIO 或 WiringPI 等支援軟體 PWM 的程式庫來控制需要用 PWM 訊號控制的伺服馬達哩 ! ....

還有,Raspberry Pi 內建沒支援收發類比訊號,因此,如果要讀取像是類比溫度計的類比感應器的話, 就要自己加一顆 MCP3008 晶片來收發才行哩 !  ....

最後,就是關於時間的問題,不過,這個部份是 Arduino 和 Raspberry Pi 都缺的部份,二個沒有內建 RTC,也就是時鐘的計時功能,所以,Arduino 的計時功能是以啟動後的第幾秒的方式來算的,而 Raspberry Pi 則是會在網路可以連上網際網路的時候,自動去連上 NTP Server 來做對時的動作,因此,如果你的 Raspberry Pi 是會一直連上網路的話,這個問題就還不太大,不然,如果想要有時鐘功能的話,不論是 Arduino 或 Raspberry Pi 就都會需要自己加一顆 DS1307 或 DS1302 晶片來提供時鐘功能囉!

阿舍寫下來後,感覺上,好像 Raspberry Pi 有不少問題,但是,因為 Arduino 和 Raspberry Pi 的定位本來就不同,所以,各有優缺點是正常的,阿舍只是把目前為止,阿舍在用 Raspberry Pi  遇的問題及心得寫出來,希望對於不知該選 Raspberry Pi 或 Arduino 時,能夠提供一些參考囉 ! ...

註 : 上面提到的資料如果有誤,再請不吝告知囉 !  ... ^^=


[+] Ubuntu 指令新手會用到的35個技法 - 這是以阿舍的使用經驗編寫出來的電子書,三天內應該就看的完,學的起來哩 ! 有空就參考一下囉 ! ... ^^=

關於阿舍

好文不藏私,請多分享囉!! ^^=



1 則留言 :

Unknown 提到...

有大電流輸出需求的話,只要一顆電晶體或MOS再加一顆限流電阻就解決了,問題不大.
Pi的輸出電流剛好可以直接點亮LED而不需外加限流電阻,對我來說反而剛剛好.

張貼留言

如果留言後,發現留言不見了,這通常是因為 Goolge 把它認為是垃圾留言了,請用信件通知阿舍調整 ( ayubiz@gmail.com )。謝謝 !