2024 04,27 17:31 |
|
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
|
2020 08,15 23:37 |
|
お久しぶりの投稿です。
今週は夏季連休!!ということで、昔を思い出し「夏休みの自由工作」を やってみようと思います。 ということで作成したのが、「ESPduinoを使った天気予報ガジェット」です。 完成時の表示はこちら。 OpenWeatherMapから3時間ごとの天気予報を取得し、LCD上にイラストでわかりやすく天気を表示させてみました。 アイコンだと見やすくていいですね~~ これで朝起きてすぐに今日の天気が分かります。 マイコンはAmazonで売っていたESPduino-32を利用しました。Aruduino unoと同じ形状のESP32ボードです。 これの上にTFT LCDシールドを取り付けてプログラムを制作しました。 TFT LCDシールドはAdafruit 2.8インチ TFTタッチシールドを使用しました(昔購入して引き出しにしまってあったやつ、これを使いたいがためにESPduino買ったようなもの)。 表示は10分ごとに更新がかかり、wifi経由で情報を取得します。 制作における大まかな流れを記載します。 ①天気予報情報取得 1.OpenWeatherMapからAPI Keyを取得する。 API Keyは会員登録することで取得することができます。 2.OpenWeatherMapから天気予報情報のJSONデータの取得URLを調べる。 URLが合っているかどうかはブラウザ上で確認が可能です。 例)名古屋市の3時間ごとの天気予報データ(API Keyは各自で入力する必要あり) 3.JSONデータの取得方法を調べる 便利なサイトがありました。JSONデータを入力するとデータ取得用プログラムが表示されます。 https://arduinojson.org/v6/assistant/ ②TFT LCDの制御 Arduino unoとピン配置が異なるので、LCDやSDカードのCSピン位置の設定を変更する必要があります。 ESPduinoのピン配置は基板上のシルクに記載があるので、arduinoの回路図を見比べながら調査。 ○変更前 #define TFT_DC 9 #define TFT_CS 10 #define SDCS 4 ○変更後 #define TFT_DC 13 #define TFT_CS 5 #define SDCS 17 ③LCD表示用イラストの出力 いらすとやの天気イラストを利用させていただきました。 使ったのはこちらのイラスト。 https://www.irasutoya.com/2014/08/blog-post_181.html https://www.irasutoya.com/2013/03/blog-post_3599.html この画像をダウンロードするとpng形式となるため、そのまま出力するのはちょっと面倒くさい。。。 なので、BMP形式に変換してSDカードへ保存して利用しました。 BMP形式にはwindows標準ツールのペイントを利用して変換実施。 また、左上に表示している漢字は画像として表示を行っています。漢字出力させるより簡単。 ↓こちらのデータもペイントで作成。画像サイズは80x50 全BMPファイルは24ビットビットマップ形式で保存してあります。 色データが連続して保存されているため出力も比較的簡単。 BMPファイルについての詳しい情報はこちらのページが詳しいです。 最終的に↓のような形でSDカードへ保存した。 天気予報アイコンの画像サイズは80×80 ==================== 完成時のプログラムを掲載します。 API KeyやWifi情報は各自で入力してください。 長野県長野市の3時間毎の天気情報が表示されます。 プログラム先頭ID情報を変更することで、地域の変更が可能です。 weather_LCD_ESPduino.ino ==================== ※参考にしたサイト様 https://qiita.com/marksard/items/472000594ca83b64f00c https://arduinojson.org/v6/example/generator/ http://iizukakuromaguro.sakura.ne.jp/367_unixdatetimeino/367_unixdatetimeino.html PR |
|
| HOME |新しいPLAフィラメント使ってみました3>>
コメント |
コメント投稿 |
|
| HOME |新しいPLAフィラメント使ってみました3>> 忍者ブログ [PR]
|