使用 Grasshopper 外掛 Firefly 來操作Arduino 教學 (3)-數位及類比偵測器

スクリーンショット 0026-08-04 20.50.55

繼上次簡單地運用可變電阻來示範Firefly的使用方式,這次我們將再使用光敏電阻、焦電式人體紅外線感知器、傾斜感知器來從GH驗證參數的讀入,而這些感知器都相當便宜及容易取得,其中光敏電阻為類比參數,它會依光線感知的強度,傳出0-1023的亮度參數,而傾斜感知器及焦電式紅外線感知器則都是數位參數,也就是只傳出0(High)及1(Low)兩種結果。

 

Arduino與PC的連接,上傳Firefly-Firmata以及開啟Grasshopper的前置步驟就不再贅述,總之就是開啟之前的準備檔,如下圖,Toggle暫先false。

スクリーンショット 0026-07-31 22.15.32

第一個要來測試的是焦電型紅外線感知器 PIR (Passive Infrared Sensor),可以在各大電子材料行買到,有各種類型大小,案例中的型號是 GH-718C,它的Pin脚通常也是三Pin,左右是正負極,中間是訊號輸出out,可以直接把它插在麵包板上,再用跳線把正負極接到 Arduino 的5V及GND,訊號輸出到的數位輸入端 DPin7。

スクリーンショット 0026-08-04 21.36.00

 

Toggle 切 true後,從Dpin7接出Panel就可以看輸出值,可以用手去擋在感應器前測試一下,因為這是數位參數,有感知時,輸出會顯示為1, 手移開約一秒左右可以看到輸出歸0。

スクリーンショット 0026-08-05 23.48.44

スクリーンショット 0026-08-04 18.58.14

接下來來試試傾斜感知器 Tilt ball sensor,它的原理很簡單,在小金屬筒裡有兩個鋼球,當傾斜到讓鋼球不接觸兩個Pin脚時,就會偵知為 0,有接觸時為1。

スクリーンショット 0026-08-04 21.53.32スクリーンショット 0026-08-04 21.53.44

 

由於它只有兩個pin脚,所以接法比較特別如下圖,必須使用一個10k的電阻,正極先通過電阻,再接到感知器,同時也接出到Uno的數位輸入端 D7,而感知器的另一脚再接到板子上的GND。

スクリーンショット 0026-08-04 22.36.19

在GH上直接從DPin7接出一個Panel就可以看到偵測值如下圖,為0或1。

スクリーンショット 0026-08-05 23.48.44

把GH上的port啟動後,可以測試一下搖動一下感知器,瞬間震動時可以看到有時顯示為1,若傾斜的話,幾乎要超過90度才會看到顯示1。

スクリーンショット 0026-08-04 18.58.23

再來是光敏電阻,需要使用一個10k電阻,因為光敏電阻也是兩隻脚,因此接法類似傾斜感測器,只不過因為它是類比訊號,所以訊號輸出要接到A0。

スクリーンショット 0026-08-06 21.02.43

 

它會傳出一個介於0-1023的值如下圖,你可以試著用手去遮蔽它的上方,可以看到數值明顯減少。

 

スクリーンショット 0026-07-31 22.18.47

スクリーンショット 0026-08-04 18.58.33

以上介紹了兩種類型的感測器,由於使用GH來編撰程式,因此即使修改也不用反覆上傳,再來由於我們尚未使用這些感測器進行控制的動作,因此只是從輸入端來讀出參數,而不用做什麼演算的動作,例如如果我們用光敏電阻控制一個燈光,當環境亮度低於某個程度就會啟動光源,這樣我們就必須加入一個判斷式,而這可以在GH裡輕易的完成,而不用使用Arduino的語法,下回我們將介紹控制的部分。

 

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s