LEDの明るさをコントロール
今日はただLEDを点灯させるだけでなく、明るさを変えることに挑戦。
PWM(パルス幅変調)という仕組みを使う。
パルス幅変調はオンとオフの点滅間隔の比を変えることによって、LEDの明るさを調節する。点滅間隔の変更はdelay()を使ってソフトウェア的にも実現できるが、その間処理が止まってしまい、他のことができない。そこでArduinoにはPWM専用のピンが3つ用意されていて、analogWrite()という命令で操作できる。
こんな感じで配線。抵抗を入れて流れる電流の大きさをLEDに合わせてコントロールする(らしい)。今日は330Ωの抵抗を使った。
下記のプログラムをArduinoに書き込み
const int LED = 9;
int i = 0;
void setup(){
pinMode(LED, OUTPUT);
}
void loop(){
for(i = 0; i < 255; i++){
analogWrite(LED,i);
delay(10);
}
for(i = 255; i > 0; i--){
analogWrite(LED, i);
delay(10);
}
}
転送すると、、、
点いた!
LEDを点灯
引き出しに眠っていたArduinoを発見したので、とりあえずLEDを点滅させてみた。
LEDの足の長い方を13ピンに入れ、短い方をGNDに接続する。
IDEを立ち上げ、下記ソースを入力
const int LED = 13;
void setup()
{
pinMode(LED, OUTPUT);
}
void loop()
{
digitalWrite(LED, HIGH);
delay(1000);
digitalWrite(LED, LOW);
delay(1000);
}
USBケーブルを挿して、いざ書き込み。
点いた!
ツール > マイコンボート、シリアルポートの選択を間違うとダメみたい。
せっかく買ったことを思い出したので、いろいろいじってみます。
Arduinoをはじめよう 第2版 (Make:PROJECTS)
- 作者: Massimo Banzi,船田巧
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/03/16
- メディア: 単行本(ソフトカバー)
- 購入: 9人 クリック: 27回
- この商品を含むブログ (10件) を見る