こんな記事もあります!ESP32でOpenWeatherMapから天気を取得→LEDの色を天気に合わせて変えてみたこんにちは!今回はタイトルの通り、OpenWeatherMapという天気予報APIサービスから天気を取得して、その天気によってLEDの色を変えていきます。起きたてで寝ぼけている中いちいちスマホで天気調べてられないですもんね!LEDが青くなってれば「雨だ!」と一発で分かるので便利じゃありませんか?スマホだと上手く写りませんが、曇りなのでかなり暗めの白が出ています。2020上記は曇りの時の状態。今回はこんな工作をしていきます!完成プログラムは記事の最後にあります。※本記事は以下の2記事の工作を合わせたものです。分からない点があれば以下の記事に目を通してください。SSD1306RGBLED回路RGBLEDの設定まずはRGBLEDの設定。RGBLEDの詳細は前提知識の項目からご覧ください。今回の注意点はLEDを接続するピンです。以前の記事とは繋がっているピンが異なります。ESP32のledc関数は、PWMが使用可能なAのついたポートにのみ適用可能です。上記画像でいうA0-A19までですね。今回はA15,A16,A17(IO12,IO14,IO27)にRGBを割り当てます。回路をセットしたら、RGBLEDを駆動する以下の関数と設定を用意します。delay(delay_time);}※RGBLEDのどのピンにR,G,Bが割り当ててあるかは製品により異なります。ご自身のピン配置を確認して適宜設定を変更しましょう。//赤単色で点灯のようにdelayが0msでも作動します。点灯させたい場合にdelayの値を設定しましょう。温度に合わせて色を変えてみる以下ではRGB関数を使って、それぞれの天気に合わせた色を作りました。RGB(0,0,0,4000);}天気情報によって色を変える天気情報をweatherに入れ、その中身の文字列を以下のように比較して色を変えます。//暗い青}重要なのはstrcmp関数。引数の2つの文字列を比較して、全く同じであれば0を出力します。if分のTrueに引っかからせるために!で反転してあげましょう。天気の種類はOpenWeatherMapで確認できます。上記のほかにも沢山の状態があるので、それぞれに色や機能を割り当てると面白いかもです!プログラム(ほぼコピペで動く)上記のコードをESP32で天気APIから天気情報を取得し、OLEDディスプレイに表示させてみたと組み合わせてLEDと連動させるのが以下の完成プログラムです。keyの取得はESP32でAPIを使って現在の天気を取得してみたを参考にしてください。今回は天気と連動したLEDシステムを作りました。利用したAPIは現在の天気を返してくれるものですが、数時間後の予報や明日の天気を出してくれるものもOpenWeatherMapが提供してくれています。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。支援のお願いサイト維持のため、ご支援をお願いします。Wellington.。