天気予報LEDを作ろう!無線LAN実験セット2(OpenWeatherMap版)の作り方

weatherledset2_

天気予報LEDを作ろう!無線LAN実験セットは、インターネットから天気予報を取得して、予報に応じてそれぞれの色のLEDが点滅し、天気予報を教えてくれるキットです。ここでは、このキットの作り方をご紹介します。

天気予報は無料のOpenWeatherMapを利用しています。このサービスで得られる3時間後までの天気予報を、晴れ、曇り、雨、雪に分類しLEDを光らせます。

完成までの作業手順は、大きく4つに分けられます。

  1. マイコンの配線と組立
  2. 天気予報を取得するための設定
  3. mbedマイコンをプログラムするための準備
  4. マイコンにプログラムを書き込んで動作チェック

マイコンの配線と組立

image

ブレッドボードにマイコンや無線LANモジュールを刺し、ジャンパーワイヤーで配線していきます。それでは始めていきましょう。

LEDの準備

最初に、わかりやすいLEDから準備していきましょう。まず、ピンとジャックのジャンパーワイヤーを以下のように分けていきます。

  • 茶-赤の2本
  • オレンジ-黄色の2本
  • 緑-青の2本
  • 紫-灰色の2本
  • 白黒茶の3本(マイコン書き込み機(mbedねこちゃん)とマイコンをつなぐのに使います)
  • 赤-黒の9本(余りです。使いません)

image

ジャンパワイヤーのジャックの方に、LEDの足を刺していきます。

  1. 赤のLEDの長い方の足を、赤いジャンパワイヤーに刺します。短い足を茶色に刺します。
  2. 黄色のLEDの長い方の足を、黄色のジャンパワイヤーに刺します。短い足をオレンジに刺します。
  3. 青のLEDの長い方の足を、青いジャンパワイヤーに刺します。短い足を緑に刺します。
  4. 白のLEDの長い方の足を、灰色のジャンパワイヤーに刺します。短い足を紫に刺します。

これでLEDの準備は完了です。

マイコンなどをブレッドボードに刺す

weatherled202

マイコン、抵抗、無線LANモジュール、マイコン書き込み機(mbedねこちゃん)を刺していきます。ブレッドボードには、横にa b c…、縦に1 2 3…と、アルファベットと数字が書いてある、それらを使って、穴の位置を特定できます。例えば、一番左上の穴は1a。一番右上の穴は1jというようになります。マイコンやワイヤーを刺す時には、この数字とアルファベットで、刺す場所を指定していきます。最初は難しいですが、徐々に慣れますので、ゆっくり作業してください。

それでは刺していきます。

  1. マイコンは凹みがあるのが上にくるようにして、左上のピンが1行目のc(1c)に来るように刺します
  2. 抵抗は片方の足を15eに、もう片方を青いグランドラインに刺します
  3. 無線LANモジュールは図のように、左上のピンが20bに来るように刺します
  4. mbedねこちゃんは電源ラインの一番下になるように刺します

電源を配線

weatherled203

マイコンと無線LANモジュールの電源を配線します。

  1. 茶色のワイヤーで、マイコンの7hと、青いグランドラインとをつなぎます
  2. 赤のワイヤーで、マイコンの8hと、赤い電源ラインとをつなぎます
  3. オレンジ色のワイヤーで、無線LANモジュールの20aと、赤い電源ラインとをつなぎます
  4. 黄色ワイヤーで、無線LANモジュールの20jと、青いグランドラインとをつなぎます

マイコンと無線LANモジュールとを配線

weatherled204

  1. 紫色のワイヤーで、マイコンの12hと、無線LANモジュールの23jとをつなぎます
  2. 青色のワイヤーで、マイコンの13hと、無線LANモジュールの27jとをつなぎます
  3. 緑色のワイヤーで、マイコンの14hと、無線LANモジュールの26jとをつなぎます

13hが26j、14hが27jではなく、上下が入れ替わってつながっているので、注意してつないでくださいね。

image

こんな感じになります。

書き込み機との配線

