SSブログ

ESP32(ESP-WROOM-32)の環境設定がめんどくさそう [Arduino]

会社の同僚から借りてきた ESP-WROOM-32 ことESP32。仕事が忙しくてなかなか手をつけられませんが、せめて環境くらいは揃えておこうかなと思い、少し調べてみました。


DSC04446.JPG


まだ日本では発売されていないので、あまり記事がないかなと思ったのですが、いつの世にも切り込み隊長はいるものですね。


Arduino IDEでESP32(ESP-WROOM-32)を使用する方法・途中版
http://blogs.yahoo.co.jp/bokunimowakaru/55621949.html


で、環境設定はESP-WROOM-02 のようにURLを入力してボタン一発かと思いきや、、、 


やりたくねー.png


め、面倒くさすぎる。もうちょっと時間が出来てからにしようかなぁ。。。
σ(^_^;





ESPr Developer(ESP-WROOM-02開発ボード)

ESPr Developer(ESP-WROOM-02開発ボード)

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス



ArduinoとESP8266ではじめる IoTプログラミング

ArduinoとESP8266ではじめる IoTプログラミング

  • 出版社/メーカー:
  • 発売日: 2016/04/22
  • メディア: Kindle版



ESP8266で始めるWi-Fi IoTプロジェクト

ESP8266で始めるWi-Fi IoTプロジェクト

  • 出版社/メーカー:
  • 発売日: 2016/08/10
  • メディア: Kindle版




ESP8266(ESP-WROOM-02)とFET(モータードライバ)でコアレスモーターを駆動してみた [Arduino]

ESP-WROOM-02 で、FET(モータードライバ)を使ってコアレスモーターを駆動をしてみました。手元にTPC8407というFETがあったので、それで試してみました。


TPC8407 データシート http://akizukidenshi.com/download/ds/toshiba/TPC8407_datasheet_ja_20140107.pdf


回路は下記のように組んでみました。本来は電源を3.3Vにレベルダウンする必要がありますが、動作確認なので端折ってしまっています。ESP-WROOM-02 は3.7V入力しても結構耐えてくれますね。


driving coreless motor.png


FETを保護するためのダイオード、コンデンサも手元になかったので省いてしまっています。実際に組むときは考えないといけませんね。

組み上がった回路がこちらです。


DSC04441.JPG


FETは恥ずかしながら空中配線です。(^^;


DSC04443.JPG


それでは動かしてみましょう。スケッチは前回と同じものを使っています。





ポートから駆動するよりもはるかに力強く回ってくれています。これなら飛びそうかなぁ。
σ(^. ^)















噂のESP3212 (ESP-WROOM-32) を入手! [Arduino]

今日は会社の同僚から嬉しいプレゼントをいただきました!なんと ESP-WROOM-32 をまとめて入手したので、一台評価してみる?と貸してもらっちゃいました!eBay から入手したそうです。


DSC04446.JPG


このブレイクアウトボードはUSB端子もついていて、PCにつなげてすぐ使えるようになっています。WiFiだけでなくBLEも内蔵しているので楽しみです。おいおい評価レポートを上げたいと思います。
(´∀`)ノ





waves ESP8266 WiFiモジュール(技適取得済み) ESP-WROOM-02 キット 赤基盤

waves ESP8266 WiFiモジュール(技適取得済み) ESP-WROOM-02 キット 赤基盤

  • 出版社/メーカー: waves(ウェイブス)
  • メディア: おもちゃ&ホビー



ArduinoとESP8266ではじめる IoTプログラミング

ArduinoとESP8266ではじめる IoTプログラミング

  • 出版社/メーカー:
  • 発売日: 2016/04/22
  • メディア: Kindle版



ESP8266 Weather Station: Getting Started Guide (English Edition)

ESP8266 Weather Station: Getting Started Guide (English Edition)

  • 出版社/メーカー: Daniel Eichhorn
  • 発売日: 2016/09/01
  • メディア: Kindle版




ESP8266(ESP-WROOM-02)でコアレスモーターを直接駆動してみた [Arduino]

ESP-WROOM-02 のPWMでコアレスモーターを直接つないで試しに動かしてみることにしました。


DSC04439.JPG


モータードライバーがないと回らないだろうなぁと思いつつ、下記のようなスケッチを試してみました。


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にダメージを与えそうで怖いですし、四つのモーターを動かすドライブ能力はないので、ドローン用回路ではモータードライバーを追加します。

しかし、このモーターの音、近未来的でかっこいい。
・:*:・( ̄∀ ̄ )。・:*:・





ESP-WROOM-02ピッチ変換済みモジュール《フル版》

ESP-WROOM-02ピッチ変換済みモジュール《フル版》

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス






PXYNANOプロペラセット(8枚入)

PXYNANOプロペラセット(8枚入)

  • 出版社/メーカー: G-FORCE(ジーフォース)
  • メディア: おもちゃ&ホビー





ESP8266のPWMを試してみる [Arduino]

今回はモーターコントロールをするためのESP8266のPWM機能を試してみます。


DSC04434.JPG


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 OTA WeMos D1 CH340 WiFi 開発ボード ESP8266 ESP-12F For Arduino IDE UNO R3

  • 出版社/メーカー: HiLetgo
  • メディア: エレクトロニクス






ArduinoとESP8266ではじめる IoTプログラミング

ArduinoとESP8266ではじめる IoTプログラミング

  • 出版社/メーカー:
  • 発売日: 2016/04/22
  • メディア: Kindle版




今更ながら ESP8266 (ESP-WROOM-02) のOTAを試す [Arduino]

世の中はESP8266からESP3212へ移行しつつありますが、今更ながらESP8266のOTAを試してみました。


DSC04428.JPG


ドローンのマイコンにESP-WROOM-02を考えているのですが、ソフトウェアアップデートをOTAで出来れば便利かなと思った次第です。

OTAを行うには、OTA用のスケッチを書き込む必要があります。「スケッチの例」から「BasicOTA」を選択します。

BasicOTA.png

BasicOTAの"ssid" と"password" を変更します。


BasicOTA2.png


BasicOTAをESP-WROOM-02へ書き込み、ブートモードで起動します。ここで、コンソールにIPアドレスが出てくれば準備完了です。


BasicOTAConsole.png


ここで、一度 Arduino IDE を閉じて再起動します。(←ここ重要)

すると、メニューのシリアルポートにネットワークポートが追加されています。

BasicOTAPort.png


このポートで、ソフトをアップデートをしますが、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」を追加し、処理を記述します。試しにボードに書き込んでみました。


BasicOTANewTab.png


WiFiで動作していることを確認するためにバッテリーで駆動してみます。


DSC04434.JPG


動画でアップロードの様子を映してみました。最初は BasicOTA の状態なのでLED点灯はありません。LEDを1秒間隔で点灯するソフトをOTAし、その後、0.5秒間隔の点灯のソフトに変更してみました。





これは便利ですね。どんどん活用していきたいと思います!
(^_^)/~





HiLetgo OTA WeMos D1 CH340 WiFi 開発ボード ESP8266 ESP-12F For Arduino IDE UNO R3

HiLetgo OTA WeMos D1 CH340 WiFi 開発ボード ESP8266 ESP-12F For Arduino IDE UNO R3

  • 出版社/メーカー: HiLetgo
  • メディア: エレクトロニクス



ESPr Developer(ESP-WROOM-02開発ボード)

ESPr Developer(ESP-WROOM-02開発ボード)

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス



ESP8266ではじめるIoTプログラミング

ESP8266ではじめるIoTプログラミング

  • 出版社/メーカー:
  • 発売日: 2016/06/05
  • メディア: Kindle版




0.5インチのOLEDディスプレイって売ってるんだ… [Arduino]

ここ数日、咳こみながらも会社に行き、早めに帰って10時間以上寝るという生活を続け、ようやく体調が復活してきました。やれやれ・・・。


glico.png


そんな寝こんでいる合間に、マイコンで駆動できる極小ディスプレイが欲しいなと思いネットを漁っていたら、0.5インチのOLEDディスプレイってあるんですねぇ。


0-5-inch-oled-display.jpg
https://www.dfrobot.com/wiki/index.php/0.5_Inch_OLED_Display_SKU:DFR0376#Specification


SPIなのでArduinoにもつながります。これで何か面白いウェアラブルガジェットを考えられないかな・・・。
σ(^_^)?





1.27インチ 16ビット色のOLEDディスプレイ(microSDスロット付き)

1.27インチ 16ビット色のOLEDディスプレイ(microSDスロット付き)

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス






Gikfun 0.91

Gikfun 0.91" 128x32 OLED White LCD Display Module IIC I2C for Arduino EK1826

  • 出版社/メーカー: Esooho
  • メディア: エレクトロニクス




タグ:Arduino OLED 0.5inch

IoT向け SoC の市場がレッドオーシャン化!エンドユーザーにはうれしい悲鳴。 [Arduino]

少し前から話題沸騰していた ESP8266 のバージョンアップ版、ESP3212 がいつの間にか出荷されていたようです!


ESP3212.png


ファーストロット 600個は瞬殺!次のロット3000個もすでに売り切れ。ものすごい注目度です。スマホの SoC ベンダーも真っ青のスペックは以下!


ES3212_spec.png
https://www.seeedstudio.com/ESP3212-Wifi-Bluetooth-Combo-Module-p-2706.html


I2S や CAN までサポートしているとはびっくりです。電話も車載もばっちりですね。WiFi に BLE までついてお値段は、驚きの $6.95!

すごい・・・。


しかし、イーサーネットチップの老舗 RealTek も負けていません。ESPに対抗するモジュール RTL8710 で迎え撃っています。


RTL8710.png


WiFi モジュールがたったの$3! 攻めてますね~。


ESP8266 との比較表をみつけてしまいました。IOの数が多いのがうれしいですね。


RTL8710 vs ESP8266.png
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/


どんなマジックを使ってここまで安くできるのか分かりませんが、エンドユーザーにとっては安いは正義! いずれも技適が通ったモジュールが出てくるのが楽しみです!
(^_^)/~





ESP-WROOM-02ピッチ変換済みモジュール《T型》

ESP-WROOM-02ピッチ変換済みモジュール《T型》

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス



ArduinoとESP8266ではじめる IoTプログラミング

ArduinoとESP8266ではじめる IoTプログラミング

  • 出版社/メーカー:
  • 発売日: 2016/04/22
  • メディア: Kindle版



Internet of Things with Esp8266

Internet of Things with Esp8266

  • 作者: Marco Schwartz
  • 出版社/メーカー: Packt Publishing
  • 発売日: 2016/07/31
  • メディア: ペーパーバック




CLIP DISPLAY(仮)開発、いよいよ追い込み!(`・ω・´) [Arduino]

この週末のMFT2016に向けて、CLIP DISPLAY(仮)の開発もいよいよ追い込み!と言いたいところなのですが、仕事がいきなり修羅場と化して、帰宅は毎日午前様。まさに寝る間を惜しんで開発しています。


DSC04218.JPG


残る課題は速度計測なのですが、加速度センサーは相対的な動きをとらえるにはよいのですが、絶対値はどうも使い物にならない。

ということで、歩数計で速度を測定することに方針転換しました。(間に合うのか?オレ。。。)グーグル師匠に聞いてみると、アナログデバイスさんのホームページですごく参考になる論文を発見!


3軸デジタル加速度センサーを使用したフル機能の歩数計の設計
http://www.analog.com/jp/education/landing-pages/003/analogdialogue/contents/ad4406_jp.html


ソースコードはないですが、考え方はそのまま応用できそうです。早速、アルゴリズムの検討のために、Z軸のデータを取ってみると・・・・


walkandRunwithSpikeNoize.png


なぜかスパイクノイズがところどころ乗っている。速度がまともに出なかった問題のひとつはこれだったのか。今までこんなノイズ出てなかったけどなぁ・・・。(´・ω・`)


データを注意深く解析していくと、どうもOLEDの点灯タイミングでノイズが出る頻度が高いようです。排他処理はしていたのですが、十分ではありませんでした。また、FIFOに残っているゴミデータも読みだしているようなので、適宜FIFOリセットを入れるようにしました。

これらの工夫を加えて得られた波形がこちら。


walkandRunwithNoNoize.png


とってもきれいな波形が読みとれるようになりました。あとはアナログデバイスさんのアルゴリズムを参考に歩数計から速度計、距離計を作るのみ!できれば万歩計機能も追加したいところですが、難しいかな。
(;^Д^)








心拍センサ

心拍センサ

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス



ESP-WROOM-02ピッチ変換済みモジュール《シンプル版》

ESP-WROOM-02ピッチ変換済みモジュール《シンプル版》

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス




CLIP DISPLAY(仮)のソフト開発難航中…(´・ω・`) [Arduino]

CLIP DISPLAY(仮)の電気系が完成したものの、肝心のソフトウェアがまだ完成途中。しかも、このタイミングで仕事が修羅場になってしまい、平日はほぼ時間がとれそうになく、とってもやばい状況。(´・ω・`)


DSC04218.JPG


ソフトで問題なのが、六軸センサーを用いた速度計。いろいろ実験した結果、センサーの加速度はオフセットはあるし、しかも値もあてにならない。ノイズを取りきってパラメータを調整するか、歩数計から速度計を作るか悩ましいところ。しかし、この時期に設計変更は非常に厳しい。うーん、どうしたものか・・・。
σ(-_-;)








心拍センサ

心拍センサ

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス



ESP-WROOM-02ピッチ変換済みモジュール《フル版》

ESP-WROOM-02ピッチ変換済みモジュール《フル版》

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス




この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。