Arduino IDE の「シリアルモニタ」を使用して、Arduinoとシリアル通信をします。キーボードから数字を打ち込み、Arduinoに送信すると、数字に対応した明るさでLEDが点灯します。0の時、消灯、255で明るさ最大で点灯します。
準備
インターネットにつながるパソコン、Arduino UNO、パソコンとArduinoを接続するUSBケーブル、赤色LED、抵抗 330 Ω、ブレッドボード、ジャンパー線
回路作成
- Arduinoの9番ピンとブレッドボードの(+)を繋ぎます。
- LEDの足の長い方(アノード、正極)をブレッドボードの(+)に挿し、Arduinoの9番と接続します。
- LEDの足の短い方(カソード、負極)をブレッドボートに挿します。(ブレッドボードは縦方向が繋がっていることに注意してください。)
- LEDのカソード(短い方)が挿さっている列と同じ列に、抵抗の片方の足(Aとします)を挿します。抵抗のもう片方の足(Bとします)は、ブレッドボードの任意の穴に挿してください。抵抗の(B)の足が挿さってる列と同じ列に、ジャンパー線を挿し、ArduinoのGNDピンと接続します。
プログラミング
Arduino IDEを起動し、以下のプログラムを作成し、Arduinoに転送しましょう。
int val = 0;
int ledPin = 9; // LEDはピン9に接続
void setup() {
pinMode(ledPin, OUTPUT); //ledPinをOUTPUTの出力モードに設定する
Serial.begin(9600); //シリアル通信の速度を設定
}
void loop() {
if(Serial.available() > 0){ //シリアル通信が使用可能になったら
val = Serial.parseInt(); // シリアル通信でArduinoに送られてくる文字列を数字に変換してvalに入れる
analogWrite(ledPin,val); // 明るさvalでLEDを点灯する
Serial.print(val); // 確認のためシリアルモニタにvalの値を送り返す
Serial.println(""); // シリアルモニタに改行を出力する
}
}
動作確認
シリアルモニタに数字を入力し、送信します。この時、通信速度が9600になっていることを確認してください。LEDは0で消灯、255で最大の明るさで点灯します。シリアルモニタに、0から255の数字を入力し、Arduinoに送信してみましょう。明るさはどのように変化するでしょうか。