ESP8266をArduino IDEでコンパイルできるようにしました
TOP > てきとうにこらむ > ゲーム作りとプログラミング日記 > ESP8266をArduino IDEでコンパイルできるようにしました
ESP8266を使う
さて、ESP8266をつかいましょうか。650円で入手できるくせに、Wi-Fiも使えるというなんというか贅沢なマイクロコントローラー。
http://akizukidenshi.com/catalog/g/gK-09758/
Arduinoと何が違う
- シリアル通信用に変換モジュールが必要
- ここではやっぱりFTDIのUSBシリアル変換モジュールをつかいます
- ピン数すくない
- アナログ入力がないので何とかする
- I2CやSPIが重要になってくるのかなと
- 電圧
- 3.3Vでうごく
Arduinoがプロトタイピングボードとしての地位を築いた理由がわかってきたよ。
使えるようにする
ESP8266は、電源として3.3Vが必要ですが、電波を発する上にマイクロコントローラーとしての性能もよいのでかなり性能のいい3端子レギュレーターを選ばないと厳しかったりします。今回は3.3V 1AのTA48033Sを選択。
そのため、電源も5Vから取得できるように、スマートフォンなどのアダプターから取得するための端子台も作成。
ピン配置
シリアル変換モジュール
- シリアル変換モジュールのTXDをESP8266のRXDに
- シリアル変換モジュールのRXDをESP8266のTXDに
- シリアル変換モジュールのGNDをGNDに
コンパイルできるようにする
さて。データシートを見ると、7ページ目 Table3にはUART Download Modeとあり、ここには以下のように書かれています。
- GPIO15(IO15)をGNDに
- GPIO0(IO0)をGNDに
- GPIO2(IO2)を3.3Vに
そのほか
- ENに10kΩの抵抗をさしてあげてプルアップ。
- 3.3Vにレギュレーターからの電源を
- GNDをGNDに
- RSTにタクトスイッチ載せとこうか
コンパイル
Arduino IDEからESP8266でコンパイルできるようにする。そこら辺はググッてちょ。とりあえずコンパイルできるようになる。
ボードマネージャの追加
Arduinoの環境設定から、「追加のボードマネージャのURL」に以下を入力。
http://arduino.esp8266.com/stable/package_esp8266com_index.json
コンパイルするための設定
- マイコンボードは「Generic ESP8266 Module」
- Flash Modeは「DIO」
- Flash Frequencyは「40MHz」
- Upload Usingは「Serial」
- CPU Frequencyは「80MHz」
- Flash Sizeは「512k (64kSPIFFS)」
- Debug Portは「Disabled」
- Debug Levelは「なし」
- Reset Methodは「ck」だと書き込み時にリセットかけないといけないが、「nodemcu」にしておくとリセットは必要なし
- Upload Speedは「115200」
- シリアルポートはシリアル変換モジュールの場所
課題
- I2Cを使って複数デバイス使えるように仕様
- MQTTを使って通信する