ArduinoIDEを使う為の子ネタ集
ここではArduinoIDEを使う小ネタ的パーツ検証を行っています。ネタとして集積していけば別記事に起こそうと思うのですが、そこまでは貯まらん奴です。2026年3月 3.3VRELAYは自作です一応3.3Vリレーユニットは売っていますが、需要が無い為か結構高かったりします。そこでDCモータをリレーに繋ぐだけのズボラリレーユニットを作りました。2026年2月 ATTINY使ってしまえばDeepSleepで悩まなくて良いんじゃね?知っている人は知っているのでしょうが、ATTINYの実力を今日まで知りませんでした。秋月電子で買えるATTINY40Xシリーズです。以前までATTINY85とかに気を取られて「値段合わないからイラネ」でスルーでしたが新リビジョン(といっても数年前取り扱い)は秋月電子だと1つ100円近辺と結構お安いです。これならESP-01S+ATTINYの構成でESP32S3/ESP32C3等よりリッチなWakeup機能の低消費電力運用が可能になります。2025年11月 ESP-01Sの8ピン端子にDHT11を直付けしても書き込みは出来るッポイ 私のスマートホームシステムの「リレースイッチ」はESP-01Sを使います。 現状はそのリレースイッチを使って家中の照明をスマートホーム化予定ですが イロイロ付加機能を考えた挙句DHT11だけでイイヤンと落ち着きました。 DHT11で落ち着いた理由は超単純でESP-01SのVcc/GND/GPIO02をDHT11と 繋いだママの状態でファームウェア書き込みが完了したからです(アハハハ 20台ほどリレースイッチを作る予定なのでイロイロ試作を行ってきましたが、 簡素化が進まない為に試作機5~10台止まりとなっています。 >>>5台は作り込み過ぎて分解不能となった奴等 >>>6~10台は試作後にイマイチと判り分解->再作成している機体2025年9月 WiFi SCANで何処で動作しているか把握する 私の自作スマートホーム動作確認環境は自宅・古民家の2か所があります。 ESP-NOW Mesh化した事でSSID/Passwordの設定から解放されたと思いましたが まだ根幹部分の改修が済んでおらず微妙にコンパイルで接続先を切り替えてました。 ※WiFi Multiの導入も検討しましたがどーも納得いかないので辞めました う~~ん コンパイルで接続環境を切り替えるのメンドくさ と、、、 いうことで悩んでいたのですがWiFi Multiを検討して思いつきました。 >> 起動時にWiFi ScanでSSIDのリストを取得して、動作環境を切り替える << 切り替える内容はSSIDとpasswordとSheetIDだけで済むのでパパッ!と終わります。 ※「Spreadsheetから設定を読み込む仕組みにしていて良かったなー」と自画自賛しています2024年9月 今更ですが16x2LCD I2C接続を使います 最近バッテリの充放電コントローラの制作でLGT8F328Pを使ってます。 お手軽で良いCPUなんでLCD表示機構を追加する事にしました。 ArduinoIDEのライブラリは "LiquidCrystal_I2C.h” です。I2C LCD 1602モジュール(2パック)、新しいタイプIIC TWIシリアル16x2ディスプレイ、Arduino Pico ESP32 ESP8266と互換性があります価格:2,571円(税込、送料無料) (2024/9/12時点)楽天で購入 今まで使わなかった事を後悔するぐらいお手軽です(汗2023年11月 DeepSleep駆動で使う3.3Vのレギュレータ何がいい? 僕が通常使う3.3VレギュレータがAMS1117でAliExpressで超お安く購入できます。 しかし最近は電池駆動でDeepSleepなんぞ使い始めるとAMS1117は役不足です。 何か良いモノ無いかなーと調べても秋月電子の高価なチップでニントモカントモ そういった中で何とか見つけました! Lolin32Liteで使用しているME6211です。 AliExpressでお安く買えて、Lolin32Liteでの実績があるので出力電流はお墨付き。 個人的にはハンダ付けし易い大きなパッケージが欲しいトコですケドネー。2023年10月31日 nRF52840を挑戦するにあたって電流計を作りました。 今年7月頃からスマートホーム機器のバッテリ駆動での常時待ち受けを 調査検討してきましたが、ESP32/8266系ではムリと挫折しました。 そこでスマートホーム機器を作るメーカーでパクれそうな手が無いかと調査すると BLEが使えるCPUのnRF52840がArduinoIDE対応でパクれそうだと判りました。 BLE通信についてはSwiftPlaygroundの習得で一応ハードルを越えました。 nRF52840をパクったとしても即低消費電力が実現できる訳でも無いので、 これからセッセと検討していきます。2023年7月13日 ESP8285に挑戦してみましたが・・ 使うのやーめた ESP8266とESP32でバッテリ駆動させるべくDeepSleepの検討をおこなっていますが、 毎処理10mSecで済む処理なのに、DeepSleepからメインルーチンに復帰するまでに 50mSec必要な事が判りました。そーいった訳で新ハードにすると労無く短縮できるか? という事でESP8285に挑戦しました。 結論としては復帰までに40mSecで約10mSec短縮できました。 またArduinoIDEの設定を変更するだけでプログラムも全く同じ物が利用可能でした。 ・・・・とは言え・・・・ 値段はイマイチ高いしESP-M3はソフト書き込みするのに微妙なピン配置という事で 検討だけで終了します。 購入したヤツらは仕方ないのでESP-01Sと同じ8ピンにして ESP-NOW中継ハブとして使う事にして、何も無かった事にしますw2023年6月16日 再度LGT8F328Pを使い始める事にしました。 最近ソーラー発電とか18650電池の放電制御ユニットの検討をするにつけて AD入力が何個も必要になるのですがESP32のADCで疑心暗鬼に陥ってしまって ADS1115を使ってお茶を濁しています。そんな中でAliExpressで検索調査をして いたら、以前価格高騰で使用を諦めていたLGT8F328Pが常識的な値段で買える様に なっていました。 再度使い始めるのでオススメの2品種を紹介しときます。 ・Pro mini style SSOP20 : Serialコンバータ無し 1個100円以下と安いです。2023年7月時点 1Mhz Clockで動かすと5.0mAの消費電力は嬉しい?かなw ・nano style : Serialコンバータ有り 1個217円と安いです。2023年7月時点 AD入力9CHでUSB Serialがあるので開発の試行錯誤に使い易いです。 ADS1115を買う意味ってあるんだろうか悩ましいですよね(汗 ADCは9CHあるのとサンプルプログラムの疑似差動入力も僕の要求仕様を満たして くれているので、ADS1115代替品として使おうと思っています。UARTでの通信は お手の物です・・・2023年5月9日 AS5600でラジコンサーボとステッピングモータの停止角度を取得する 今までラジコンサーボやステッピングモータを扱う際に、電源ON時の角度が 取得できないのが不満でした。今回AS5600というセンサを手に入れたので 使いモノになるか確認してみました。 軸受け側にAS5600を配置して、サーボホーン連動して動く磁石の向きを測定 する様にしました。 作りは一緒ですがステッピングモーターも動作確認をしました。2018年11月29日 I2C $1.93 SSD1306 OLEDモノクロディスプレイ I2C SSD1306 OLEDモノクロディスプレイ 名称 0.96inch IIC Serial OLED Display Module 機能 ディスプレイ サイズ 0.96inch 解像度 128x64 / 128 x 32 チップ SSD1306 資料 Adafruitのページにありました。 電源 3.3V (確認時電圧 I2Cアドレス 0x78 / 0x7A / 0x3c ライブラリ ACROBOTIC SSD1306 リンク https://github.com/acrobotic/Ai_Ardulib_SSD1306 感想 アルファベットなど基本的な描画が可能。 ドット描画関数を使って、日本語を書き出します。 2種類のサイズを確認しています。 I2C接続で簡単に使えるので 複数の状態表示をする用途があるなら、コレで良い気がします。 文字フォントはたま吉さんの Arduino-KanjiFont-Library-SD を利用 1.6Mbyte程度のフォントファイルはESP32/8266の4Mフラッシュ版だと Program(2MB)/SPIFFS(2MB)設定で使う事が可能で凄く重宝しています。 ※Program(1MB)だとHTTPS関係と他の処理を突っ込むとオーバーしちゃうので使えないのです。 ==自分の作った地雷を踏みました== どんな地雷かと言いますと、以前作成したWebServerToolのHtml画面で 文章入力したデータをディスプレイに表示すると、解読不能文字が表示さ れるって地雷でした。 文字コードを考慮せず作ったのが原因です。 ※用途が無いままに作ってしまったものだから、仕方ないのですけどねー 僕には不慣れなHTML関係話題をWebで検索して・・・・ う~む、文字コード変換の話ってあまり扱っていないのね。 結局調べても判らないので、当てずっぽうでチェックすることにして(汗 siftjis/UTF-8と調べた所でUTF-8が良さそうなことに気づまして、確認 結局、HTMLにはUTF-8を明示して処理すると上手くいきました。 UTF-8だとSerial.Printも文字化けしない、なんて今頃分かりました。 たま吉さんのフォントファイルも拙作のSPIFFSファイルビューでアップロード タイトル文字はStrings項目の内容を使いました。【3/30日ポイント5倍!】送料無料 0.91" IIC I2C シリアルOLED液晶ディスプレイモジュール I2C SSD1306 I2C OLEDスクリーンドライバArduino用DC 128x32 3.3V〜5V AVR PIC UNO MEGA Arduino価格:1099円(税込、送料無料) (2021/3/30時点)楽天で購入 楽天で値段を見てみたのですが 送料も入れるとホボ10倍の値段ですね。2018年5月10日 ESP8266にinifileを使えるようにする。 セッセとESP8266やESP32のソフトを作っていくと、複数台でを動作させたくなる ネタが出てきました。ESP機を複数台動作させるとなるとホスト名とかアクセス先など を個別で登録したくなります。手を抜くなら個々を書き換えたソースでコンパイルする のですが不具合の更新とか大変そうです。 そこで、SPIFFS機能を使ったファイルシステム上に設定ファイルを元に個別設定を 変更するinifileを用意してみました。 inifileというのはwindows3.1~98ぐらいの頃に 使われていた形式です。 ソースはこちらにあります https://qiita.com/DeepSpawn/items/9ac6044bcff5bc1e660f2018年3月2日 ESP8266/ESP32で使えるJPEGライブラリ 今回は小さな液晶ディスプレイに画像を表示する為に探し物をして見つけました。 たかだか256x256程度ならbitmapが良いのですが、ライブラリが見つからなかったので・・・・ しかし斜め上のjpegがあったので助かりました。 (悶々と探す時間がもったいないです) 遊舎工房 ないんさん公開のArduino用JPEGデコーダですが https://yushakobo.jp/blog/pluis9/2014/06/jpegdecoder/#more-909 無改造でESP8266にも使えるので、有難く使わせていただいております。 でも、なぜかESP32では動きません・・・・ 調べるとJPEGDecoder::pjpeg_callback の return値 がESP32だと受け取れていません ん? この関数には return の記載が無いぞ!? ESP8266ではreturnの記載無しで pjpeg_need_bytes_callbackの戻り値を返していて ESP32ではreturnの記載無しなので、 戻り値 0 を返している returnの追加で動く様になりました。 ESP8266/ESP32どちらも問題ありません。