2015年1月3日 星期六

Lab02 ARDUINO-Basic Fade Example:第二個實驗逐漸變暗LED

達到甚麼?

控制 LED 逐漸暗下,瞭解以PWM 的 Digital Pin 輸出控制變化


Arduino 預設程式example 之basic\fade




程式碼:

/*
 Fade

 This example shows how to fade an LED on pin 9
 using the analogWrite() function.

 This example code is in the public domain.
 */

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

// the setup routine runs once when you press reset:
void setup() {
  // declare pin 9 to be an output:
  pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  // set the brightness of pin 9:
  analogWrite(led, brightness);

  // change the brightness for next time through the loop:
  brightness = brightness + fadeAmount;

  // reverse the direction of the fading at the ends of the fade:
  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ;
  }
  // wait for 30 milliseconds to see the dimming effect
  delay(30);
}





Lab03-ARDUINO光敏電阻感測元件:第3個實驗

A:要學甚麼?

光敏電阻 隨外界光強度變化電阻值=>光線越亮  電阻越低.

PWM 輸出頻度 控制輸出 LED 功率 => 亮度變化

B:達到效果?

越暗 燈要越亮=>自動化的點燈 跟  節能


C:材料
ARDUINO UNO
光敏電阻 *1 
紅色M5 直插LED*1
220Ω直插電阻
麵包板*1 

麵包板跳線*1

D:程式碼
int potpin=0;//定義類比介面0 連接光敏電阻
int ledpin=11;//定義數位介面11 輸出PWM 調節LED 亮度
int val=0;//定義變數val
int PL=0; //初始化 PWM 輸出
void setup()
{
pinMode(ledpin,OUTPUT);//定義數位介面11 為輸出
Serial.begin(9600);//設置串列傳輸速率為9600
}
void loop()
{
val=analogRead(potpin);//讀取感測器的模擬值並賦值給val
Serial.println(val);//顯示val 變數數值
PL=(val/4);
analogWrite(ledpin,PL);// 打開LED 並設置亮度(PWM 輸出最大值255)
delay(500);//延時0.5 秒....太快會眼花
}


E:線路圖




F:結果照片
一般狀況下(家裡光源:Val=350上下,下午17點街道環境光源:Val=28上下差十倍)。
經量測電流5mA;光敏電阻兩端電壓1.58V;0.5mA。



把光敏電組遮蓋達到模擬,環境 暗=>LED 更亮
環境亮=>LED暗






要注意的是, 感光的部分 用類比迴路偵測=>偵測到的數值=>改變 數位輸出的脈波頻度=>LED光強度改變
程式裡 數值的傳遞要注意, 數值格式類型,是否已經宣告,公式代換後的輸出變數 最大值是否超過 等等

G:結果影片








H:應用思考

1.光敏電阻 電阻值 跟 照度計的 照度對應 會是如何? 可否作為一個簡易照度計? 如何使簡易照度計精度更高?
1-1:光源強度不同,變更串接電阻的大小來應對。
2.如何同時控制 多個 LED 來顯示照度 階層?
3.如何 控制 大電流 電燈 ? 接一個 繼電器 ?
3-1:在固定亮度下,因感應到的光敏電阻值還是會一值浮動變化在一個範圍。所以需設定範圍值來起動開關。否則電燈會開開關關。
4.ARDUINO 電壓輸出 分層 0-255, 電壓輸入 分程 0-1023 (1024階),每階差 4.887mV ?或其他值?
5.可否作為高速計數器? 怎麼做?  ARDUINO 感應速度 對應 高速變化 會是多少 次/sec?






2015年1月2日 星期五

S4A-安裝步驟-Scratch For ARDUINO

1:Scratch 是什麼?
Scratch 是一種圖形化程式設計軟體。
Scratch 跟app inventor 機乎是一樣的長相。
Scratch寫程式過程,一般有人稱堆積木。
2:S4A 是什麼?
Scratch For ARDUINO (S FOR A=S4A)
是西班牙Citilab(社會與數字創新中心)對scratch 改造加強對ARDUINO 硬體支援。

1:安裝,先到這個網站  s4a.cat
2:點選第五個選項-download 
或者拉到下面下載安裝。根據你所使用的作業系統,按下下載。


2015/1/2 竟然Mac下載不了?