arduinoとESP-WROOM-02を繋いでみた。〜かなり苦戦しました、、、〜

arduino uno を買って、ESP-WROOM-02を接続して使おうとすると回路を繋ぐだけでだいぶん苦戦しました。今回は、回路を繋ぐところから、ESP-WROOM-02のATコマンドによるWi-fi動作確認までを紹介します。
これから同じことを行われる方はこの記事を読むだけで数日分の短縮になりますのでぜひ参考にしてみてください。

完成形はこちらです。
![IMG_4630.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/426016/64a5dbe0-bca0-3d4f-654f-679cdb0a6a7d.jpeg)
![IMG_4627.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/426016/438c0ca5-4ea6-1dd6-d4ad-eb7193d4d30f.jpeg)
<img width="1152" alt="スクリーンショット 2019-06-15 8.32.28.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/426016/75a9a1ab-c59c-8da8-3f08-4cab0e6cc740.png">

##必要なもの
部品
【arduinoとPCに繋ぐケーブル】
・arduino uno　http://akizukidenshi.com/catalog/g/gM-07385/
・ＵＳＢケーブル　ＵＳＢ２．０　Ａオス－Ｂオス　１．５ｍ　Ａ－Ｂ　http://akizukidenshi.com/catalog/g/gC-07605/

【WI-FI】
・ＥＳＰ－ＷＲＯＯＭ－０２ピッチ変換キット　http://akizukidenshi.com/catalog/g/gK-13646/
※ピンヘッダをはんだ付けする必要があります。

【電圧変換】
・三端子レギュレータ　３．３Ｖ５００ｍＡ　http://akizukidenshi.com/catalog/g/gI-00432/
・カーボン抵抗（炭素皮膜抵抗）　１／４Ｗ　１０ｋΩ　（１００本入）
・絶縁ラジアルリード型積層セラミックコンデンサー０．１μＦ５０Ｖ２．５４ｍｍ　http://akizukidenshi.com/catalog/g/gP-00090/
・電解コンデンサー３．３μＦ５０Ｖ８５℃　http://akizukidenshi.com/catalog/g/gP-03173/

【その他】
・ブレッドボード http://akizukidenshi.com/catalog/g/gP-05294/
http://akizukidenshi.com/catalog/g/gR-25103/
・ブレッドボード・ジャンパーワイヤ（オス－オス）セット　各種　合計６０本以上　http://akizukidenshi.com/catalog/g/gC-05159/


##手順
arduino IDEはすでに使えるものとして進めます。
まだの方は下記のURLを参考にされると良いと思います。
【arduino IDEインストール方法】
https://dotstud.io/docs/arduinoide-setup/

####１、Wi-Fi回路を組む

ESP-WROOM-02周りの配線は以下の記事を参考にしました。
https://qiita.com/shibatchii/items/930fcd90fded76866483
※追加でESP-WROOM-02の15番とGNDの間には10kΩの抵抗を挟んでください。
※RSTボタンを作って置くと何かと便利です。 RSTとGNDの間にボタンを設置。

####2、電圧変換を作る
電圧を変換する理由について
ESP-WROOM-02は3.3Vの電圧を必要とします。arduinoに3.3vがあるのですが、これを使うと電流が足りずESP-WROOM-02がうまく動いてくれません。434mAが表示されたり消えたりでした、、、ATコマンドにも反応してくれませんでした。
したがって、arduinoの5Vを電圧変換で3.3Vにしています。すると電流が450mA程度を安定して確保できます。

ここから回路を作っていきます！
三端子レギュレーターというもので電圧変換をおこないます。

三端子レギュレーター のピン配置は下記を参考にしてください。
http://akizukidenshi.com/download/ds/njr/NJU7223_j.pdf

Vout　と　GND を　電解コンデンサー３．３μＦ　で繋げます
Vin　と　GND　を　セラミックコンデンサー０．１μＦ　で繋げます。
Voutはwi-fiへ
Vinはarduino 5Vピンへ
GNDはarduino GND と　ESP-WROOM-02のGNDへ

以上で回路は完成です。

####ATコマンドで動作確認

arduino IDEに下記のコードを書いてください

```
#include <ESP8266.h>

#define SSID        " ""の中にWi-FiのSSIDを入れてください"
#define PASSWORD    " ""の中にWi-Fiのパスワードを入れてください。"

SoftwareSerial mySerial( 2,3  ); 
ESP8266 wifi( mySerial );

void setup(void)
{
    Serial.begin( 9600 );

    mySerial.begin(115200);
    mySerial.println("AT+UART_CUR=9600,8,1,0,0");
    delay(10);
    mySerial.begin(9600); 
    delay(10);
        
    if ( wifi.setOprToStation() ) {
        Serial.println( "OK" );
    } else {
        Serial.println( "Error" );
    }

    if ( wifi.joinAP( SSID, PASSWORD ) ) {
        mySerial.println("AT+CIPSTA=192.168.1.200,192.168.1.1,255.255.255.0");
        delay(10);
        Serial.println( wifi.getLocalIP().c_str() );
    } else {
        Serial.println( "Failed" );
    }
}

void loop(void)
{
}
```
arduino IDE右上のシリアルモニターボタンを押して、CRおよびLFを選択、9600bpsを選択。
以下のように表示されていたら接続完了です。
<img width="1152" alt="スクリーンショット 2019-06-15 8.32.28.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/426016/75a9a1ab-c59c-8da8-3f08-4cab0e6cc740.png">

＃＃最後に
ネット上で先人たちの情報をみてもうまくいかないなと思っていたら、原因は電流不足でした。。。。
この記事でかなりの時短になります。尚、不足している情報もあると思うのでそこはネットで調べてみてください！