Calender!一人だけど!こんにちは。今月はESP32強化月です。今回は、ESP32で電子ホタルを作ります。電子ホタルとは、じわじわと明るさが変わっていく光の事です。以前、PICマイコンで電子ホタルを作るで電子ホタルを作ったことがあります。基本的にはこれと同じ原理です。明るさを変えるには、電圧を変えればいいだろうと思うかもしれません。実際、マイコンにはアナログ電圧を出力する機能も付いています。今回は分かりやすくするためにソフトウェア制御の明るさ変化をさせてみたいと思います。人間の目を騙せ人間は30枚の静止画を1秒間の間に続けて見せれば、それが動いているように見えるくらいには目が良くないです。これを利用して、高速でLEDを点滅させれば実質的に明るさを変えることができます。簡単に言えば上図のような状態です。LEDをつけた状態を明るさ100とします。これを短い間にある割合だけオフにして点滅させれば、赤線で表したような平均化した明るさに見えるのです。明るさ変化させる関数を作ろう早速ですが、これを実装する関数を作りました。以下コピペでArduinoのエディタに貼り付けましょう。}}LEDを取り付けたピンをLEDpinに設定します。26;と宣言すればこの関数が使えます。関数の使い方これだけでは明るさを指定するのみになります。pwmLED(i,100);}とすることで、明るさに当たるdutyの値が0→100へとカウントアップされていきます。timeに100を指定しているので、100msごとに少しずつ明るくなるわけです。回路GPIOの26ピンから510Ωの抵抗を伸ばし、その先に赤色LEDを接続。そこからはただGNDに繋いだだけのシンプルな回路です。忙しい人のための完全コピペで動くコード全文ssidとpasswordは使用するWi-Fiの物に変更して下さい。いつものごとく、Wi-Fi経由で書き込めるOTAに対応しています。次回以降それも試してみます(たぶん)。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。支援のお願いサイト維持のため、ご支援をお願いします。Wellington.。