
Arduino(2の続き)超音波モジュール
今回は、前回のarduino(2)の超音波モジュールの続きを書いていきます。
前回はまだ作るところまで行ってなかったので、それをします。
〜作っていこう‼︎〜
では早速、配線を繋いでいきます。とりあえず準備しよう。
↓の画像の通りに繋いでいきます。

〜製作完了〜
製作が完了しました。次はコードを書き込んでいます。(毎回コピーだけど)
パソコンに書き込んでいきます。

超音波モジュールのechoやvccやtrigやGNDの意味を調べてみました。
〜調べたこと〜
ここに、超音波モジュールのことについて調べてみました。
わかったこと
Vcc – 電源入力
Trig – トリガー 超音波出力用の信号を送信する
Echo – エコー 超音波入力用の信号を受信する
GND – グラウンド
っていう意味らしいです。
僕がvccって何の略かな?って思って調べてみました。すると、
vccのcはコレクタ側電源の略らしいです。
vcと表記するとトランジスタ1個のコレクタ側電源を指すので、
vccと表記して間違えにくくしてるということがわかりました。
ちゃんとした意味がわかると納得できる。
コード
下のコードは、おもろ家さんから引用してます。
おもろ家さんのリンクは→ https://omoroya.com/arduino-lesson10/
//Lesson 10 超音波距離センサモジュール
//距離を測定するスケッチ
//https://omoroya.com/
#define TrigPin 10 // Trig Pin定義
#define EchoPin 11 // Echo Pin定義
float ProDelay = 0; //Echo出力のHigh期間を格納する変数
float Distance = 0; //計算した距離を格納する変数
void setup() {
Serial.begin( 9600 ); //シリアル通信のデータ転送レートを9600bpsで指定。bpsはビット/秒。
pinMode( TrigPin, OUTPUT ); //デジタル入出力の10番ピンをOUTPUTに指定
pinMode( EchoPin, INPUT ); //デジタル入出力の11番ピンをINPUTに指定
}
void loop() {
digitalWrite(TrigPin, LOW); //10番ピンからLOWを出力
delayMicroseconds(10); //10μs待機
//超音波を出力するためのトリガ信号生成
digitalWrite( TrigPin, HIGH ); //トリガ信号Highパルスエッジ
delayMicroseconds( 10 ); //トリガ信号パルス幅10μsを生成
digitalWrite( TrigPin, LOW ); //トリガ信号Lowパルスエッジ
ProDelay = pulseIn( EchoPin, HIGH ); //11番ピンに入力されるEchoピンのHigh期間を測定
if (ProDelay > 0) { // 0を越えていたら下記を実行
Distance = 340*ProDelay/2/10000; // 音速340m/sとして距離の計算とcmへの換算
Serial.print("Distance:"); //わかりやすくするため、シリアルモニタにDistance:を表示
Serial.print(Distance); //シリアルモニタに計算した距離を表示
Serial.println(" cm"); //表示した距離の後ろにcmを表示して改行する
}
delay(1000); //1000ms待機
}
上のコードの意味を自分なりに解釈
♯defineとは、変数定義するためのコードで、↑では、
♯define trigpin 10 のように使っている。それで、デジタルピン10を
trigpinと表すことができる。(あってるか分かりません。)
そして、シリアル通信の速度を設定し、trigpinを出力に、echopinを入力にする。
超音波を使って距離を計算し、シリアルモニタに表示する
という意味だと思います。(違うところもあるかも)
結果は?
さて、準備が整ったのでシリアルモニターを見てみます。

シリアルモニタに距離が写っていますね。成功です!
今度、これにプログラムを足して5センチ以下になったら音が鳴るというものを
作ってみたいです。