発展的な内容を主に扱います。組み込みシステムを作る上で必要になる機能を学べます。
関数の配列データ型について定数についてArduino課題0
スイッチを押した秒数を計測し、シリアルモニタに出力する。
pinMode(ピン, INPUT_PULLUP);
を使う。ネットで検索しながらやってみよう。INPUT_PULLUP
を使うと回路が簡単になります。
- Arduino INPUT_PULLUPで検索してみよう。
また
millis();
を使うと時間計測がしやすくなります。これも検索してみよう。Arduino課題1
パソコンとシリアル通信をする。 パソコンからON
をArduinoに送信したらLEDをONにする。 パソコンからOFF
をArduinoに送信したらLEDをOFFにする。
Serial.available()
を使う。ネットで検索しながらやってみよう。
Serial.readStringUntil('\n')
を使うと簡単にできます。
String型
の変数を扱うので注意。String型についても調べてみよう。Arduino課題2
超音波センサを使い、距離に応じて明るさを比例させる。
超音波センサの値を
analogWrite(pin,value)
のvalueに入れる比例式を作ろう。
valueは0~255までなので範囲を超えないようにプログラムを書いてみよう。
min(value,minValue);
max(value,maxValue);
constrain(value,min,max);
などを使えるといいですね。調べてみましょう。Arduino課題3
タイマー割り込みを使ってLEDをチカチカさせる。 タイマー割り込みは関数(サブプログラム?)をバックグラウンドで自動実行できる機能です。 一定周期で何かを実行したい場合はこれを使うと簡単に書くことができます。
MsTimer2.h
/ flexiTimer2.h
を使う。Arduino課題4
スイッチを押した回数を押した回数をLCDに出力する。 ただし回数の計測にdelay
を使ってはいけない。
Arduino課題5
スイッチを押した時にセンサの値を取得。 センサの値ランキング1位と2位をLCDに出力する。
配列を使うと処理を書きやすい。
読んでみると勉強になる記事
かなりレベル高いかもしれないです。