Relative Content

ESP32

M5Stack Thermal Camera

AMG8833を利用したThermal Camera を 試作しました。 AMG8833:赤外線アレイセンサ Grid-EYE 説明 1. パナソニックのセンサーです。 2. 8 x 8赤外線グリッドアレイ(64ピクセル)。 3. 0℃〜80℃ の 範囲の温度を+ 2.5℃ の精度で測定します。 4. 最大7メートル の距離から人間を検出することができます。 5. 最大フレームレート10Hzで、独自の人感センサーやミニサーマルカメラ作成に最適です。 6. センサーはI2Cを介して通信します。 7. 人の活動を検知して、エアコンや照明を制御。 自動ドアやエレベータで人を検知に最適です。   M5Stack M5Stackは、320 x 240 TFTカラーディスプレイ、microSDカードスロット、スピーカーを備えたコンパクトで便利な開発モジュールです。ESP32を搭載しているため、Wi-FiおよびBluetooth通信を扱え、Arduino環境での開発が可能です。 ソースコード 最初のソースコードはhkoffer / M5Stack-Thermal-Camera-:AMG8833 8×8 を補完し 24×24 で実現。こちらすべて収める3Dケースのデータがあるので、いつかプリントしたい。 実際利用したのは、m600x の機能アップ版 :  https://github.com/m600x/M5Stack-Thermal-Camera 参考記事: M5Stack Thermal Camera Part 2

ESP32-CAMをテスト

Aliexpressで昨年8月購入した5ドル+送料の激安 ESP32-CAMは放置したまま、冬休み期間テストしてみることに。 配線 ESP32-CAM自体シリアルーUSB通信機能がないので、プログラムを書き込んだりするためにはUSB/TTLシリアルコンバーターが必要になる。300円でAmazonから購入した、Raspberry Pi ラズベリーパイ用の USB-TTLシリアルコンソールのUSB変換COMケーブルモジュールのケーブル を使用した。黒い台はDonkeyCar 車台の不良品を利用。黄色テープも地面にDonkeyCarのトラックを作る際用意したもの。 配線部分を拡大した写真です。青い線は、書き込み時には、ESP32-CAMのIO0とGNDをショートして行う。 USB-TTL ESP32-CAM TXD ( 緑 ) UOR RXD ( 白 ) UOT – ( IO0 – GND ) 5V 5V GND GND   プログラム ボードマネージャーを使用してESP32ボードを追加する必要があります。 これを完了すると、Arduino IDEボードマネージャーにESP32ボードのリストが表示されます。このリストからA-Thinker ESP32-CAMボードを選択します。 使用するサンプルスケッチは、CameraWebServerスケッチです。次のようにロードできます。 Arduino IDEを開きます トップメニューバーの[ファイル ]メニュー項目をクリックします。 下にスクロールして、[ 例 ]をクリックします。サブメニューが開きます。 サブメニューを下にスクロールして、Example for A-Thinker ESP32-CAMを探します。 この下には、ESP32のエントリが表示されます。それをクリックすると、別のサブメニューが開きます。 このサブメニューからカメラを選択します。 CameraWebServerを選択します このスケッチはESPO32-CAMをフル機能のオンラインカメラに変え、顔検出機能と豊富なコントロールを完備しています。これは、ESP32-CAM機能の非常に印象的なデモです。 スケッチを使用する前に、ネットワークに合わせてスケッチを修正し、正しいESP32モジュールを選択する必要があります。 「カメラモデルの選択」という行の下で、ボードの正しいエントリを選択する必要があります。私が使用したもの(そして最も人気のあるもの)はCAMERA_MODEL_AI_THINKERです その下に、SSIDの行が表示されます。ここにネットワークのSSIDを入力します。 SSIDの下の行にネットワークアクセスパスワードを入力します。 ESP32-CAMは2.4 GHz […]

M5Stack (1) MultiApp-Advanced

