はんだ付け不要キット第1弾「超音波センサー(HC-SR04)を使って距離測定‼」
こんにちは!
今回は電子工作ステーションさんに、はんだ付けをしなくていいキットがあれば便利だな~ということで、
共同開発いたしました‼
私も結構感じていたことなのですが、はんだ付けができる環境って限られている場合があり、
火傷や、下手すると家事にも繋がる事があるので小中学生くらいまでは親の許可が無いとはんだごてを買ってくれなかったりすると思うんですよね。
自分も小学生の頃は、はんだごての扱い許可を貰えなく、勉強の為と言いい何とか扱いの許可を得ました(笑)
学校なんかでも、授業やサークルで電子工作を取り入れたいけど、はんだ付けが壁となって取り入れられない事があるようです。
そこで、電子工作ステーションさんと協力し、完全にはんだ付けを不要とするキットの開発をしたいと意思疎通いたしました‼
電子工作ステーションさんの方で売ってもらい、ど素人電子工作の方で作り方、及びマニュアルの役割分担で作って参りたいと思います。
はんだ不要キット第1弾目は、定番、超音波センサー(HC-SR04)を使って
値を取得するシンプルで簡単なキットにしたいと思います‼
それでは、作り方の方に入りたいと思います‼
(下記①~⑥が作り方、及びマニュアルとなります。)
①「 部品準備」
・【はんだ付け不要】HC-SR04超音波センサーで学ぶ距離測定キット
・モバイルバッテリー(必要であれば)
モバイルバッテリーがあればキットを持ち運びできます。
②「部品確認」
キット内容は下記の通りになります。
もし足りない部品があったら早めに電子工作ステーションさんに問い合わせてみましょう!
品名 | 個数 |
Arduino Nano | 1 |
超音波距離センサー(HC-SR04)
|
1 |
0.96インチOLEDディスプレイモジュール (SSD1306)
|
1 |
ブレッドボード | 1 |
ジャンパーピン(7mm) | 5 |
ジャンパーピン(10mm) | 3 |
ジャンパーピン(20mm) | 1 |
ジャンパーピン(22mm) | 1 |
ジャンパーピン(25mm) | 2 |
ジャンパーピン(50mm) | 1 |
③「組み立て(回路)」
次に、ブレッドボードを使って組み立てていきます。
ブレッドボードは、はんだ付けなしで電子部品を差し込むだけで回路を組める、電子回路の試作や実験などに便利なプラスチック製の板です。
その仕組みは、内部に埋め込まれた細長い金属のクリップによる電気的な接続にあります。
詳しい仕組みなどは、こちらのサイトを参考にして頂けると分かりやすいです。
接続このようになります。
超音波センサー(HC-SR04) | Arduino Nano |
ディスプレイ
|
VCC | 3.3V | VDD |
GND | GND | GND |
SCL | SCL | |
SDA | SDA | |
A4 | SCK | |
A5 | SDA |
これを、ブレッドボードに変換して繋げていくイメージです。
手順1
ジャンパーピンを下記の様に配置していきます。
左中央にNano、真ん中上ちょい右に超音波距離センサー、右下にディスプレイを配置します。
手順2
Nano、超音波距離センサー、ディスプレイを差していきます。
・NanoのD13番ピンがブレッドボードのh30
・超音波距離センサーのVCCがブレッドボードのa10、GNDがa13
・ディスプレイのGNDがブレッドボードのf5、SDAがf2
以上、下記の様に完成したら組み立て完了です‼
④「開発環境、ライブラリーの準備」
今回はArduino Nanoを使いますので、Arduino IDEというソフトでプログラミングをしていきたいと思います。
Arduino Nanoに限らず、Arduino UNOやESP32など、様々なマイコンがこのソフトでプログラミングが可能な超定番ソフトです。
※IDE (統合開発環境)とは、プログラミングに必要なツール(エディタ、コンパイラ、デバッガなど)を一つのソフトウェアにまとめたものです。
Arduino IDEが既にある場合は手順4まで飛ばして大丈夫です。
手順1
・Arduino IDEをダウンロードしましょう。
こちらから自分のPCに合ったものをダウンロードします。
Windowsの方は、「ウィンドウズWindows 10以降、64ビット」クリックしましょう。
(サイトは英語表記ですが、右クリックで「日本語に翻訳」を押せば日本語に変わります。)
あとは「ダウンロードするだけ」を押して完了です。
手順2
ダウンロードされたファイルを開きましょう。
あとは手順に沿ってインストールしていきます。
手順3
インストールが終わると、ディスクトップ上にアイコンが作られますので、ダブルクリックをしArduino IDEを開きます。
手順4
ディスプレイを簡単に扱えるように「Adafruit_SSD1306.h」という
Adafruit社が提供をしてくださっているライブラリを用意します。
※ライブラリとは、プログラミングにおける「便利な道具箱」です。
これを使うことで、複雑な機能をゼロから書く手間が省け、より簡単に、そして効率的にプログラミングができます。
Arduino IDEの上の方にある「ツール」をクリックし、「ライブラリーを管理…」をクリックします。
そうするとライブマネージャーが開きますので、「Adafruit_SSD1306」と検索します。
検索すると上の方に「Adafruit_SSD1306 by…」というのが出てくるので、それをインストールします。
これで開発環境の準備は整いました‼
⑤「プログラミング」
いよいよプログラミング‼
手順1
下記のコードをコピーして貼り付けてみましょう!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
/* * OLEDディスプレイモジュール用ライブラリーをインクルード(インクルードとは、他のファイルに書かれたコードを現在のファイルに取り込んで利用することを指します。) */ #include<Adafruit_SSD1306.h> //ディスプレイ変数の宣言 Adafruit_SSD1306 display(0); //Arduino Nanoと超音波センサーの取得データをやり取りするPinを指定します。 #define echoPin 2 // Echo Pin (defineは、定数や式を自ら定義するときに使います) #define trigPin 3 // Trigger Pin //受信したデーターを格納しとく用に変数宣言しておきます。Duration型にすることで、小数点まで格納できるようになります。 double Duration = 0; //受信した間隔を格納する用。 double Distance = 0; //距離を格納する用。 void setup() { Serial.begin( 9600 );//Arduino Unoは9600,ESPで試す場合はは115200 pinMode( echoPin, INPUT ); pinMode( trigPin, OUTPUT ); //ディスプレイの初期化 display.begin(SSD1306_SWITCHCAPVCC, 0x3C); } void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite( trigPin, HIGH ); //超音波を出力 delayMicroseconds( 10 ); // digitalWrite( trigPin, LOW ); Duration = pulseIn( echoPin, HIGH ); //センサからの入力 if (Duration > 0) { Duration = Duration/2; //往復距離を半分にする Distance = Duration*340*100/1000000; // 音速を340m/sに設定 Serial.print("Distance:"); Serial.print(Distance); Serial.println(" cm"); } display.clearDisplay(); //ディスプレイをクリア //気温表示 display.setTextSize(1); //文字サイズを設定 display.setTextColor(WHITE); //文字色を設定 display.setCursor(1, 0); //文字の開始位置を設定 display.print(Distance); //変数nをディスプレイ出力するよう設定 display.print("cm"); display.display(); //上記条件でディスプレイ表示 delay(1000);//取得間隔1秒 } |
え、張り付けるだけ?て思うかもしれませんが、プログラミングって実はほとんどコピペして使います!
なので初心者のうちはそれで問題ないです‼
プログラムの基本的な構成、及び流れとしては、
①「インクジェットや変数などの宣言」→②「void setup()」→③「void loop()」の3段階です。
今回のプログラムを大まかに日本語に直すと、
①ディスプレイの簡単コード貸して~、これら入れるから箱作っといて~
②ディスプレイとかこのPin使うから初期化しといて~
③センサーの値を取得してディスプレイに表示して~を1秒間隔に永遠に表示して~
と書いたコードになります(笑)
そう捉えるととてもプログラミングって簡単で、自分でもできそうって思えませんか?
そんな感じで気楽にやっていきましょう!
手順2
貼り付けたら、Arduino NanoとType-CケーブルをPCに繋げて書き込みしましょう!
Arduino NanoとType-CケーブルでPCに繋ぐと、Arduino Nanoの内蔵LEDが光ります。
Arduino IDEをの上部にある、「ツール」→「ボード」→「Arduino AVR Boards」→「Arduino Nano」を選択。
あとは「ボード」の下にある「ポート」も確認しましょう。
Arduino Nanoと正常に通信ができている状態だと、「COM〇」が選択できますので、選択できるCOMをクリックします。
これで準備完了、Arduino IDEをの上部にある「→」ボタンが書き込みボタンとなりますので、それを押します‼
手順3
書き込みが完了すると、ディスプレイに超音波センサーの値が表示されます‼
⑥「結果」
現在制作中。