マイコンと、マイコン書き込み機(mbedねこちゃん)とをつなぎます。ピンとジャックのジャンパーワイヤーの黒、

weatherled205

書き込み機を顔に例えると、左眉毛の黄色いピンと、マイコンをつないでいきます。

  1. 白いワイヤーで、まゆ毛の一番左のピンと、マイコンの左側の3bとをつなぎます
  2. 黒いワイヤーで、まゆ毛の左から2個目のピンと、マイコンの左側の12bとをつなぎます
  3. 茶色いワイヤーで、まゆ毛の左から3個目のピンと、マイコンの右側の6hとをつなぎます

LEDの接続

weatherled206

  1. 赤いLEDの赤いジャンパワイヤーを1aに刺します。茶色を15dに刺します。
  2. 黄色いLEDの黄色のジャンパワイヤーを2a刺します。オレンジを15cに刺します。
  3. 青のLEDの青いジャンパワイヤーを4a刺します。緑を15bに刺します。
  4. 白のLEDの灰色のジャンパワイヤーを6a刺します。紫を15aに刺します。

image

こんな感じになります。

以上で、配線は完了です。

天気予報を取得するための設定

天気予報はOpenWeatherMapという、インターネットのサービスを利用して取得します。無料ですが、ユーザー登録をして、API Keyというサービスを利用するためのパスワードを取得する必要があります。

API Keyの取得

取得の方法は、以下に順を追って説明してありますので、ご覧になって、API Keyを取得してください。

郵便番号で天気予報が取得できるか調べる

API Keyが取得できたらば、天気予報が取得できるか、パソコンかスマホのブラウザでチェックします。

天気予報を調べる時には、通常郵便番号で調べることができます。以下のURLが、天気予報を取得するためのURLです。

http://api.openweathermap.org/data/2.5/weather?zip=100-0000,jp&units=metric&lang=ja&APPID=[API Key]

zip=の後に郵便番号を入れます。[API Key]はご自身で取得したAPI Keyを入れます。これをブラウザのURLのところに貼り付けて、リターンを押してみてください。

このように表示されれば、郵便番号で天気予報が取得できる地域です。この郵便番号をプログラムで利用するので、メモしておいてください。

以下のように、404となった場合は、郵便番号ではなく都市名で調べる必要があります。

都市名で調べる

Interactive weather maps – OpenWeatherMap

上記のページを開いて、天気予報を知りたいところをズームしていきます。

数字が付いている所の都市名が、天気を検索できる都市名となっています。都市名を使って検索する場合には、以下のうになります。

http://api.openweathermap.org/data/2.5/forecast?&q=Naha-shi,JP&units=metric&cnt=3&appid=[API Key]

q=の後に、ローマ字の都市名を入力します。これをブラウザのURLにコピーしてエンターを押すと、以下のように天気予報が表示されます。

郵便番号で検索できない場合には、この都市名を使うのでメモしておいてください。
以上で、天気予報を取得するための設定は完了です。

mbedマイコンをプログラムするための準備

mbedマイコンは、インターネット上でプログラムを作り、できたプログラムをダウンロードしてマイコンにコピーするだけで、マイコンにプログラムを書き込んで動作させることができます。

ユーザー登録

先ほどのOpenWeatherMap同様、無料のサービスなのですが、ユーザー登録と、使用するマイコンの登録が必要です。以下のページをご覧になって、ユーザー登録と、マイコンの登録を行ってください。

天気予報プログラムのインポート

以下のページを開いて、天気予報のプログラムをインポートします。

上記の、ページの右側にある[ Import into Compiler ]をクリックします。

mbedのページが表示され、ダイアログが出ます。

[Import]をクリックして、プログラムをご自分のmbedの環境にインポートします。

左上の[main.cpp]をクリックすると、プログラムのソースコードが表示されます。

パラメータの修正

ご自宅の無線LANにつげるための設定と、調べたい天気予報の場所を設定のところを修正します。

無線LANの設定

16行目と、17行目を修正します。

16行目のダブルクォーテーション(“)の中に、ご自宅の無線LANのアクセスポイントの名称(SSID)を記入してください。

