初歩の電子工作とデジカメの日記

電子工作備忘録とデジカメで撮影した写真のブログです。

Japanino vol.7 アナログ入力値で変化するLED点灯数

2012-12-10 17:12:26 | japanino
8ビットマイコン"japanino"でLEDを点灯させる実習の7回目。
Japaninoへのアナログ入力値の変化に伴い、点灯するLEDの数も変化するプログラムです
今回はこちら「エレキジャック」さんの連載記事を全面的に学習、実習させて頂きました


回路図ソフト"Fritzing"で描いた配線図です
アナログ入力値を変化させるのに半固定抵抗を利用しています



ブレッドボード上の部品の配置、配線です
LEDのカソード(-)は抵抗(330Ω)を経由してブレッドボードのGNDラインへ
LEDのアノード(+)はJapaninoのD10,D11,D12,D13ピンへ接続
半固定抵抗の出力端子(中央の足)はJapaninoのA2ピンへ接続
ブレッドボードの(+)ラインとJapaninoの+5Vピンをジャンパ線で結線
ブレッドボードの(-)ラインとJapaninoのGNDピンをジャンパ線で結線



Japaninoのピンの様子です
見にくいですが画像上方がデジタルピンで10、11、12、13番ピンにジャンパ線が挿されています
下方のアナログピン +5V,GND,A2ピンにジャンパ線が挿されています
スケッチ(プログラム)は次の通りです
お手本をコピー&ペーストしました

ブレッドボード右側の半固定抵抗のダイヤルをマイナスドライバーで回すと点灯するLEDの数が変わります






int potinput = 2;
int ledpt1 = 13;
int ledpt2 = 12;
int ledpt3 = 11;
int ledpt4 = 10;
int val = 0;

void setup() {
pinMode(ledpt1, OUTPUT);
pinMode(ledpt2, OUTPUT);
pinMode(ledpt3, OUTPUT);
pinMode(ledpt4, OUTPUT);
}

void loop() {
val = analogRead(potinput);
if (val>204) {
digitalWrite(ledpt1,HIGH);
}
else {
digitalWrite(ledpt1,LOW);
}
if (val>408) {
digitalWrite(ledpt2,HIGH);
}
else {
digitalWrite(ledpt2,LOW);
}
if (val>612) {
digitalWrite(ledpt3,HIGH);
}
else {
digitalWrite(ledpt3,LOW);
}
if (val>816) {
digitalWrite(ledpt4,HIGH);
}
else {
digitalWrite(ledpt4,LOW);
}
}






最新の画像もっと見る

コメントを投稿