Exercise 6 (2023)
テーマ:7セグメントLEDの制御(その1)
Arduinoボードの復習
販売ページ
データシート
ピンによって、扱えるデータの種類は決まっている
外部割込み(External Interrupts)、アナログ出力(PWM)、内蔵LED等
Arduinoプログラミング(Sketch言語)の復習
Arduino 日本語リファレンス
setup() と loop() が必須
setup() は起動時に一度だけ実行、loop() はその後繰り返し実行(無限ループ)
関数はC言語と同じ様に使える
外部変数、内部変数、引数の違いに気をつける
配列はC言語と同じ様に使える
配列は、複数の変数を名前を変えて使うと大変すぎるので、整列して並べたものに過ぎない
インデックスは0から始まることに注意
マニュアルをよく確認すること!
自分でマニュアルやデータシートを読めることがとても重要
7セグメントLEDのデータシートの読み方
販売ページ
データシート
外部LEDが7つ(実際には8つ)並列接続されているだけ
抵抗がいくつ必要になるか、よく考えよう
アノードコモンとアソードコモンがある
LEDは極性を持つ(向きがある)ので気をつけよう
hr.icon
演習 :7セグメントLEDの制御(その1)
【今回の実験で使用する電子部品】
7セグメントLED (LA-401MD)
販売ページ
データシート
ポイント
前回までの実験(特に、外部LEDの制御、タイマー割り込み)を参考にすること
hr.icon
課題
以下の課題を行い、簡単にレポートにまとめて提出のこと
*やりたいこと(実験目的)、やったこと(実験方法)、得られた結果(実験結果)、実験結果から論理的に考えられること(考察)、(感想)を分けて書くこと
hr.icon
【課題1】
7セグメントLED (LA-401MD)とArduinoを接続し、0-9 の任意の数字を表示せよ。
準備
LA-401MDと抵抗をArduinoに接続する
ポイント
シリアルモニタで各ピンの出力を確認すると、プログラムに問題が無いことまでは確認できる
「配列」を使うと効率よくプログラミングできる
「関数」を使うと効率よくプログラミングできる
hr.icon
【課題2】
7セグメントLEDを1秒毎にカウントアップ表示せよ(0から9を繰り返し表示のこと)
ポイント
シリアルモニタで各ピンの出力を確認すると、プログラムに問題が無いことまでは確認できる
タイマー割込みを使うと、かなり正確に1秒毎にカウントアップできる
考察
本当に1秒毎にカウントアップされているか確認せよ
hr.icon
【発展課題】(やってもやらなくても良い)
以下から、任意のものを選択して、実現せよ
ロジックアナライザを使って、各ピンの出力を確認せよ。
タイマー割込を使う方法と、使わない方法の2種類で課題2の実現を試み、その精度について検討せよ。
カウンタ(タクトスイッチを押すごとに数字を増やす)を実現せよ。
ストップウォッチを(タクトスイッチを使用して)実現せよ。
その他の「7セグメントLEDを使ったアプリケーション」を実現せよ。
#2023