ESP8266あれこれ(RGB LEDコントロール)

PIXMOBいじってた時、テスターで配線をチェックしてたら基板上にある3つのLEDが並列に接続されてることに気づいた。

これだったら一つのLEDの色を変えたら他のも連動できるなと思い、ちょっと試してみた。

Arduinoを使ってもいいけど、ESP8266やEPS32を使えばワイヤレスで変色できる。

 

でもLEDとモジュールはワイヤーで接続しないとどうしようもない。

LEDは挿入実装の足を使った。RGBそれぞれに配線を半田付け。

テスターでチェックしたらアノードコモンだったので、電池の端子を使って配線を引っ張り出した。

どのモジュールを使おうか悩んだけど、ググったらコントロール用のアプリがあるスケッチがあったので、これを使うことにした。

 http://microcontrollerkits.blogspot.com/2016/05/esp8266-wifi-control-rgbled.html

配線が4つだけですむ。これは簡単。

ここからスケッチをダウンロード。

 https://github.com/amphancm/ESP8266WiFi_RGBLED

 

自分のArduino IDEにはESP8266のボードは入ってるので、セッティングは不要。

「Generic ESP8266 Module」を選択した。

スケッチを開き、15行目と16行目をカスタマイズする。

 const char* ssid = "自分とこのWifiの名称";
 const char* password = "そのパスワード";

これでコンパイル、と思ったらやっぱり一発では上手くいかず、エラーが出た。

たいしたエラーではなく、ESP_Adafruit_SSD1306.hがないと言われただけなので、検索してダウンロードしてきた。

 

無事コンパイルできたので書き込みしたんだけど、最初これがちょっと怪しかった。

というかたぶんモジュール自体が怪しい。

基板にNodeMCUと書いてあるからNodeMCUのモジュールを選択したけど上手く動かなかったので、結局「Generic ESP8266 Module」を選択して上手くいった。

 

モジュールとPIXMOBの接続は、RGBがD5,D6,D7で電源が3Vか3.3V。これは簡単。

LEDは3Vを接続した状態で一つずつ配線して、どの端子がどの色か確認しておくといい。

 

アプリは以下のをインストール。Androidのみ。

 https://play.google.com/store/apps/details?id=rgbled.wifi.esp8266&hl=ja

Arduino IDEのシリアルモニタを確認するとIPアドレスが出ているはず。

これをアプリの設定画面に入力。(最後の数字(80)はそのままでOKだった)

無事モジュールと接続できれば、LEDの色をアプリから変化させることができる。

これは画像だから、動いた証拠になってないけど。

 

3つのLEDのうち一つに直接配線したから、それだけ妙に明るい。しかもちょっと色が違う。

気になることは気になるので、抵抗を入れるかして調整したほうがいいかも。それ以前に、中央の表面実装のLEDで接続すればバランスが良かったかもしれない。

ただ、自分としては接続するものをこれ以上増やしたくない。せっかく無線でコントロールできてるので。

 

あとはWifiに上手く接続できないことがたまにある。

一度電源を落とすとか、リセットするとかしてみると治る。安物の謎モジュールのせいか、ちょっと不安定。

でもこれはこれで、リアルタイムで色をコントロールさせることができるのは楽しいです。

Sponsered Link

ESP-12F Wi-Fi Witty Cloud Development Board

冬休み中に買い漁った妙なものが届きつつある。

今日は前に買ったESP-32Fと形が似てたというだけで、試しに買っていたESP8266のちっちゃいボードが届いた。

でもこれ、そんなに新しいものでもなかった。もう発売されて2年ぐらい経ってる感じ。

しかも久々にDX.comでこの手のものを買ったんだけど、AliExpressだったらもっと安いところがあった。

でもまあ比較的安心できるところで買うのも悪くないと思う。

安心はできるけど情報は古く、DX.comに記載されているURL先にはもうデータはないので、自力で情報をかき集め中。

売ってるところは多いけど、活用してる人は少ないいつものパターン。

 

個人的に写真が大きくてわかりやすかったんで、下記のブログを参照させて頂きました。

 https://yoursunny.com/t/2016/WittyCloud-first/

いつも通りArduino IDEで使えるんで、スケッチもこれを参考にしてみた。

接続はUSBだけで前のようにスイッチを押しながらという必要はないのが楽。

Arduino IDE側の設定方法は文章内のリンク先にあるので、わからなければ参照。でもちょっとバージョンが古い。

あとは今回のスケッチ用に、Streaming.hというライブラリが必要なのでダウンロードしてくる。これもリンクがあるので助かる。

 

記載されているスケッチをコンパイルして転送すると、LEDの点滅と変色が確認できます。

USB端子が上下どっちのボードにも付いてるんで困ったけど、どっちでもいいらしい。(適当)

シリアルモニタを見ながら色の変化を確認するとわかりやすいです。

Lチカするのには便利。

 

しかしせっかく光センサ(フォトレジスタ)が乗っかってるんで、これを使った電子工作ができるともっといいんだけどなあ。

ソフトを書けないのでスケッチを自力で起こすのもろくにできないんだけど、それ以前にアイデアが出てこない。

(で、また使わないボードが積み上がっていくという…)

Sponsered Link

Heltec WIFI KIT 8

年が明けたらしいけど、とりあえず数時間前の続きをメモしておく。

でないと忘れる。

 

自分の環境は基本Macなので、以下のマニュアルに沿ってターミナル上でコマンドを入れるだけだった。

 https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series/blob/master/InstallGuide/mac.md

コピペで済んだ。

