2018-06-02|閱讀時間 ‧ 約 8 分鐘

樹莓派筆記RaspberryPi -(6) GrovePi+ Starter Kits

    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

    ======================

    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.