• Skip to main content
  • Skip to primary sidebar
  • Skip to footer
  • HOME
  • Arduino
    • Arduino初心者編
    • Arduino基礎編
    • Arduino応用編
    • Arduino実践編
  • Raspberry Pi
  • microbit
  • XBee
  • Scratch
  • Contact Us
  • Privacy Policy

STEMSHIP

ものづくりを通して、科学を学ぼう!

現在の場所:ホーム / Arduino / Arduino応用編 / ArduinoでSTEM教育​ 応用編:Wi-Fi経由で接続する方法

ArduinoでSTEM教育​ 応用編:Wi-Fi経由で接続する方法

2020年9月16日 by STEMSHIP コメントを書く

Wi-Fi経由での接続

IoT(Internet of Things)の世界では有線ネットワーク接続はあまり用いられず、Wi-Fi(WLAN(Wireless Local Area Network)と呼ばれる場合もある)経由で行うのが一般的です。そのためにイーサネットシールドと同様の使い方ができる、Wi-Fiシールドが開発されました。

しかし、Wi-Fi通信モジュールとArduinoとの通信をシリアルポートによって行うものが多く、スケッチ書き込みの際にスイッチなどで通信を切り離す必要があり、少し使いにくい一面があります。同じ理由でシリアルモニタも使用できません。

別のライブラリを使用することで、通常のデジタル出入力ピンを使ってシリアル通信をさせることもできますが、応答時間やメモリの問題などがあります。

こうした背景から、ここ最近ではWi-Fiシールドそのものに内蔵されているチップを活用するという、新しい流れが生まれています。これはWi-Fi機能を持ったマイクロコントローラですが、Arduinoに使用されているATMega328Pよりも後から開発されたもので非常に高性能です。

よく使用されるモジュールはESP32とESP8266です。実際に動作させるためにはDHCPサーバー機能のあるローカルWi-Fiネットワークが必要になります。一般的な家庭用のワイヤレスLANのルーターがそのまま使用できます。

ArduinoとESP32/ESP8266の比較

マイクロコントローラの性能を表にして比較しました。

 Arduino(ATMega328P)ESP8266ESP32
プロセッサコア数112
クロック周波数16MHz240MHz160MHz
プログラムメモリ32kB4MB4MB
ワーキングメモリ2kB160kB520kB
入出力端子231736
アナログ入力6116
動作電圧5V3.3V3.3V
WiFi×〇〇
Bluetooth××〇
PWM出力ピン6816

マイクロコントローラの性能を比較してみると、Arduinoで使われているATMega328PとESP32/ESP8266との差が顕著に現れます。しかし、必ずしもArduinoが劣っているというわけではなく、それぞれにメリット・デメリットがあります。

Arduinoではデジタル入出力ピンとアナログ入力ピン合わせて20本しかありませんが、特殊な設定をすると、あと3ピンをデジタル入出力ピンとして使えるようになります。(クリスタル発信子につながる2ピンとリセットピン1ピン)

Arduino(ATMega328P)は非常に安価に入手でき(300円前後~)、この中ではもっとも古くから使われています。世界中に数多くのユーザーがいて、インターネットで調べればたいていのスケッチやライブラリ、やりたいことの「前例」が見つかりますし、手元のArduinoに書き込んで動作させることができます。また、メーカーがチップに関する技術情報を多数公開しており、ドキュメントが充実しています。

これに比べて、非常に高い性能を持つESP32は最新のモデルであるがゆえに(Arduinoほど)広く浸透していないのが現状です。提供されているコンパイラや設定ファイルに一部エラーがあったり、一部の機能がうまく動作しないということがあったりします。今後、状況は変わっていくでしょう。

ESP8266は2020年現在、両方の利点を兼ね備えた状態です。コンパイラは成熟しており、利用者も増えてきていることから、IoTを活用したモノづくりをする際の最初の選択肢となっています。しかし、Arduinoほど簡単には扱えないため、その分ユーザーにはスキルや経験値が求められます。

レベルシフト(電圧レベル変換)