以下、その結果。一応、ESP32とESP8266両方の環境を入れておいた。

 $ cd ~/Documents/Arduino/hardware

 $ git clone https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series.git heltec

 Cloning into 'heltec'...

 remote: Counting objects: 2847, done.

 remote: Total 2847 (delta 0), reused 0 (delta 0), pack-reused 2847

 Receiving objects: 100% (2847/2847), 36.26 MiB | 1.62 MiB/s, done.

 Resolving deltas: 100% (615/615), done.

 Checking out files: 100% (2109/2109), done.

 $ cd heltec/esp32

 $ git submodule update --init --recursive

 $ cd tools

 $ python get.py

 System: Darwin, Info: Darwin-17.3.0-x86_64-i386-64bit

 Platform: x86_64-apple-darwin

 Downloading xtensa-esp32-elf-osx-1.22.0-73-ge28a011-5.2.0.tar.gz

 Done

 Extracting xtensa-esp32-elf-osx-1.22.0-73-ge28a011-5.2.0.tar.gz

 Downloading esptool-4dab24e-macos.tar.gz

 Done

 Extracting esptool-4dab24e-macos.tar.gz

 Downloading mkspiffs-0.2.1-osx.tar.gz

 Done

 Extracting mkspiffs-0.2.1-osx.tar.gz

 Renaming mkspiffs-0.2.1-osx to mkspiffs

 Done

 $ cd ~/Documents/Arduino/hardware/heltec/esp8266

 $ git submodule update --init --recursive

 $ cd tools

 $ python get.py

 Platform: x86_64-apple-darwin

 Downloading esptool-0.4.9-osx.tar.gz

 Done

 Extracting dist/esptool-0.4.9-osx.tar.gz

 Renaming esptool-0.4.9-osx to esptool

 Downloading osx-xtensa-lx106-elf-gb404fb9-2.tar.gz

 Done

 Extracting dist/osx-xtensa-lx106-elf-gb404fb9-2.tar.gz

 Downloading mkspiffs-0.1.2-osx.tar.gz

 Done

 Extracting dist/mkspiffs-0.1.2-osx.tar.gz

 Renaming mkspiffs-0.1.2-osx to mkspiffs

エラーもなく無事終了。

これでArduino IDEを起動すると、ボードの一覧の中にHeltecという名称が増えてるはず。

今回はESP8266のWIFI_KIT_8を選択、スケッチ例もOLEDのを開いてコンパイル。

転送も問題なし。

意外と使いやすいです、画面が小さいから使い道は電光掲示板みたいに表示するのがいいかなあ。

 

せっかくなのでHello Worldを書き換えて新年の挨拶。

今年もよろしくお願いいたします。

Sponsered Link

Heltec WIFI KIT Series

世間は大晦日だけど、整理してたときに出てきたモジュールが気になってしまったのでつい遊んでしまった。

これだから大掃除って進まない。

 

ちょっと前に購入していた、ESP32とESP8266のボードにOLEDが付いたやつ。

上がESP8266に0.91インチのディスプレイ、下がESP32で0.96インチ。

個人的にOLEDがマイブームなので、モジュールとくっついてるのが便利じゃないかと思っていろいろ買い漁っていた。

その一部。

購入先のAliExpressのお店では商品名にメーカー名は書いてなかったけど、ボードのシルクには記載されていた。

とてもわかりやすい。

商品名から検索すると、すぐにオフィシャルらしきホームページが見つかる。

しかし中国語。

 http://www.heltec.cn/project/wifi_kit_32/

 http://www.heltec.cn/project/wifi_kit_8/

上記ページ内の「产品说明书」をクリックすると、説明書のPDFを見ることができる。

通常のESPボートと同じく、Aduino IDEでプログラムして使える。

でもPDF内のダウンロード先に行って見ると、すでにデータはなくなっている。このメンテナンスされてなさがとても中国らしくて良い。

 

普通のESPシリーズで使えるんだから無理しなくても良いんだけど、せっかくだから公式のデータがあれば使ってみたい。

(何の役にも立たない自分のこだわり)

というわけでもうちょい探したら、Githubに公式のデータ置き場があるのを発見。

 https://github.com/Heltec-Aaron-Lee

ここからデータを落とすことができる。

 

ソバ食べるのでとりあえずここまでで区切る。

では、良いお年を。

Sponsered Link

Wemos D1 miniとOLEDモジュール(続き)

昨日の続き。OLEDに表示させる画像をコンバートするツールの件。
簡単に表示できたので、自作の画像を表示させてみる。
BMPを表示させるライブラリ(OLED_DrawBitmap_with_SparkFun.ino)中に記載されているURL先には、Windows用のソフトしかない。


自分で絵を描くならLinuxではなくMac上でできるソフトはないかと探したけど、見つからない。

見つかるんだけど思ったようなコンバートができず、悩んでたところ、以下のページでコンバートできた。

 http://www.majer.ch/lcd/adf_bitmap.php

ブラウザ上でコンバートしてくれる。Safariで動いたので、Macでも大丈夫。

「Choose a file to convert」のところで64x54の白黒PNG画像を選択、「Convert File」をクリック。

(BMPではエラーになった、他のフォーマットでは不明)

出て来た英数字の{}内のみOLED_DrawBitmap_with_SparkFun.inoにコピペ。

これをコンパイルして転送、表示できた。

ドット絵とはいえさすが有機LED、表示がキレイ。

最初64x64の正方形で画像を作成したんだけど、下の部分が切れてしまった。

なので調べたところ64x48が正解。実は知らなかった。

縦方向は下が切れるだけなんだけど、幅は64で固定しないと画像がズレる。

 

実際にやってみるとだんだんわかってきた感じ。

画面にキレイに表示されるし、これだったらちょっとした文字とか表示させるのに便利なんで、ちゃんとした用途で使ってあげたいなあ。

Sponsered Link