Arduinoを使った
キソ電子工作③
大阪大学大学院 基礎工学研究科
修士 1年 丹羽 英人
前回の復習
マイコンを用いたプログラミング
-順次実行
-条件分岐
電気信号の入出力ができる
→LEDを光らせた
2
If文に関して(復習)
Void loop(){…}を画像の様に変更して、
Arduino UNOで動作させてみてください!
buttonAを押すと、LEDは光る!
buttonBを押すと、LED光らない…
If文に関して(復習)
if(条件式){
動作内容
}
if(条件式){
動作内容
}else{
動作内容
}
if(条件式){
動作内容
}else if(条件式) {
動作内容
}else{
動作内容
}
条件をどんどん増やせる!
⇒条件分岐
<条件式>
数学記法 演算子 使い方
= == a==b
≠ != a!=b
< < a<b
> > a>b
≦ <= a<=b
≧ >= a>=b
パソコンと通信しよう
マイコンとパソコンのSerial通信
パソコンとArduino UNOで通信をしよう
Arduino UNO + USBケーブル + パソコンを接続しよう!
ノートパソコン
(プログラミングをする場所)
USBケーブル
(パソコンとマイコンをつなぐ)
マイコン
(プログラムを実行する場所)
Arduino IDEを起動しよう
Arduino IDE を起動して
[ファイル]> [サンプル例]> [01.Basics]の
[AnalogReadSerial]をクリックして
ください!
そして、デスクトップなどに、
「名前を付けて保存」してください!
プログラムを少し変更しよう
・int ~の前に//を入れよう!
・Serial.println(“Hello?”)に変えよう!
パソコンとArduinoを繋ごう!
マイコン種類の選択
[ツール]> [ボード]>[Arduino UNO]
マイコンとの通信の設定
[ツール]> [シリアルポート]
>[COM~(Arduino UNO)]
プログラムをArduino UNOに流し込もう
赤丸の部分をクリック!
すると、
1. コンパイル(機械語に翻訳)
2. 書き込み(データをマイコンに転送)
が、順次実行されます!
↓の様に出れば完了!おっけい!
パソコンで通信を確認しよう!
右上にある、シリアルモニタを開いて
Hello?
Hello?
って、マイコンから通信が来ているか
確認してみてください!
プログラムを読み解いてみよう!
【Setup部分】
Serial通信の通信速度を指定
・9600bps(1秒間に9600bit(1200文字)送れるよ)
プログラムを読み解いてみよう!
【Loop部分】
Serial.println(“Hello?”); Serial通信で、”Hello?”を出力
delay(1); 1ms待機
プログラムを少し変えてみよう!
1. Serial.println(“Hello?”);を、
Serial.print(“Hello?”);に変えてみてください!(lnを削除)
2. 画像のようにloopを変更してみてください!
¥t 追加 & Serial.println追加
超音波センサーを
使った距離計測
超音波センサー
• 超音波を出力
• 超音波を受信
この時間差で
距離計測
回路を用意しよう!
プログラムを開こう!
付属CD
[日本語]>[code]>[Lesson 10 Ultrasonic Sensor Module]
>[SR04_Example]>[SR04_Example.ino] を開こう!
「名前を付けて保存」をして、
CDからパソコンに保存してください!
ライブラリを追加しよう!
Arduino IDE を起動して
[スケッチ]> [ライブラリをインクルード]
> [.ZIP形式のライブラリをインストール]で
付属CD
[日本語]>[code]>[Lesson 10 Ultrasonic Sensor Module]
>[SR04_Example]>[SR04_Example.ino]
パソコンとArduinoを繋ごう!
マイコン種類の選択
[ツール]> [ボード]>[Arduino UNO]
マイコンとの通信の設定
[ツール]> [シリアルポート]
>[COM~(Arduino UNO)]
プログラムをArduino UNOに流し込もう
赤丸の部分をクリック!
すると、
1. コンパイル(機械語に翻訳)
2. 書き込み(データをマイコンに転送)
が、順次実行されます!
↓の様に出れば完了!おっけい!
プログラムを読み解こう
ピン番号の定義
SR4:使用するライブラリの定義
プログラムを読み解こう
【setup部】
Serial出力の準備
【loop部】
1.aに計測した距離を代入
2.Serial通信で結果&”cm”を出力
3.1s待機
今後に関して
これからの目標
• 超音波センサを用いて、時間的に距離が変わるものを計測
ex.)振り子とか?
• 人間が計測する結果とコンピューターで
計測する結果の差を求めてみよう!
距離
時間
試していってもらいたいこと
振り子を設置して、超音波センサーで観測可能か?
・振れ幅は小さい方がいいかもしれません
・振れる物体は大きい方がいいかもしれません
超音波
センサー

Arduinoを用いたキソ電子工作3