Warning: Trying to access array offset on value of type bool in /home/cycos/cammy.co.jp/public_html/technical/wp-content/themes/cocoon-master/lib/utils.php on line 2604

Warning: Trying to access array offset on value of type bool in /home/cycos/cammy.co.jp/public_html/technical/wp-content/themes/cocoon-master/lib/utils.php on line 2604

Warning: Trying to access array offset on value of type bool in /home/cycos/cammy.co.jp/public_html/technical/wp-content/themes/cocoon-master/lib/utils.php on line 2632
組み込み系

9.Arduino 2本の足とLOWでも光るLED

Arduinoのポート(ピン)をHIGHにして電気を出力してLEDを光らせることはわかりました。つまりLEDには+と-があって、方向を間違わずにArduinoのボードに刺して電気を流すと光る!
実は、マイコンの足は器用なことにHIGHを出して電気を出力したり、LOWを出して電気を止める(表現が適切ではなかったらごめんなさい)ことが簡単にできて、これを使って点滅プログラムを作りました。今日は、今までと逆につないでLOWを出して光らせてみます。

原理

つまり、最初の絵のように、LEDの+(アノード側)に+5Vを与えておいて、逆の-(カソード側)をポート12番あたりに刺しておいて、12番をLOWにしてしまえば、ピカっと光ってくれるということです。

ArduinoUNOでの接続

5Vと12番はえらい遠く離れているので、片方がメスで片方は雄のジャンパーワイヤーを使って写真のようにつなぎました。

※LED側がメスでLEDの足が刺さっています。
※ワイヤーの片方はArduinoの5Vに刺さっています。

Arduinoプログラム

ただまんぜんと光る

void setup() {
  pinMode(12,OUTPUT);
}

void loop() {
  digitalWrite(12,LOW) ;
}

本当にHIGHでは光らないのか

void setup() {
  pinMode(12,OUTPUT);
}

void loop() {
  digitalWrite(12,HIGH) ;
}

LOWとHIGHを交互にすれば点滅するだろう!

void setup() {
  pinMode(12,OUTPUT);
}

void loop() {
  digitalWrite(12,HIGH) ;
  delay(500);
  digitalWrite(12,LOW) ;
  delay(500);
}

ちょっと業界用語(知ったかぶり)

このように、LEDはHIGHを出力してもLOWを出力してもつなぎ方さえ間違わなければ光ることがわかりました。

それから、マイコンはとても便利で、ポート(ピン)を5VにでもGND(実際には0V)にでも変化させることができることがわかりました。

これは、電子回路を組む技術者とソフト屋さんが交わす会話…

(ハード屋さん)「LEDは吊ってあるから」 訳「LEDは5Vに片足接続ですよ!」
(ソフト屋さん)「アクティブLOWですね」 訳「LOWを出して光るんですね!」

タイトルとURLをコピーしました