はじめに
シリアルモニタから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のシリアル通信関連記事
<参考文献>