前述の通り、Arduino(ATMega328P)のマイクロコントローラとESPファミリーとでは動作のための電源電圧が異なります。これらの信号ピンを相互接続したい場合(シリアル通信でデータのやり取りをする場合など)、信号レベルの調整が必要になります。

シリアル接続の場合、レベル変換は分圧抵抗でよい

Arduinoから出力された信号をそのままESPに入力してしまうと、ESPにとって電圧が高すぎるので、ArduinoからESPに信号を送信する方向にはレベル変換回路を設けます。

単純な抵抗分圧回路を使用して、5Vの信号を減圧してESPに渡します。2つの抵抗値の比で出力電圧が変わり、例えばR1=22kΩ、R2=47kΩとすると出力は3.4Vとなり、これならESPの電子回路も問題なく受け取れます。

一方、Arduinoは3.0V以上の電圧が入力されれば「High」として読み取ります。つまり、ESPが出力した信号はそのままArduinoに入力しても問題なく読み取れるということです。

電圧の異なるデバイス同士で通信を行う場合、レベル変換モジュールを使うことで電源電圧が異なっていても信号のやり取りが行えるようになります。電圧が異なっていても「HighならHigh」「LowならLow」というように、うまく電圧を調整してくれます。

レベル変換モジュールの例

Filed Under: Arduino応用編 関連タグ:ESP32, ESP8266, IoT, WiFi, レベルシフト

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。

最初のサイドバー

CONTACT US

  • Facebook
  • Twitter
  • Youtube

More to See

Arduinoベースのセンサノード:XBeeデータ収集ノードの製作

2021年9月27日 By STEMSHIP

Arduinoベースのセンサノード:Arduinoを使った温度センサの作製

2021年9月21日 By STEMSHIP

XBeeモジュールとBMP280センサを使用してデータ収集する

2021年5月31日 By STEMSHIP

XBeeモジュールでMicroPythonを使ってセンサを読み取る

2021年5月24日 By STEMSHIP

XBeeモジュールでセンサを読み取る:センサノードの設定と測定

2021年5月17日 By STEMSHIP

カテゴリー

  • Arduino (44)
    • Arduino初心者編 (15)
    • Arduino基礎編 (11)
    • Arduino実践編 (4)
    • Arduino応用編 (11)
    • Arduino番外編 (3)
  • MakeyMakey (1)
  • microbit (11)
  • Raspberry Pi (13)
  • Scratch (6)
  • STEM教育 (5)
  • XBee (15)
  • ものづくり教育 (2)
  • 子供の教育 (2)
  • 科学 (6)
  • 算数 (5)

Tags

BLE DCモータ EEPROM ELEGOO ESP32 ESP8266 IoT LCD LED makeymakey MQTT Node-RED scratch STEM教育 WiFi XBee アニメーション オンラインゲーム カメラ クローン ゲーム コスチュームの変更 サーボモータ ステッピングモータ ステートマシン スピーカ タイマー ピンポン ブロック定義 ペン ライントレース ラジコン リスト 分数 割り込み 実験 工作 幼児 当たり判定 温度センサ 無線通信 物理 角度制御 重力 音楽

Footer

最近の投稿

  • Arduinoベースのセンサノード:スケッチ(プログラム)の作製
  • Arduinoベースのセンサノード:XBeeデータ収集ノードの製作
  • Arduinoベースのセンサノード:Arduinoを使った温度センサの作製
  • XBeeモジュールとBMP280センサを使用してデータ収集する
  • XBeeモジュールでMicroPythonを使ってセンサを読み取る

タグ

BLE DCモータ EEPROM ELEGOO ESP32 ESP8266 IoT LCD LED makeymakey MQTT Node-RED scratch STEM教育 WiFi XBee アニメーション オンラインゲーム カメラ クローン ゲーム コスチュームの変更 サーボモータ ステッピングモータ ステートマシン スピーカ タイマー ピンポン ブロック定義 ペン ライントレース ラジコン リスト 分数 割り込み 実験 工作 幼児 当たり判定 温度センサ 無線通信 物理 角度制御 重力 音楽

Search

2025年5月
月 火 水 木 金 土 日
 1234
567891011
12131415161718
19202122232425
262728293031  
« 10月    

Copyright © 2025 · STEMSHIP.COM