ESP32(ESP-WROOM-32)の環境設定がめんどくさそう [Arduino]
まだ日本では発売されていないので、あまり記事がないかなと思ったのですが、いつの世にも切り込み隊長はいるものですね。
Arduino IDEでESP32(ESP-WROOM-32)を使用する方法・途中版
http://blogs.yahoo.co.jp/bokunimowakaru/55621949.html
で、環境設定はESP-WROOM-02 のようにURLを入力してボタン一発かと思いきや、、、
め、面倒くさすぎる。もうちょっと時間が出来てからにしようかなぁ。。。
σ(^_^;
ESPr Developer(ESP-WROOM-02開発ボード)
- 出版社/メーカー: スイッチサイエンス
- メディア: エレクトロニクス
ArduinoとESP8266ではじめる IoTプログラミング
- 出版社/メーカー:
- 発売日: 2016/04/22
- メディア: Kindle版
ESP8266(ESP-WROOM-02)とFET(モータードライバ)でコアレスモーターを駆動してみた [Arduino]
TPC8407 データシート http://akizukidenshi.com/download/ds/toshiba/TPC8407_datasheet_ja_20140107.pdf
回路は下記のように組んでみました。本来は電源を3.3Vにレベルダウンする必要がありますが、動作確認なので端折ってしまっています。ESP-WROOM-02 は3.7V入力しても結構耐えてくれますね。
FETを保護するためのダイオード、コンデンサも手元になかったので省いてしまっています。実際に組むときは考えないといけませんね。
組み上がった回路がこちらです。
FETは恥ずかしながら空中配線です。(^^;
それでは動かしてみましょう。スケッチは前回と同じものを使っています。
ポートから駆動するよりもはるかに力強く回ってくれています。これなら飛びそうかなぁ。
σ(^. ^)
ESP-WROOM-02 32Mビット品 WiFiモジュール 10個
- 出版社/メーカー:
- メディア:
uxcell RC飛行機DCコアレスマグネチックモーター 電子モーター 0.5mmシャフト径 3.7V 63000RPM 5個入り
- 出版社/メーカー: uxcell
- メディア: その他
噂のESP3212 (ESP-WROOM-32) を入手! [Arduino]
このブレイクアウトボードはUSB端子もついていて、PCにつなげてすぐ使えるようになっています。WiFiだけでなくBLEも内蔵しているので楽しみです。おいおい評価レポートを上げたいと思います。
(´∀`)ノ
waves ESP8266 WiFiモジュール(技適取得済み) ESP-WROOM-02 キット 赤基盤
- 出版社/メーカー: waves(ウェイブス)
- メディア: おもちゃ&ホビー
ArduinoとESP8266ではじめる IoTプログラミング
- 出版社/メーカー:
- 発売日: 2016/04/22
- メディア: Kindle版
ESP8266 Weather Station: Getting Started Guide (English Edition)
- 出版社/メーカー: Daniel Eichhorn
- 発売日: 2016/09/01
- メディア: Kindle版
ESP8266(ESP-WROOM-02)でコアレスモーターを直接駆動してみた [Arduino]
モータードライバーがないと回らないだろうなぁと思いつつ、下記のようなスケッチを試してみました。
static unsigned int motor = 13; static unsigned int led = 12; void OTA_setup() { analogWriteFreq(2000); analogWriteRange(1000); } unsigned int duty=0; bool inc = true; void OTA_loop() { analogWrite(motor, duty); analogWrite(led, duty); if (inc) { if (duty++ == 1000) inc = false; } else { if (duty-- == 0) inc = true; } delay(1); }
OTA_setup()、OTA_loop() はなんぞやという方はこちらの記事を参照ください。
さて、意外や意外の結果はこちら。
なんと、GPIO でコアレスモーター動かせちゃいました。
ただモーターが発生させる逆起電力がIOにダメージを与えそうで怖いですし、四つのモーターを動かすドライブ能力はないので、ドローン用回路ではモータードライバーを追加します。
しかし、このモーターの音、近未来的でかっこいい。
・:*:・( ̄∀ ̄ )。・:*:・
uxcell RC飛行機DCコアレスマグネチックモーター 電子モーター 0.5mmシャフト径 3.7V 63000RPM 5個入り
- 出版社/メーカー: uxcell
- メディア: その他
ESP8266のPWMを試してみる [Arduino]
ESP8266でPWMを使うには、他のArduinoボードと同じように analogWrite を用います。その他に、ESP8266独自のAPIとして、PWMの周波数を設定する analogWriteFreq()、 制御のレンジを決める analogWriteRange() Iが用意されています。
下記のようなスケッチをOTAで書き込んでみました。OTA_setup()、OTA_loop() なんぞやという方は、こちらの記事を参照してください。
static unsigned int led = 13; void OTA_setup() { Serial.begin(115200); analogWriteFreq(2000); analogWriteRange(1000); } unsigned int duty=0; bool inc = true; void OTA_loop() { analogWrite(led, duty); if (inc) { if (duty++ == 1000) inc = false; } else { if (duty-- == 0) inc = true; } delay(1); }
実際に動かしてみました。
しかし、下の記事によると、ESP8266のPWMは実はソフトPWMなので多少の誤差がある上に、Duty比も90%までという制約があるようです。
ESP8266 PWM revisited (and reimplemented
https://lurchi.wordpress.com/2016/06/29/esp8266-pwm-revisited-and-reimplemented/
その対策もこちらの記事にあったので試してみたのですが、どうもうまく動かないんだよなぁ。
σ( ̄ε  ̄;)
HiLetgo OTA WeMos D1 CH340 WiFi 開発ボード ESP8266 ESP-12F For Arduino IDE UNO R3
- 出版社/メーカー: HiLetgo
- メディア: エレクトロニクス
ESP-WROOM-02 32Mビット品 WiFiモジュール 10個
- 出版社/メーカー:
- メディア:
ArduinoとESP8266ではじめる IoTプログラミング
- 出版社/メーカー:
- 発売日: 2016/04/22
- メディア: Kindle版
今更ながら ESP8266 (ESP-WROOM-02) のOTAを試す [Arduino]
ドローンのマイコンにESP-WROOM-02を考えているのですが、ソフトウェアアップデートをOTAで出来れば便利かなと思った次第です。
OTAを行うには、OTA用のスケッチを書き込む必要があります。「スケッチの例」から「BasicOTA」を選択します。
BasicOTAの"ssid" と"password" を変更します。
BasicOTAをESP-WROOM-02へ書き込み、ブートモードで起動します。ここで、コンソールにIPアドレスが出てくれば準備完了です。
ここで、一度 Arduino IDE を閉じて再起動します。(←ここ重要)
すると、メニューのシリアルポートにネットワークポートが追加されています。
このポートで、ソフトをアップデートをしますが、OTAをするソフトウェアは常にBasicOTAのルーチンが必要になります。省いてしまうと、一度OTAをしたら二度目からOTAが出来なくなります。(ここも重要)
BasicOTAの中に処理を追加するのは見通しが悪いので、BasicOTAにAPIを追加します。追加するのは、OTA_setup()、OTA_loop() の二つです。
#include <ESP8266WiFi.h> #include <ESP8266mDNS.h> #include <WiFiUdp.h> #include <ArduinoOTA.h> const char* ssid = "your ssid"; const char* password = "your password"; void setup() { Serial.begin(115200); Serial.println("Booting"); WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); while (WiFi.waitForConnectResult() != WL_CONNECTED) { Serial.println("Connection Failed! Rebooting..."); delay(5000); ESP.restart(); } // Port defaults to 8266 // ArduinoOTA.setPort(8266); // Hostname defaults to esp8266-[ChipID] // ArduinoOTA.setHostname("myesp8266"); // No authentication by default // ArduinoOTA.setPassword((const char *)"123"); ArduinoOTA.onStart([]() { Serial.println("Start"); }); ArduinoOTA.onEnd([]() { Serial.println("\nEnd"); }); ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) { Serial.printf("Progress: %u%%\r", (progress / (total / 100))); }); ArduinoOTA.onError([](ota_error_t error) { Serial.printf("Error[%u]: ", error); if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed"); else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed"); else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed"); else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed"); else if (error == OTA_END_ERROR) Serial.println("End Failed"); }); ArduinoOTA.begin(); Serial.println("Ready"); Serial.print("IP address: "); Serial.println(WiFi.localIP()); OTA_setup(); // ←追加 } void loop() { ArduinoOTA.handle(); OTA_loop(); // ←追加 }
新規にタブ「MainOTA」を追加し、処理を記述します。試しにボードに書き込んでみました。
WiFiで動作していることを確認するためにバッテリーで駆動してみます。
動画でアップロードの様子を映してみました。最初は BasicOTA の状態なのでLED点灯はありません。LEDを1秒間隔で点灯するソフトをOTAし、その後、0.5秒間隔の点灯のソフトに変更してみました。
これは便利ですね。どんどん活用していきたいと思います!
(^_^)/~
HiLetgo OTA WeMos D1 CH340 WiFi 開発ボード ESP8266 ESP-12F For Arduino IDE UNO R3
- 出版社/メーカー: HiLetgo
- メディア: エレクトロニクス
ESPr Developer(ESP-WROOM-02開発ボード)
- 出版社/メーカー: スイッチサイエンス
- メディア: エレクトロニクス
0.5インチのOLEDディスプレイって売ってるんだ… [Arduino]
そんな寝こんでいる合間に、マイコンで駆動できる極小ディスプレイが欲しいなと思いネットを漁っていたら、0.5インチのOLEDディスプレイってあるんですねぇ。
https://www.dfrobot.com/wiki/index.php/0.5_Inch_OLED_Display_SKU:DFR0376#Specification
SPIなのでArduinoにもつながります。これで何か面白いウェアラブルガジェットを考えられないかな・・・。
σ(^_^)?
1.27インチ 16ビット色のOLEDディスプレイ(microSDスロット付き)
- 出版社/メーカー: スイッチサイエンス
- メディア: エレクトロニクス
EasyWordMall iic i2c ホワイトOLEDモジュール ディスプレイ 0.96インチ 51マイクロコントローラ12864 Arduino用
- 出版社/メーカー: Apple Trees E-commerce co., LT
- メディア: その他
Gikfun 0.91" 128x32 OLED White LCD Display Module IIC I2C for Arduino EK1826
- 出版社/メーカー: Esooho
- メディア: エレクトロニクス
IoT向け SoC の市場がレッドオーシャン化!エンドユーザーにはうれしい悲鳴。 [Arduino]
ファーストロット 600個は瞬殺!次のロット3000個もすでに売り切れ。ものすごい注目度です。スマホの SoC ベンダーも真っ青のスペックは以下!
https://www.seeedstudio.com/ESP3212-Wifi-Bluetooth-Combo-Module-p-2706.html
I2S や CAN までサポートしているとはびっくりです。電話も車載もばっちりですね。WiFi に BLE までついてお値段は、驚きの $6.95!
すごい・・・。
しかし、イーサーネットチップの老舗 RealTek も負けていません。ESPに対抗するモジュール RTL8710 で迎え撃っています。
WiFi モジュールがたったの$3! 攻めてますね~。
ESP8266 との比較表をみつけてしまいました。IOの数が多いのがうれしいですね。
http://www.cnx-software.com/2016/07/28/an-alternative-to-esp8266-realtek-rtl8710-arm-cortex-m3-wifi-iot-modules-sell-for-2-and-up/
どんなマジックを使ってここまで安くできるのか分かりませんが、エンドユーザーにとっては安いは正義! いずれも技適が通ったモジュールが出てくるのが楽しみです!
(^_^)/~
ArduinoとESP8266ではじめる IoTプログラミング
- 出版社/メーカー:
- 発売日: 2016/04/22
- メディア: Kindle版
Internet of Things with Esp8266
- 作者: Marco Schwartz
- 出版社/メーカー: Packt Publishing
- 発売日: 2016/07/31
- メディア: ペーパーバック
CLIP DISPLAY(仮)開発、いよいよ追い込み!(`・ω・´) [Arduino]
残る課題は速度計測なのですが、加速度センサーは相対的な動きをとらえるにはよいのですが、絶対値はどうも使い物にならない。
ということで、歩数計で速度を測定することに方針転換しました。(間に合うのか?オレ。。。)グーグル師匠に聞いてみると、アナログデバイスさんのホームページですごく参考になる論文を発見!
3軸デジタル加速度センサーを使用したフル機能の歩数計の設計
http://www.analog.com/jp/education/landing-pages/003/analogdialogue/contents/ad4406_jp.html
ソースコードはないですが、考え方はそのまま応用できそうです。早速、アルゴリズムの検討のために、Z軸のデータを取ってみると・・・・
なぜかスパイクノイズがところどころ乗っている。速度がまともに出なかった問題のひとつはこれだったのか。今までこんなノイズ出てなかったけどなぁ・・・。(´・ω・`)
データを注意深く解析していくと、どうもOLEDの点灯タイミングでノイズが出る頻度が高いようです。排他処理はしていたのですが、十分ではありませんでした。また、FIFOに残っているゴミデータも読みだしているようなので、適宜FIFOリセットを入れるようにしました。
これらの工夫を加えて得られた波形がこちら。
とってもきれいな波形が読みとれるようになりました。あとはアナログデバイスさんのアルゴリズムを参考に歩数計から速度計、距離計を作るのみ!できれば万歩計機能も追加したいところですが、難しいかな。
(;^Д^)
EasyWordMall iic i2c ホワイトOLEDモジュール ディスプレイ 0.96インチ 51マイクロコントローラ12864 Arduino用
- 出版社/メーカー: Apple Trees E-commerce co., LT
- メディア: その他
ESP-WROOM-02ピッチ変換済みモジュール《シンプル版》
- 出版社/メーカー: スイッチサイエンス
- メディア: エレクトロニクス
CLIP DISPLAY(仮)のソフト開発難航中…(´・ω・`) [Arduino]
ソフトで問題なのが、六軸センサーを用いた速度計。いろいろ実験した結果、センサーの加速度はオフセットはあるし、しかも値もあてにならない。ノイズを取りきってパラメータを調整するか、歩数計から速度計を作るか悩ましいところ。しかし、この時期に設計変更は非常に厳しい。うーん、どうしたものか・・・。
σ(-_-;)
EasyWordMall iic i2c ホワイトOLEDモジュール ディスプレイ 0.96インチ 51マイクロコントローラ12864 Arduino用
- 出版社/メーカー: Apple Trees E-commerce co., LT
- メディア: その他