GrovePi+是Dexter出給樹莓派用的sensor套件, 內容物基本上是一些入門用的sensor
裡面有一片GrovePi+ HAT (註:擴充板, Hardware Attached on Top, 在Arduino的世界叫做"shield" )
和sensor: 有源蜂鳴器, 按鈕, LED控制板*3, 聲音感測器, 超音波測距器, 溫溼度感測器, 角度感測器, 光線感測器, 3色背光雙排LCD顯示器
比較麻煩的事情是Grove其實主要出給Arduino, 很多範本都不是給python用的
不過原廠有官方討論區 https://forum.dexterindustries.com/ 有GrovePi+專板, 問題回復還算快速
另外, 樹莓派可以直接用GPIO連接控制這些sensor
不過使用擴充板可以把GPIO空間和程式開發時間省下來就是
這是GrovePi+和樹莓派3B+合體的樣子
過電之後中間的綠色PWR燈會亮起來, 如果出現異常則會亮旁邊的RST燈
可以看到中下有個長條型洞, 是給樹莓派的相機排線通過用的
只有靠Pin把兩塊板子連結, 晃得很嚴重感覺就會壞, 所以加裝銅柱增加穩定度
但樹莓派板子上的洞是2.5mm 一般板子是3.0mm, 所以這邊找了適當高度銅柱撐住HAT
原則上是要用15mm但是GrovePi+板子沒有設計成和樹莓派對齊, 導致USB插槽邊緣會頂到
合適的高度大概是16.5mm
GrovePi+的所有Port腳位說明, 三個類比, 七個數位 (只有D3, D5, D6支援PWM), 三個I2C, 兩個序列port
GPIO只有26pin, 所以3B上了這片HAT其他14pin會被擋住
另外也有出給ZERO的小HAT, GPIO有到40pin, 不過沒看到台灣有賣
grovepi.analogRead(0) - socket A0, read 0-1023 grovepi.analogRead(1) - socket A1, read 0-1023 grovepi.analogRead(2) - socket A2, read 0-1023 grovepi.analogRead(14) - socket A0, read 0-1023 grovepi.analogRead(15) - socket A1, read 0-1023 grovepi.analogRead(16) - socket A2, read 0-1023 grovepi.analogWrite(3,val) - socket D3, write PWM 0-255 grovepi.analogWrite(5,val) - socket D5, write PWM 0-255 grovepi.analogWrite(6,val) - socket D6, write PWM 0-255 grovepi.digitalRead(2) - socket D2, read 0-1 grovepi.digitalRead(3) - socket D3, read 0-1 grovepi.digitalRead(4) - socket D4, read 0-1 grovepi.digitalRead(5) - socket D5, read 0-1 grovepi.digitalRead(6) - socket D6, read 0-1 grovepi.digitalRead(7) - socket D7, read 0-1 grovepi.digitalRead(8) - socket D8, read 0-1 grovepi.digitalRead(14) - socket A0, read 0-1 grovepi.digitalRead(15) - socket A1, read 0-1 grovepi.digitalRead(16) - socket A2, read 0-1 grovepi.digitalWrite(2,val) - socket D2, write 0-1 grovepi.digitalWrite(3,val) - socket D3, write 0-1 grovepi.digitalWrite(4,val) - socket D4, write 0-1 grovepi.digitalWrite(5,val) - socket D5, write 0-1 grovepi.digitalWrite(6,val) - socket D6, write 0-1 grovepi.digitalWrite(7,val) - socket D7, write 0-1 grovepi.digitalWrite(8,val) - socket D8, write 0-1 grovepi.digitalWrite(14,val) - socket A0, write 0-1 grovepi.digitalWrite(15,val) - socket A1, write 0-1 grovepi.digitalWrite(16,val) - socket A2, write 0-1
Debian7(wheezy)以前的版本要先安裝GrovePi+套件 (也可以直接裝他的 Raspbain for Robots 系統)
安裝流程如下
git clone https://github.com/DexterInd/GrovePi.git
cd /GrovePi/Script 不知道是不是作業系統版本差異3B+要下 cd /home/pi/GrovePi/Script
sudo chmod +x install.sh 讓批次檔變成可以執行, 感覺linux裡會常用到
sudo ./install.sh 執行 install.sh
sudo reboot
新一點的作業系統HAT插上就可以用, 但裝了會有一些smaple檔還是裝一下吧
安裝之後可以在/Pi/home/GrovePi 資料夾裡找到一些資訊
~/Software/Python裡面是各sensor的單獨測試程式
~/projects裡面是一些示範程式, 包含手冊裡的幾個範例
另外使用python控制時有一定機率會出現type error或者是溫溼度計回傳值-1的現象
如果重新開機還是一樣那可能是firmware內容跑掉了, 更新frimware就可以解決
刷新方法如下
cd ~/GrovePi/Firmware
sudo bash firmware_update.sh
使用環境
======================
RaspberryPi 3B Plus
GroverPi+ 3.0 Starter Kits
Raspbian 2018-04-24
======================