認識Arduino與C語言的指針和指針數組

讀者詢問如何在Arduino中建立數個自定義函式,並且透過「函式指針數組」,在不使用if…else或switch…case等條件判斷式的情況下,讓程序依據變數的值,執行不同的自定義函式。

下文將先介紹Arduino與C程序語言的函式指針語法。

建立函式指針程序

就像變數一樣,函式(function)同樣被暫存在某個內存內存塊,可以透過指針(pointer)取用;指向函式的指針稱為「函式指針(function pointer)」

底下的Arduino程序宣告了一個hello()自定義函式,並透過一個叫做『f』的指針指向並執行它:

若在Arduino執行此程序,將能在序列端口監控視窗看見「hello world.」信息。

閱讀全文

Arduino 4×4薄膜鍵盤按鍵掃描程序原理

下圖左是一款常見的薄膜按鍵模塊(hex keypad),有4×4或3×4(少了最右邊一行的A,B,C,D鍵),它的內部如同下圖右邊的電路所示,是由16個按鍵(開關)交織而成。有些按鍵模塊直接使用按鍵(微觸)開關組裝,連接電路與程序都和本文相同。

4×4按鍵模塊有8個接腳,分成列、行兩組,可以接在Arduino的任意8個接腳,筆者將它接在數位6~13腳:
閱讀全文

認識與實驗Arduino的睡眠模式

根據Nick Gammon這位澳大利亞老兄,在Power saving techniques for microprocessors(微處理器省電技術)文章,於Arduino UNO Rev 3控制板執行底下的代碼:

voidsetup(){}
voidloop(){}

所測量到的消耗電流量:

  • 採用9V電池,接電源插孔供電,約消耗55 mA
  • 用5V電源供電,約消耗46.6 mA

若用最精簡的准系統(barebone)形式,例如,在麵包板上直接用ATmega828處理器和石英震蕩器等少數零件組裝的Arduino,僅消耗15.15 mA電流

閱讀全文

生物電極:用 Arduino 遙控「捕蠅草」


我們將在這個簡單又有趣的項目里創造一棵遙控捕蠅草,並將捕蠅草的葉片接上Arduino控制器,再發送微小的電子信號來觸發生物反應。材料費只需要250人民幣(不包括重複利用的Arduino),組裝所需要的時間還不到90分鐘(但必須外加24小時讓捕蠅草休息),非常適合當做課堂範例。還可以加裝WiFi模組和第二組電路來偵測葉子閉合的狀況,這樣你就有一顆可連上網絡的捕蠅機械植物了!

閱讀全文

Arduino實現智能澆花系統


還在擔心不在家時沒法給花澆水?現在就教你做基於arduino的自動澆花系統。液晶屏上會顯示溫度以及插座的開關狀態,我是用的是潛水泵,因為潛水泵使用比較方便,也為了以後好改,我把模塊和板子裝進了個紙盒裡,防止水花濺到板子上。新人發帖,如果有不足之處,請多多指教。

閱讀全文

使用Arduino讀取水位傳感器數據

首先說明一下,這是一個非常簡單的小實驗,是我現在所做項目的一個很小的部分,不過還是希望把它分享一下,期待看到的同行或愛好者與我交流或拍磚。

我用的水位傳感器是這個。

比較便宜,一塊錢一個,但是便宜同時也有不足,因為量程太小,我用直尺量了一下,最深只能測4cm,不過好在它體積比較小而且輕便,自己可以根據需要DIY和定製,使用方式比較靈活。
說一下接線,水位傳感器是通用三接口連線,一個連VCC一個連GND,模擬輸出端接入Arduino的任何一個模擬輸入端口中,我用的是A0端口,如下圖:
閱讀全文