ここ最近は組み込み案件はご無沙汰していたのですが、
せっかく経験したので、ここらでいっぺん周辺知識(と言うとかっこいい)をおさらいしておき、
電子工作ちょっと出来る人、組み込みちょっと分かる人っぽくなっておこうと思い、
Arduinoでまずはお決まりのLチカから挑戦してみました。
#用意したもの
・ノートPC(Windows10)
・Arduinoをはじめよう 第3版(以下、「書籍」)
https://www.amazon.co.jp/Arduino%E3%82%92%E3%81%AF%E3%81%98%E3%82%81%E3%82%88%E3%81%86-%E7%AC%AC3%E7%89%88-Make-Massimo-Banzi/dp/487311733X
・Arduinoをはじめようキット(以下、「キット」)
https://www.amazon.co.jp/%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81%E3%82%B5%E3%82%A4%E3%82%A8%E3%83%B3%E3%82%B9-SSCI-GettingStartedArduinoKit-Arduino%E3%82%92%E3%81%AF%E3%81%98%E3%82%81%E3%82%88%E3%81%86%E3%82%AD%E3%83%83%E3%83%88/dp/B0025Y6C5G
#作ったもの
・赤色LEDが200ms間隔で点滅するシステム。
#手順
1.ここ ↓ からArduino IDEをインストールする。
https://www.arduino.cc/en/main/software
2.ArduinoとノートPCをキット付属のUSBケーブルで接続する。
3.COMポートと使用ボードを設定する。
※参考:書籍P23
4.抵抗(今回は1kΩ)と赤色LED(8番ピンに)を接続する。
抵抗無しでも一応大丈夫みたいですが、
「LEDを長時間点灯させたい場合は、(中略)抵抗器を使用して下さい」
とあったのと、ブレッドボードと抵抗を早く使いたかったので、笑
抵抗も使いました。
※参考:書籍P50
5.スケッチ(プログラム)を作成する。
※参考:書籍P28
6.スケッチをコンパイルし、ボードにアップロードする。
7.期待通りLEDが点滅しましたYeah
#回路図
※準備中
#スケッチ
// Blinking LED
const int LED = 8; // LEDはデジタルピン8に接続
void setup() {
pinMode(LED, OUTPUT); // デジタルピンを出力に設定
}
void loop() {
digitalWrite(LED, HIGH); // LEDを点ける
delay(200); // 200ms待つ
digitalWrite(LED, LOW); // LEDを消す
delay(200); // 200ms待つ
}
#気になったこと
手順4まで終わった時点(まだボードに自作の点滅プログラムをアップロードしていない)
で、ボード上で「L」とプリントされているすぐ横のオレンジ色のLEDと、
自分で接続した赤色LEDの両方が1秒おきぐらいで点滅しており、
いやいやなぜ…?としばし疑問に思っていたのですが。
(※なおこの時点では出力ピンを13番ピンとしていました、ここがポイント)
調べてみると、Arduinoにはデフォルトで「13番ピンのLEDを1秒おきに点滅させる」プログラムが
焼かれていて、さらにこの「L」というオレンジ色LEDは13番ピンと繋がっているようです。
つまり、デフォルトのプログラムによって、13番ピンと繋がっている
「L」LEDと赤色LEDの両方が1秒おきに点滅していたのでした。
※参考URL ↓
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12160063962
その後出力ピンを8番ピンに、点滅間隔を200msとしたプログラムに変えると
無事にその通りっぽく動いたので、
自分の書いたプログラム通りに動いていることが無事に確認出来たというわけでした。
#感想
初めてArduinoを触りましたが、
環境構築からLチカまでとにかく速く(20分程度)出来てしまったので、
ああこれはとっつきやすいな…!と思いました。
「とりあえず自分の手で何か完成させる」という体験までが爆速なので、
入り口がとても広いし、続けるモチベーションも俄然保たれそうでいいですね。
次は一段レベルアップしたものを作るぞ!!!