クリスマスの季節に、クリスマスソングが聴きたくなり、ネットラジオがいいかなと、以前から念願のネットラジオため集めった部品とESP8266, ESP32を使って見たけど、うまくいかない。 M5Stackでネットラジオ出来ないかと試して見た。 試してみたのは以下のソフトです。 ネットラジオやゲームやオシロ、Webサーバ、天気予報、WiFiモニタなどM5Stackでできることを一まとめにしたアプリケーションです。 botofancalin/M5Stack-MultiApp-Advanced: A M5Stack firmware made on PlatformIO 結果的に大成功! PlatformIO IDEのインストール Visual Studio Code(vscode)にPlatformIO IDEののプラグインをインストールする。 PlatformIO IDEはインストールが完了すると,エディタ上にホーム画面が表示される。 コードダウンロード cd Documents/PlatformIO/Projects git clone https://github.com/botofancalin/M5Stack-MultiApp-Advanced Build PlatformIO IDEから開いて。 ビルドはウインドウ左下のチェックマーク、M5Stackへの転送はその隣の矢印マークをクリックします。 無事、動作が確認できた。 SDカードの中身 Githubから取得してください。 https://github.com/botofancalin/M5Stack-MultiApp-Advanced/tree/master/SD_Data  

ESP32 (4) mini-Oscilloscope

Arduino UNOと同じmini-Oscilloscope を作って見た。 表示の正確性はまた検証が必要だけど ソースコードはほぼ一緒 /* This is set up to use a 128×64 I2C screen, as available here: http://www.banggood.com/buy/0-96-oled.html For wiring details see http://youtu.be/XHDNXXhg3Hg */ #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); #if (SSD1306_LCDHEIGHT != 64) // error(“Height incorrect, please fix Adafruit_SSD1306.h!”); #endif /********************************************/ #define CHARWIDTH 5 #define CHARHEIGHT […]

ESP32 (3) analogRead

目的 12bit A/Dは複数内蔵するので、活用したい。 スケッチはArduino Unoと同じような記述でできる。ただし読み取り値は0〜1023ではなく0〜4096で、入力電圧の範囲は0〜3.3Vのようだ。 結線 スケッチ const int voutPin = 2; const int VOLT = 3.3; // 3.3Vを電源とした場合 const int ANALOG_MAX = 4096; // ESP32の場合 void setup() { Serial.begin(115200); } void loop() { // R1の電圧を取得 int reading = analogRead(voutPin); // AD値をmVに変換 float voltage = ((long)reading * VOLT * 1000) / ANALOG_MAX; Serial.print(voltage); Serial.println(” mV, […]

ESP32 (2) SSD1306 & Clock

目的 SSD1306に時刻を表示するプログラム。 ESP8266と違って、SCL,SDAを探すも一苦労。 I2C0 – SDA,SCL = 21,22 **2019/9/2 注意:Adafruit_SSD1306関数の引数順番変更により、関連プログラムが影響する。 もともと次のような1行ものが、 // Adafruit_SSD1306 display(OLED_RESET); 次の数行に変わる。 // OLED Setting #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels // Declaration for an SSD1306 display connected to I2C (SDA, SCL pins) Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); なぜ互換性ないの引数順にするね?!どうしてもしたいならば、コンパイルエラーを出す方法で、修正を促す。 以前のプログラムが再検証するところ、エラーがなし、書き込みも成功、しかしOLEDが表示ない!困った。 […]

ESP32 (1) Blink

Lチカのプログラム ESP32-DevKitC を USB ケーブルで PC と接続. Arduino IDE のメニューから  Tools – Port – /dev/cu.SLAB_USBtoUART を選択(Mac OS Xの場合). 一番単純そうなサンプルスケッチを実行する. メニューから File – Examples – (Examples for ESP32 Dev Module) – ESP32 – ChipID – GetChipID を選択. Lチカ用内蔵LEDがGPIO2にあるが、GPIO4に外付けLEDを繋いでやった。 プログラム void setup() { pinMode(4, OUTPUT); } void loop() { digitalWrite(4, HIGH); delay(250); digitalWrite(4, LOW); delay(250); }     参考 https://qiita.com/Guwashi/items/1009faab2d3db24d80d5 https://kokensha.xyz/iot/mac-esp32-and-arduino-led/