2016年9月18日 星期日

mBlock 單元七:按鈕輸入之快按俠 ( mBlock Unit 7: Who's the Faster Button Clicker. )

此範例用了按鈕輸入來當作 LED 燈亮度的增加。按鈕按一次,LED 燈的亮度會增加一點點,不按的時候,時間經過一秒, LED 燈亮度就會減少一點,也就是按得越快,LED燈就會持續很亮,來當個快按俠吧。

硬體電路:

硬體材料:
1. Arduino UNO R3 板子 x 1
2. 公對公杜邦線 x 5
3. LED燈 x 1
4. 220歐姆電阻 x 1
5. 10K歐姆電阻 x 1
6. 四腳按鈕 x 1
7. 麵包板 x 1

完成圖:


mBlock 程式積木:


示範影片:

延伸思考:
1. 如何作按鈕連發的功能?
2. 加上蜂鳴器,當 LED 燈亮度為最亮時,發出獲勝的旋律;當 LED 燈亮度為最暗時,發出噓聲。

6 則留言:

  1. 您好
    最近在練習寫arduino的程式

    目前的想法是按下開關,持續讓繼電器以0.6秒的方式閃爍

    同時間,蜂鳴器持續放出我要的音調高低

    我先利用開關設定輸入和輸出的腳位後

    讓繼電器打開,但是無法同時讓蜂鳴器持續有聲音

    不知道這兩個程式是否可寫在一起?

    非本科系在練習卡在這邊了,也有上網查詢,有看到說明是要用兩個arduino的板子才比較好寫?

    有辦法寫在一個板子上面嗎?

    謝謝

    回覆刪除
    回覆
    1. 您好:我有個疑問「繼電器可以閃爍?」
      繼電器(Relay)是讓小電力控制大電力的開關嗎?

      所以你的繼電器是用來做什麼?

      也許 Timer 計時器是你需要的,用 Timer 可以讓 Arduino 看起來好像同時做幾件事(當然有上限),Arduino UNO 的ATmega328 晶片本身有三個 Timer 可以用請參考 http://coopermaa2nd.blogspot.tw/2011/07/4-timers.html

      刪除
  2. 1.我把繼電器的方式,寫成輸出高電位,延遲0.6秒,輸出低電位,延遲0.6秒,循環
    2.控制12V1A的燈泡開關,板子輸出無法支援12V和1A
    3.我要繼電器在工作的同時,有個音效持續發出聲音(目前就是卡在這邊)

    回覆刪除
    回覆
    1. 您好:若您需要的是類似多工的功能, https://github.com/ivanseidel/ArduinoThread 或是 https://www.arduino.cc/en/Reference/Scheduler 等可以參考,此外也可以在 Arduino IDE 的程式庫管理員(Arduino IDE選單-->草稿碼-->匯入程式庫-->管理程式庫)搜尋task關鍵字可以找到相關的程式庫。

      刪除
    2. mblock可以這樣做嗎?
      畢竟是新手,程式還是不太會寫用積木可能比較快一些

      刪除
    3. 我沒在 mBlock 的Arduino模式上用過多工的功能。

      刪除