LEDの点滅 1日目
3 月 31st, 2010最小構成のArduino互換機をブレッドボード上に構築し配置。
ベース部分は私が作成。
所要時間は、入力に手間取ったのと、詳細に説明を行ったので2時間程度です。
エラーも5カ所くらい出ていて、めげそうになっていましたが何とか完了までこぎ着けました。
Arduinoでの制作だけでなく、LEDの説明やArduinoを介さないで点灯させるということもやりました。
単3電池 1本では光らず、2本では焼き切れるというのもこのときに経験しました
順序
- ブレッドボードの説明
- LEDの説明、テスト
- ブレッドボードでの配線
- プログラム入力
- 動作確認
- プログラム説明
- ノートに思ったこと、感想など好きに書く
入力したコード
#define LED 13
void setup()
{
pinMode(LED, OUTPUT);
}
void loop()
{
digitalWrite(LED, HIGH);
delay(100);
digitalWrite(LED, LOW);
delay(100);
}
説明
# 実際に説明した内容のノートから書き出しているので、簡単な漢字のみを使用。
プログラム(Arduinoでは「スケッチ」とよぶ)は、基本的に上からじゅんばんに じっこうされる。
#define LED 13
読み : デファイン
LEDと書かれていたら「13」におきかわる。
たとえば、後でLEDをデジタルの12番につなぎたいと思ったら、ここの数字を書き換えれば全部おきかわる。
pinModeなどに直せつ「13」と書いていると、ぜんぶさがして書きかえるひつようがあるので大へん。
あと、たんに13と書かれていたら時間がたつと何の数字だかわからなくなることがある。
void setup()
読み : ボイド セットアップ
セットアップ = よういすること
さいしょに1回だけ、じっこう(動く)される
void loop()
読み : ボイド ループ
ループ = わっか
くりかえしじっこう される
Arduinoに電気が入っている間、void setup()が終わった後ずっと、くりかえしじっこうされる。
pinMode(LED, OUTPUT);
読み : ピン モード
「モード」って?
たとえば、
「本気モード」のはんたいは「ふつうモード」
“本気モードはつどう!!”と言うと、「ふつうモード」から「本気モード」にかわるということ。
後ろのかっこの中は「何を」「何モードにする」
「何を」のLEDは上の「#define」で13としてきめているので、デジタル13番のピンのこと
「何モードにする」のOUTPUTがモード
ここで使えるモードは、
OUTPUT(読み : アウトプット) : 出す = 電気をだす
INPUT(読み : インプット) : 入れる、読む
digitalWrite(LED, HIGH);
読み : デジタル ライト
デジタル <- はんたい -> アナログ
デジタルは スイッチのオン・オフ、アナログは れんぞくてき(そのうち くわしく)
ライト = 書く
後ろのかっこの中は「何を」「どう書く」
「何を」のLEDは上の「#define」で13としてきめているので、デジタル13番のピンのこと
「どう書く」の HIGH と LOW が書くこと
HIGH(読み : ハイ) : 高い = スイッチをオンにする(プログラムでは 1 のこと)
LOW(読み : ロー) : ひくい = スイッチをオフにする(プログラムでは 0 のこと)
delay(100);
読み : ディレイ
ディレイ = おくれる
後ろのかっこの中は「どれだけの時間」
ここの数字が、
500 = 0.5秒
1000 = 1秒
2000 = 2秒
かん数(ファンクション)
void setup() と void loop() は自分でかん数を作っている。
それがArduinoの電気が入ったときにじっこうされる。
| void setup() | かん数の名前 |
| { pinMode(LED, OUTPUT); } |
かん数の中身 |
pinMode(LED, OUTPUT) 、 digitalWrite(LED, HIGH) と delay(100) は、かん数を使っている。
意識して伝えた点
- 値を変えると挙動が変わる
- #define で定数を宣言しておくと修正や、あとで読み取るのが楽
- 使用している関数の名前を単語に分割し意味を伝える
教える上での課題
- ブレッドボードの理解が薄いようなので、もう少し説明する
- 関数の存在意義がつかめていないようなので、これも追々説明
- デジタルとアナログの違い
