はじめに
シリアルモニタからArduinoを制御して LEDの点灯を制御してみる。
使ったもの
Arduino Uno

- 出版社/メーカー: スイッチサイエンス
- メディア: Personal Computers
- 購入: 2人 クリック: 15回
- この商品を含むブログを見る
mac mini
LED
10kΩ抵抗

uxcell カーボン抵抗 炭素皮膜抵抗 器 酸金抵抗 250V 10KΩ 1/4W 許容差5% 100個セット
- 出版社/メーカー: uxcell
- メディア:
- この商品を含むブログを見る
ブレッドボード

- 出版社/メーカー: サンハヤト
- メディア: Tools & Hardware
- この商品を含むブログを見る
数字を送ってみる
まずは仕組みを理解するために ただ単純にシリアルモニタから送った 値をシリアルモニタに返すだけの プログラムを動かしてみる
int val = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
if(Serial.available() > 0) {
val = Serial.read();
Serial.print("I receved:");
Serial.println(val);
}
}
実行するとこんな感じ

シリアルモニタには0-9の数字を入力したが
返ってきた値は48〜57

ASCII表を確認してみるとちゃんと一致してる
16進数で返してみる
さっきとの変更点は
Serial.println(val,HEX);
オプションは以下のよう BIN(2進数), OCT(8進数), DEC(10進数), HEX(16進数)
int val = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
if(Serial.available() > 0) {
val = Serial.read();
Serial.print("I receved:");
Serial.println(val,HEX);
}
}
また0−9まで入力して、ASCII表と見比べると
確かに0−9をちゃんと受け取っている

少し進んで
次は0から1までの数字を入力して
それに対応した値を返すプログラム
を実行してみる。
コードは以下の通り

LEDコントロール
最後にシリアル通信によってLEDの点灯をコントロールしてみた。
gistbfd0e841e1792ba958efb8f22ebf8f72
Arduinoをシリアルモニタから制御して
— 鯖鯖sabanium (@sabasabasabaniu) 2018年10月23日
LEDをon offしてみた pic.twitter.com/3Y01tWuThk
Arduino-processingのシリアル通信関連記事
<参考文献>