はじめに
がWiFiやBluetoothがつかえるESP32がIoTデバイスをつくるときによく使われます。
しかし、Arduino UnoでもWiFi通信したい時があるはずです。
そんな時は有線LANに接続するイーサネットシールドがありますが、Arduino UnoにWiFiのみ接続可能なESP8266をつなぐと安価にWiFi通信できます。
実際にインタネットにある情報を参考にしながらWiFi接続を試してみて、ハマってしまったポイントを踏まえ、簡単に上記を説明したいと思います。
注意するところ
- 使用する3端子レギュレータによって、GND、入出力ピンの配置がことなっているのでデータシートを確認しましょう。
必要な部品
- Arduino Uno 1個
- ESP8266 1個
- 三端子レギュレータ 3.3V500mA NJU7223F33 1個 - ESP8266を動作させる電圧(3.3V)をつくるため。
- 電解コンデンサ 35V 47µF 1個
- セラミックコンデンサ 50V 0.1µF 1個
- 抵抗 10kΩ 3本
回路
配線は下記の通りです。
プログラム
# include "ESP8266.h"
# include <SoftwareSerial.h>
# define SSID "SSIDをかく"
# define PASSWORD "パスワードをかく"
int n = 0;
SoftwareSerial mySerial(11, 3); //RX, TX
ESP8266 wifi(mySerial);
//初期設定
void setup(void)
{
Serial.begin(115200);
if (wifi.setOprToStationSoftAP()) {
Serial.println("to station ok");
} else {
Serial.println("to station error");
}
if (wifi.joinAP(SSID, PASSWORD)) {
Serial.println("connect success");
} else {
Serial.println("connect error");
}
if (wifi.disableMUX()) {
Serial.println("disable mux success");
} else {
Serial.println("disable mux error");
}
}
void loop(void)
{
//何か処理を書く
}
終わりに
8ビット双方向ロジックレベル変換モジュールをつかうと、さらに動作が安定するようです。
そちらも試してみたいと思います。