aitendoで購入したLoLin製のNodeMCUを使ってみる
以前、秋葉原に行ったときにaitendoさんでESP8266モジュールのついたLoLin製のNodeMCUを購入したのですが一度も使わずに片付けていました。 そのころはほとんど開発用のボードはなかったので結構いいなと思っての購入でした。 aitendoさんのページでは以下になります。
今であれば下記のボードのほうがお安いのでいいのかなと思いますが。
所詮、技適はないモジュール搭載品なので今となってはあまり魅力はないかなと思います。 とはいえ、もったいないので無線機能を使わず、Arduinoなどとして使用したいと思います。
ハードウエアを認識する。
ハードウエアとしてはNodeMCU DEVKITと呼ばれるボードのようでした。
https://en.wikipedia.org/wiki/NodeMCUen.wikipedia.org
基本的にはPCとUSBで接続し、シリアルドライバをインストールしてボードの認識ができれば問題ありません。
USBシリアル変換にCH340チップを使用しているようなので、接続して新しいデバイスとして認識できなかった場合には
このあたりからドライバを入手してインストールを行ってください。
認識できれば、デバイスマネージャから下記のように認識されます。(USB-SERIAL CH340)
また、Teratermの接続ダイアログのシリアルポートにも表示されます。
ArduinoIDEの設定を行い、スケッチを書き込む
シリアルの準備ができたので後はArduinoIDEのボード設定を整えてスケッチを書き込んでいきます。
ボード設定に関してはESP8266の設定を事前に読み込ませます。
その後、NodeMCU 1.0(ESP-12E Module)を選択します。その他の設定に関してはデフォルトで大丈夫でした。(NodeMCU 1.0(ESP-12E Module)の設定でも問題なく書き込めていました。)
IDEのウインドウの右下に以下のような以下のような表示が出ていました。
その後、スケッチの書き込みを行うと、かなり時間はかかりますが問題なく書き込めました。本当はLチカをやりたかったのですが、オンボードのLEDがどのPINに接続されているかがわからなかったので、シリアルポートのテストするスケッチで代用しました。(M8266D30MCU2102の方はPIN=16にオンボードLEDが接続さてれているようです)
書き込みが終わると無事に【ボードへの書き込みが完了しました。】と表示されます。
void setup() { // put your setup code here, to run once: pinMode(16, OUTPUT); Serial.begin(9600); Serial.println("Start!"); } void loop() { // put your main code here, to run repeatedly: Serial.println("HIGH"); delay(1000); Serial.println("LOW"); delay(1000); }
実際にArduinoIDEのシリアルモニタで動作を確認すると
ちゃんと1秒毎にHIGHとLOWの表示が行われていました。
終わりに
もうArduinoは純正であることに拘らなければ、300円程度で変えてしまうのであんまり意味がないかもしれませんが、折角、無駄にするのも何だったので使ってみました。可能ならMicroPythonなどにも挑戦したいです。