ESP8266 WiFi開発ボード CP2012 ESP8266 OLEDを使ってみる

ESP8266 WiFi開発ボード CP2012 ESP8266 OLEDを使ってみる

はじめに

小型で画面表示できるマイコンはないかなと検索したところ、
面白いものを発見したので、動作確認をしてみる。

今回使用したのは、ArduinoにOLEDが既についている
Pinbotronix ESP8266 WiFi開発ボード 0.91インチESP8266 OLEDディスプレイWifiキット8 CP2102 IOTサポート Arduino IDE NodeMCU LUAを使用した。(名前長い)

このモジュールははんだ付けなしで、OLED、WiFiが使用でき、
さらにリチウム電池で駆動可能など、安価で高性能。

ひつようなもの

Pinbotronix ESP8266 WiFi開発ボード 0.91インチESP8266 OLEDディスプレイWifiキット8 CP2102 IOTサポート Arduino IDE NodeMCU LUA ×1 価格:¥1,479


※↓新しいリンク1,400円に値下げですね!2019/02/20現在

うごかしてみる

↑初回起動はこんな感じ。

https://drive.google.com/open?id=0B8DSGdAr8_31d19WQmN6SE1fLVEからドキュメント保存

PlatformIO IDE でも動くらしいですが、

今回はArduino IDEを使用。

↓README.mdより

### Boards Managerを使ったインストール###

1.6.4から、ArduinoはBoards Managerを使ってサードパーティのプラットフォームパッケージをインストールすることができます。 Windows、Mac OS、およびLinux(32および64ビット)用のパッケージがあります。

– [Arduino Webサイト](http://www.arduino.cc/en/main/software)からArduino 1.6.8をインストールします。
– Arduinoを起動してPreferencesウィンドウを開きます。
– [Additional Board Manager URLs]フィールドに「http:// arduino.esp8266.com / stable / package_esp8266com_index.json」と入力します。複数のURLをカンマで区切って追加できます。
– Tools> BoardメニューからBoards Managerを開き、* esp8266 * platformをインストールする(そしてインストール後にTools> BoardメニューからあなたのESP8266ボードを選ぶのを忘れないでください)。

このコアに関する質問をするのに最適な場所は、ESP8266コミュニティフォーラム(http://www.esp8266.com/arduino)です。
このフォーラムまたはESP8266 Boards Managerパッケージが便利な場合は、寄付による支援を検討してください。 <br />
[![寄付](https://img.shields.io/badge/paypal-donate-yellow.svg)](https://www.paypal.com/webscr?cmd=_s-xclick&hosted_button_id=4M56YCWV6PX66)

●よくわからないひとは↓

Arduino IDE に Stable ( Staging )版 ESP8266 ボードをインストールする方法https://www.mgo-tec.com/esp8266-board-install01-html

1.Arduino IDE 1.8.7をダウンロード、実行

2.esp8266 by ESP8266 Community ver2.5.0 をインストール

3.設定変更

デフォルトとした
ボード:”Generic ESP8266Module” →OK
Upload Speed:”115200″→OK
CPU Frequency:”80MHz”
Crystal Frequency:”26 MHz”
Flash Size:”512K(no SPIFFS)”
Flash Mode:”DOUT(compatible)”
Flash Frequency:”40MHz”
Reset Method:”ck”
Debug port:”Disabled”
Debug Level: “なし”
IwIP Variant: “v2 Lower Memory”
VTables:”Flash”
Exceptions:”Disabled”
Builtin Led:”2″
Erase Flash: “Only Sketch”
シリアルポート: ご自分の環境のポート

4.Hello,Worldを書き込む

void setup()
{
Serial.begin(115200);
}

void loop()
{
Serial.println(“Hello,World”);
delay(1000);
}

5.エラー表示

warning: espcomm_sync failed

ESPr Developerの時と同じエラーだ。

たしかボタンを押す面倒な作業が・・・(^^;)

わからないひとは↓

ESPr Developer(ESP-WROOM-02開発ボード)で “warning: espcomm_sync failed” と表示される場合の対処

https://qiita.com/shanonim/items/68fab6dc28b72b31a258

6.再度書き込み

成功!「Hello,World!」と表示できました。

7.サンプルソースの実行

FZ2835-FZ2836-FZ2837-ESP32-ESP8266\esp8266\tests\device\test_time\test_time.ino

をうごかしてみる。

OLEDのサンプルはこっち↓

FZ2835-FZ2836-FZ2837-ESP32-ESP8266\esp8266\libraries\OLED\examples\OLED_091_128x32_SSD1306\OLED_091_128x32_SSD1306.ino

ライブラリはここ↓

\FZ2835-FZ2836-FZ2837-ESP32-ESP8266\esp8266\libraries\OLED

つなぎかた

※誤字 D3ではなくD2です。

スケッチ

ここのMagnetic Door Sensor and Arduinoサイトを参考にした。


const int switchPin = 2;//スイッチ接続ピン
const int ledPin = 13;//LED接続ピン

void setup(){
  Serial.begin(115200);
  pinMode(switchPin, INPUT);
  pinMode(ledPin, OUTPUT);
  digitalWrite(switchPin, HIGH);
}

void loop(){
  if(digitalRead(switchPin) == LOW){//磁気が離れると
    digitalWrite(ledPin, LOW);
    Serial.println("OFF");
  }
  else{//磁気を近づけると
    digitalWrite(ledPin, HIGH);
    Serial.println("ON");
  }
  delay(1000);
}

※ソースは<pre>と<code>で作成した

完成

完成動画

まとめ

・リードスイッチで処理ができた。