PR

【小中高生】ガチですごい!マイコンとプログラミングでする自由工作・自由研究

Rintaが書いた

こんにちは。今回は高専生こうせんせいである私が、小学生(小学校高学年)、中学生でもできるかな~と思ったマイコンを使った自由研究(自由工作)について書いていきます。
商品リンクも貼っておきますが、単なる自分のおすすめなので、動作確認どうさかくにんはしていないのでご了承下さい。たぶん、動きます。
また、今回やっていくのはかなりハイレベルなもの(上級者向け)となっていますが、人によっては「意外と簡単だった」と感じる人もいるかもしれません。
小学生低学年、パソコン初心者の高学年の方は、保護者ほごしゃの方と一緒にすることをお勧めします。
保護者の方、頑張ってください(笑)
上手く言ったらコメントをくれると嬉しいです!

スポンサーリンク
スポンサーリンク

今回作るもの

今回は、スマホからbluetoothで信号を飛ばして遠隔でon/offするled電球を作りたいと思います。
いわゆる「IoT」の一歩ですね。

準備するもの&用語説明

今回準備してもらうものは、

  • ESP32
  • 抵抗ていこう(200~300Ω)
  • led
  • ブレッドボード
  • ジャンパ線
  • パソコン
  • usbケーブル(esp32の規格きかくに合ったもの)
  • 段ボール
  • モバイルバッテリー
  • スマホ(できればandroid)

です。
スマホは持ち込み禁止きんしのところが多いと思いますが、自由研究等にして「使えた」という証拠しょうこがあればいいと思います。または、先生のスマホを借りましょう。これについては最後の方に書いておきます。

下に各パーツごとの説明を書いていきますが、よくわからない方は下のセットのものを購入こうにゅうしたらいいです。
ですが、ジャンパ線(説明は下記かき参照さんしょう)は、メス-メス(メスが刺される方)があると楽です。
理由はこのセットだとジャンパ線がオス-オス(オスが刺す方)しかなく、esp32をブレッドボードに刺さなくてはならないのでめんどくさいからです
参考:https://labo.mycabin.net/electronics-programming/arduino-esp32/645/


Freenove Basic Starter Kit for ESP32-WROVER

ESP32

ESP32は、小さなコンピューターのようなものです。LEGOブロックのように、いろいろなものをくっつけて新しいものを作ることができます。例えば、温度を測ったり、音を鳴らしたり、インターネットにつないだりもできます。
くっつける部品をモジュール、小さなコンピューターをマイコンと言ったりします。
有名なマイコンはarduinoですが、
esp32は 安い wifiとbluetoothが使える (多分)性能がいい などのメリットしかないのでこれを使っていきます。


【技適認証品】ESP32 ESP-32S NodeMCU開発ボード2.4GHz WiFi + Bluetoothデュアルモード

抵抗

抵抗は、電気の流れをちょっと邪魔じゃまするものです。水の流れを想像してみて、太いパイプだと水はスーッと流れるけど、細いパイプだと流れにくくなるよね?電気もそれと同じで、抵抗が大きいと電気がゆっくり流れる感じです。
ledに、マイコンから出る電流を直接流すとぶっこわれる場合が多いのでつけます。
抵抗の大きさは、200Ω~300Ωでいいと思います。


KOA MO2C 2W 酸化金属皮膜抵抗器 300Ω 10本入り 許容差±5% サンキン ストレードリードタイプ NN

led

LED電球は聞いたことあるかな?光を出す部品です。


IRエミッタダイオード?LED IRエミッター発光ダイオード?クリアブルーラウンドヘッドTSAL6200?Arduino用 20個 5mm 940nm クリア

ブレッドボード

これは聞いたことがないと思う。配線はいせんを簡単に組めるやつです。
線を差し込むだけで簡単に電気が流せます。マイコンするならこれは必須です。


【サンハヤト Sunhayato】サンハヤト SAD-101 ニューブレッドボード

ジャンパ線

電気を流す線です。これから電気工作をしたいならこれは普通に買っておくことをお勧めします
これもマイコンを使うなら絶対に必要になってくるものです。


DiyStudio 10CM ジャンパー線多色デュポンワイヤー120pcs、用28AWGケーブル ブレッドボード・ジャンパーワイヤー、オス-メス・オス-オス・メス-メスピッチ2.54mm * 40Pin【2021人気限定】

usbケーブル

usbケーブルです。esp32の商品によって規格きかくが異なるのであったものを選びましょう。
よくあるのは、type-cかUSB 2.0 Micro-Bです
ちなみに私が書いたesp32だと、USB 2.0 Micro-Bです。
ps4のコントローラーと同じです。


U2C-DAMB20BK エレコム 両面挿しUSBケーブル 2.0m(USB Aオス – USB Micro-Bオス・ブラック)

作っていこう!

配線