17行目のダブルクォーテーション(“)の中に、ご自宅の無線LANのアクセスポイントのパスワードを記入してください。

天気予報を調べる場所の設定

OpenWeatherMapのユーザー登録の時に、郵便番号でブラウザに天気予報が表示できた方は、18行目のダブルクォーテーション(“)の中に、天気予報を調べたい郵便番号に修正してください。

郵便番号で天気予報が検索できなかった方は、地点名を調べたと思いますが、その地点名を、19行目のダブルクォーテーション(“)の中に記入してください。

プログラムの修正は以上です。

プログラムのコンパイル

画面の上部中央の[コンパイル]ボタンをクリックすると、プログラムのコンパイルが始まります。

コンパイルが正常に完了すると、マイコンにコピーするファイルがダウンロードされます。「ファイルを保存する」をクリックして、[OK]をクリックして、ファイルを保存してください。

プログラムの書き込み

マイコン書き込みとパソコンとを、USBで接続してください。しばらくすると、MBEDというドライブが追加されます。

MBEDドライブが追加されない場合には、USBの抜いてから、しばらくしてもう一度刺してみてください。

このドライブに、先ほどダウンロードしたファイルをコピーすると、マイコンにプログラムが書き込まれる仕組みになっています。

先ほどダウンロードしたファイル、「kc_tenkiyohoLED3.LPC1114.bin」をMBEDドライブにコピーしてください。

何度もコンパイルしていると、ファイル名の最後に数字が追加されます。
例:kc_tenkiyoho_LED3.LPC1114(1).bin kc_tenkiyoho_LED3.LPC1114(2).bin など。
一番数字の大きなファイルが最新のファイルです。最新のファイルをコピーしてください。

書き込み中は、マイコン書き込み機の、左の眉毛(黄色の端子)の右にあるLEDがチカチカ光ります。2〜3秒間チカチカします。

LEDが一瞬だけしか光らない場合は、マイコン書き込み機とマイコンとの配線が間違っていますので、書き込み機の白、黒、茶色の配線が、マイコンの正しい位置につがっているか確認してください。また、マイコンの電源配線も確認してください。マイコンの茶色と赤の配線です。

動作の確認

書き込み機の赤い大きなスイッチ(リセットボタン)を押してください。マイコンがリセットされ動作を開始します。

動作を開始すると、LEDが赤→黄色→青→白と点滅し始めます。

その後、赤と黄色のLEDが同時に光ります。この時、マイコンは無線LANモジュールと通信しています。

もしこの状態で止まってしまった場合には、マイコンと無線LANモジュールとの配線が間違っている可能性があります。無線LANモジュールから出ている、紫、緑、青の線が、正しい位置に刺さっているか確認してください。また、電源のオレンジ、黄色も正しい位置に刺さっているか確認してください。

その後、青と白のLEDが同時に光ります。この時マイコンは、ご自宅の無線LANのアクセスポイントに接続しようとしています。

もし、この状態で止まってしまった場合には、アクセスポイントのSSIDが間違っているか、パスワードが間違っています。プログラムの16,17行目のSSIDとPASSが正しいかチェックしてください。

その後、LEDが一旦消灯します。この時マイコンは、OpenWeatherMapのサーバーから、天気予報を取得しようとしています。

ここでしばらく止まってしまい、赤黄青白のLEDの繰り返しになってしまった場合、OpenWeatherMapのサーバーから予報データが取得できなかったことを表しています。
サーバが停止している可能性も少しありますが、指定した郵便番号か地域名が間違っている可能性の方が高いです。
郵便番号の場合は123-4567というように3桁 と ハイフン(-) 4桁となっているか、地域名の場合は大文字小文字も含めて正しいか確認してください。ブラウザで、予報が表示できた時と同じ郵便番号か地域名を設定してください。

取得できたら、天気予報がLEDの色で表示されます。天気予報は、30分毎にサーバーにアクセスし、更新されます。

weatherledset2_

オリジナルのデザインで、表示板を飾って完成となります。

 

 

コメント