情報テクノロジー第5回 analogWriteで点滅させよ (PWM)

情報テクノロジー第5回目です。 今回でOUTPUTに関する一通りを終えて、次回からはセンサー類を使用して、INPUT系に馴染ませたいと思います。 例によって今回の課題(原文まま) analogWrite(PWM)を使って、LEDの明るさを制御しよう。 PWMとは、パルス幅変調ともいう、0か1かのディジタル信号ではなく、

情報テクノロジー第5回目です。

今回でOUTPUTに関する一通りを終えて、次回からはセンサー類を使用して、INPUT系に馴染ませたいと思います。

例によって今回の課題(原文まま)


analogWrite(PWM)を使って、LEDの明るさを制御しよう。

PWMとは、パルス幅変調ともいう、0か1かのディジタル信号ではなく、0~255までの数値を刻んだ疑似アナログ信号のことである。0はLOW、255がHIGHに相当し、その間に信号の強さとして細かく段階分けする事が出来る。

aruduino uno では、PWMに対応したピンとして、3・5・6・9・10・11の6箇所が用意されている。

練習:下記のサンプルプログラムを読み解いて、回路を作成し、結果を映像で記録・提出せよ。

【LED_PMW】

#define LED_PIN 9

void setup(){

pinMode(LED_PIN, OUTPUT);

}

void loop() {

int i;

for (i=0; i<256; i++){

analogWrite(LED_PIN, i);

delay(20);

}

}

課題1:下記の条件を満たす動作を映像で記録・提出せよ。

練習問題は「LEDはゆっくり点灯し、すぐに消える」 という物であった。

課題1では、

「LEDはゆっくり点灯し、ゆっくり消灯する」を繰り返す挙動を実現せよ。

課題2(上級編):下記の条件を満たす動作を映像で記録・提出せよ。

課題1の挙動を、2つのLEDで実現せよ。

ただし、LED1とLED2は点灯、消灯を互いに逆の状態で行う物とする。

※LED1が点灯していく時間で、LED2は消灯する。


生徒たちは2年生でJavaScriptを使ったプログラミングに関して学んでいるが、

「i++」などの記載については一切の指導をしていない。

自分たちで意味を調べながら作成していた。

ただ、50分という時間では流石に短かったようで、(それでも課題1は出来ていた!)

上級編を時間内で完成させる事は出来ていなかった。

しかし、休み時間に突入しても全ての班(!)が粘り強く挑戦し、

1つの班では実装に成功していた。

※第6回の最初に紹介したいと思う。

例によって今回提出された動画を掲載しておきます。

※今回は個人情報保護のため、音声を削除しています。 https://drive.google.com/file/d/16o6eiMVr195d7xRhYfOGUWWHGqjbyENA/view


コメント

コメントを読み込んでいます…

コメントを投稿する

お名前とコメントを入力してください。HTMLは使用できません。

0 / 1000文字