配線をしていきましょう。
私は、https://wokwi.com/ このサイトで配線を組んでいきます。
シミュレーターです。
実際に作るときはリアルで配線を組んでください。

ブレッドボードはアルファベット書かれている方向と、+と-の列が同じ線でつながれています。

オリジナル画像 : https://fujimoostudios.org/?p=139

それをまえたうえで、次の配線を作ってみましょう。

https://wokwi.com/

4番ピンがプラス、GNDがマイナスです。
上の線で赤色の線をジャンパ線でつなげてください。
ledは、線が長いほうがプラスです。
抵抗ていこうは、200~300Ωのものを付けましょうよくわからなければ、おすすめのもの(セットのやつを買ったなら220Ω、単品は300Ω)を使いましょう。
抵抗は、プラスマイナスがないので向きはどっちでもいいです。

パソコン側の操作

arduino IDEのインストール

Software
Open-source electronic prototyping platform enabling users to create interactive electronic objects.

上のリンクから、arduino IDEというものをインストールします。
ESP32にむ用のソフトです。

インストーラーがダウンロードされるので、それを実行してインストールして下さい。

インストール手順てじゅんは書くのが難しかったので簡単になってしまいましたが、
googleで「arduino ide インストール方法」等検索してくれたらいいと思います。

インストールできたら開いてみて、ctrlキーと カンマキー(”、”日本語だと点)を押します。
出てきたもので、language(言語げんご)を日本語にします。

そして、追加ボードマネージャーのURLに、次の文を入力します。

https://dl.espressif.com/dl/package_esp32_index.json


それができたらokを押して設定を閉じます。
そしたら左のからボードマネージャーを押して「esp32」と検索しましょう。そしてでてきたものでインストールを押します。

ESP32を接続する

まず最初にesp32とパソコンをusbで接続しましょう。usbの種類については、上の方に書いてあります。
また、esp32の種類は商品によって異なるので自分が購入こうにゅうしたものを調べてください。

ここでは、私が一番最初にセットで買う用に紹介したものを書いていきます。

他のボードとポートを選択をおす。

「esp32 wrover」(単品たんぴんを買ったなら”nodemcu”)と検索して、ポートは表示されているものをクリック
そしたらokを押す。

プログラミング!

次のコードをarduino ide に書きます。

#include <BluetoothSerial.h>

// Bluetoothを開始するやつ
BluetoothSerial SerialBT;

// LEDを接続するピン番号
const int ledPin = 4;

void setup() {
  // シリアル通信の開始
  Serial.begin(115200);
  Serial.println("Bluetooth Serial Start");

  // Bluetoothの初期化
  SerialBT.begin("leno");
  Serial.println("Bluetooth Device online");
}

void loop() {
  // Bluetoothからデータを受信
  if (SerialBT.available()) {
    char data = SerialBT.read();
    Serial.print("受信: ");
    Serial.println(data);

    // 受信したデータに応じてLEDを制御
    if (data == '1') {
      digitalWrite(ledPin, HIGH);//1なら4番ピンに電流を流す
      SerialBT.println("LED ON");
    } else if (data == '0') {
      digitalWrite(ledPin, LOW);//0なら電気を止める
      SerialBT.println("LED OFF");
    }
  }
}

入力できたら「書き込み」を押して書き込みましょう。

また、書き込み中はbootボタンをを押しましょう。

(素手で押しても大丈夫ですが、力を入れてピンを押さないようにしましょう。微妙に痛いです)

使ってみる

スマホに、次のアプリをダウンロードします。
android:

Serial Bluetooth Terminal - Google Play のアプリ
ブルートゥース・クラシック/ LEに接続されたシリアルデバイスのための端末

iOS(iPhone):

‎LightBlue®
‎LightBlue® can connect you to all of your devices that use Bluetooth Low Energy (also known as Bluetooth Smart, or Blue...

iPhoneは使ってないので動作確認どうさかくにんできませんが、こちらのサイトを参考にしてください。

devicesを押します

scanを押します

そこに、「leno」が出てきたら接続してください。

connectedになったらokです。
↓いい感じですね

発表するとき

led電球の明るさはたかが知れているので段ボール等で囲うと分かりやすいです
また、esp32は一度書き込むと書き換えるまではモバイルバッテリー等でも動作するので学校にモバイルバッテリーをもっていって接続して先生のスマホからbluetooth接続してもらうのも手です。

これだけでなく、ledの数を増やして手動の信号機しんごうきを作ってみても面白いかもしれません。

さいごに

どうでしたか?難しいですよね。もしかしたら意外と簡単だったかもしれません。分からないところがあればコメントやdiscordで教えて下さい。

もし、これを参考にして提出してくれる方がいたらこのサイトのurl(https://lorinta.xsrv.jp/)かgithub(https://github.com/rintaro-s)等のurlを参考文献として記載してくれると嬉しいです。

コメント

タイトルとURLをコピーしました