現在時刻を複数の時間帯に分けて、時間帯ごとに天井に取り付けたLEDの発光数、色を変化させます。天井用LEDは、NeoPixelというAdafruit社のLEDを使ったLEDストラップになります。NeoPixel」ライブラリを使用します。ライブラリのインストールは、次の記事で紹介しています。1.8.xバージョンのライブラリ管理方法を紹介した記事です。IDEは、より新しいバージョン「2.0.x」が発表されています。機能がよりリッチになった「Ardu[...]LEDストラップは、15個のLEDを実装していますので、時間帯ごとの発光パターンは以下のようにしました。※1は点灯、0は消灯になります。23時:LED点灯状態また、発光色と輝度を以下のように時間帯によって変えています。19-23時までの時間帯向け(月明り)※0時から6時までは点灯しない。NeoPixel」ライブラリは次のように記載して使用します。NeoPixel」ライブラリを使用できます。ライブラリのプログラムの書き方については、前述の天井用LEDのものと同じように記述します。※天井用のものとは別のインスタンスを生成して制御します。焚き火は、火がちらちらと燃えるので、LEDをチカチカさせています。やり方としては、Loop関数の中で、乱数を2つ発生させ、色と輝度をその乱数によって変更するようにしています。天気情報の毎時更新と、LED制御プログラムを作るそれでは、実際にプログラミングしてみましょう。これまで他の記事で紹介した、以下のライブラリを使います。Plus」起動時および、毎時1回に取得します。時間ごとに天井用LEDの発光パターンを変え、焚き火用LEDをチカチカさせます。今回のプログラムはOpenWeatherサービスへのアクセスが1時間に1回と定期的に実行されます。OpenWeatherのサブスクリプション条件によって、課金対象となる可能性があるので注意してください。NeoPixel」をインストールします。※当ブログでプログラムした際のバージョンは以下の通りです。NeoPixel」:「1.10.5」ライブラリのインストールは、次の記事で紹介しています。1.8.xバージョンのライブラリ管理方法を紹介した記事です。IDEは、より新しいバージョン「2.0.x」が発表されています。今回のプログラムではWi-Fi接続や時刻同期が必要です。Wi-Fiアクセスポイントへの接続方法や、時刻同期については次の記事で紹介している内容を使って行います。詳細は記事を参照してくださいね!Wi-Fi接続の方法は、次の記事で紹介しています。なんか、M5StickCが「在庫なし」になっている。Plus」が出たからな。旧版は在庫限りになっているのだろう。Plusの大まかな違いは分かった。WiFi接続をしてみるか。M5StickCと同じように使えるのか確認してみよう。前回はWiFi接続することができた。次は時刻同期がしたいな。時刻同期は基本だからな。今回のプログラムでは、天気情報の取得も必要になります。データ取得にはHTTP通信が必要になります。OpenWeatherからの情報取得方法や、HTTP通信時の証明書を記載する方法については、次の記事で紹介しています。詳細は、記事を参照してください。JSONデータの取得やHTTP通信の方法は、次の記事で紹介しています。httpsはHttpの通信を暗号化して行うものだ。前回の記事でJSON形式データは取り扱うことができた。これでインターネットにあるサービスを活用できるな。IDEを起動して、「ファイル」メニューから「新規ファイル」を選択し、表示されるスケッチに以下のように記述します。スケッチ例(1)メインプログラムメインプログラム内の「各自で準備された設定に変更してください。」と記載した箇所は、皆さんが各自の環境に合わせて編集してから書き込んでください。environment.”」と記載しています)(2)アイコン画像定義ファイル※天気アイコンは、ライセンス関係があり、省略しています。Plusへの書き込み「ファイル」メニューから「名前を付けて保存」で任意の名前を付けて保存します。Plusであるか確認します。この際、「シリアルポート」にマイコンを接続したCOMポートが指定されているかも確認します。APP)”」にします。※ここを変更しないと、スケッチが大きいというエラーになります。「ツール」メニューから「シリアルモニタ」を選択してシリアルモニタを起動します。「スケッチ」メニューから「マイコンボードに書き込む」を選択します。Plusのディスプレイに以下のとおり表示され、LEDが制御されれば成功です。※アイコン画像は、ご自身で設定したものになっています。テストに使用している回路基板は、次の記事で紹介しています。回路基板の製作方法は、次の記事で紹介しています。電力と、制御信号が必要だな。