Tag Archives: ardublock

Ardublock 圖形化Arduino – 電位計 PWM 控制LED

使用 ArduBlock 來寫一寫個簡單的小程式,這是一個需要另外安裝(.jar)於 Arduino IDE 的圖形化程式,拉拉方塊就可以寫好 Arduino 程式,還可以回到 Arduino IDE 微調,非常方便喔。

.jar 請由 ArduBlock 網站下載。接線很簡單,請將電位計接到 A0腳位,LED 接到 D9腳位(PWM)。執行程式之後,轉動電位計就可以控制LED漸明漸暗。如下圖:

螢幕快照 2015-04-21 上午12.11.18

安裝環境請參考:Ardublock : Arduino中的圖形化環境

點選 ArduBlock 的 上傳(Upload)按鈕後,會先轉成 Arduino code 之後再準備上傳,您可以在此微調之後再上傳。

螢幕快照 2015-04-21 上午12.00.43

Ardublock 圖形化Arduino – Fade LED呼吸燈

http://lab.cavedu.com/ardublock_fade <- 程式碼請由此下載
玩過定時閃爍之後,來看看怎樣在 ArduBlock 中使用 set analog pin 指令(相當於 Arduino 的 AnalogWrite() 語法) 讓 LED 有漸明漸暗的呼吸燈效果。同樣的指令之後也可以用來控制馬達的轉速。
看一下程式:
 
在 setup 中宣告一個名為 brightness 的數字變數,初始值為0,這是 LED的亮度,範圍為0~255;還有另一個名為 fadeAmount 的數字變數,初始值為5,這是 LED 亮度每次累加(或累減)的量。
 
接著在 loop 中,就把 brightness 指定為 Arduino 數位腳位9 的亮度,接著 brightness  累加5,每次延遲時間為 0.03秒。直到累加到 255 之後,將 fadeAmount 加上負號,這時 LED的亮度就會從 255開始每次累減5,直到 brightness 等於 0時,fadeAmount 又會變回5。這樣就是呼吸燈的效果。
 
請注意:在此使用#9 是因為 Arduino Uno #9 pin 支援 PWM 控制,如果您將 LED 插在一個不支援 PWM 的腳位的話,本指令會沒有效果。
 
未命名
 
附上 Arduino Fade 的程式碼,您可以比對一下
 
int led = 9;           // the pin that the LED is attached to
int brightness = 0;    // how bright the LED is
int fadeAmount = 5;    // how many points to fade the LED by
 
void setup()  {
  pinMode(led, OUTPUT);
 
void loop()  {
  analogWrite(led, brightness);
  brightness = brightness + fadeAmount;
 
  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ; 
  }     
  delay(30);
}

Ardublock 圖形化 Arduino – Blink LED 閃爍

http://lab.cavedu.com/ardublock_blink  <- ArduBlock 程式碼請由此下載
讓我們從 Arduino 的 Hello World -> Blink 範例程式開始。這個程式會讓 Arduino 的板載LED燈(標示為L)一秒亮一秒暗,您也可以在 D13 腳位上插入一個LED燈,兩者會進行相同的動作。ArduBlock 程式碼請於以上連結下載。

基本上 ArduBlock 的指令都相當淺顯易懂,請從 Control 區抓出 loop 迴圈,再新增以下兩組指令:
 
1. set digital pin -> 設定指定數位腳位為高/低電位  (在Control指令區中)
2. delay     -> 延遲時間(毫秒)       (在Pins指令區中)

 
當我們把set digital pin的參數設為 (13, HIGH)時,代表對D13腳位施加高電位,LED就會亮。反之LOW會使 LED熄滅。
delay(1000)則是延遲 delay指令之前的動作1000毫秒,就是一秒鐘。按照下圖擺好就可以了。
 
按下 [Upload to Arduino]時,您會在原本的 Arduino sketch 中看到,ArduBlock 把剛剛的圖形化指令先轉成普通的 sketch code 之後再燒錄到 Arduino。也就是說,您可以在此進一步修改程式之後再上傳。
 
用ArduBlock 快速打樁,有必要的話再回 Arduino IDE 來細修,就是這麼回事!