canvas1

 Arduinoと16文字×2行LCDキャラクターディスプレイで,気温,湿度,大気圧を表示する。メニューにより,オシロスコープもどき,電圧計,電流計,バッテリー-チェッカーにもなる。大気圧は当地のアメダスデータとほぼ±1[hPa]の違いで一致していて,実用にもなるが,『よみがえれ! ジャンクラジオ』の精神で,工作を楽しみながら,傍らにおいてスイッチを入れて楽しめるものの作製を目指した。

arduinolcd00

 現在以下の様なものになってる(2011.8.10 )。

1 ハードウェア構成

測定数値の表示と増設ボード上の主要パーツ配置

 LCDディスプレイ上に,湿球温度,乾球温度,相対湿度,不快指数,リセット時よりの経過時間,大気圧を表示した例である。大気圧は当地のアメダスデータとほぼ±1[hPa]の違いで一致している。Arduinoは,秋月電子の互換ボードキットでATmega328に差し換えたものを使用している。温度センサーはLM35DZ,光センサーはCdS,大気圧センサーはMPL115A2で,いずれも秋月電子より入手可能である。OPアンプLM358はマイク入力の増幅及びレベルシフトに用いていいる。16文字×2行のLEDバックライト付き小型LCDモジュジュール SD1602HUOB-XA も秋月電子製である。増設ボードは,汎用基板にブレッドボードを貼りつけただけのもので,必要なところにICソケットを切り取ったもの使用した。Arduinoとの接続については,ICピッチが半分だけズレた部分があるので,その部分だけラジオペンチで少し曲げてずらすなどの細かい注意も必要である。増設ボード上の回路構成については,以前の
Arduino + 8×8LEDマトリクスでオシロスコープもどき(1)
Arduino + 8×8LEDマトリクスでオシロスコープもどき(2)
にある回路とほとんど同じである。ArduinoとLCDキャラクタディスプレイの接続については,最後に示したWebPageが参考になる。Arduinoに関するハードウェア・ソフトウェアは,ほとんどインターネット上の検索で情報を得ることが出来た。

arduinolcd01

『よみがえれ! ジャンクラジオ』の精神

 ボード左上のガラス玉地球儀は,何年か前のタカラの食玩『王立科学博物館』シリーズのおまけに付いたものである。地球儀の下に高輝度白色発光ダイオードを取り付け,LCD上で時々人のキャラクターが走り抜け,文字を消していく場面があるが,それと同期して地球儀を光らせて,地味なLCD表示に変化をつけているつもりである。『よみがえれ! ジャンクラジオ』の精神で,工作を楽しみながら,傍らにおいてスイッチを入れて楽しめるものの作製を目指している。実は,この人キャラクターの走りに合わせてセンサーの測定値取込を複数回行い,平均化して表示している。ガラス玉地球儀は,まだネットオークションで入手可能かもしれないが,今となってはレア物なので,このシリーズの他のフィギュアより若干高値になるかも知れない。発売時は280円だったものである。  全体をありあわせの2ミリ厚のアクリル板に乗せたが,これくらいの厚みのアクリル板だと,専用の曲げ機がなくてもホットプレートのヘリを用いて簡単に折り曲げることができる。

arduinolcd07 arduinolcd08

湿球温度計

 湿球温度計は,ただLM35DZにガーゼを巻き付けて湿らせただけでは面白く無いので,今回はHONDAで景品にもらったASIMOのストラップに付いていたものをジャムの瓶のフタに貼りつけて用いた。宇宙服のASIMOと青く輝く地球に緑のLCDで,なにやらバランスが取れていると自己満足している。ノイズを拾うためのワニ口クリップ付きのコードも緑色を用いた。秋月Arduino基板も緑色である。

arduinolcd04

2 ソフトウェア

オシロスコープもどき

 ArduinoのLiquidCrystalライブラリを使うことで,Hitach HD44780とその互換チップをベースとしたLCDを制御することができる。今回用いた秋月電子製のLCDも該当する。オシロスコープもどきモードでは,HD44780の外字登録機能を用いて,2行のキャラクター表示なのであるが,グラフィック表示らしく見せかけている。30年前のワンボードマイコン時代にやったことがここで生かされるとは思ってもいなかった。HD44780では,同時には8文字分の外字しか定義できないのが苦しいところである。場面ごとにそのつど外字を定義し直して使用している。もっと多くの外字を登録できればより滑らかな表示が可能であるが残念。次の画像の左は同じ大きさの点で電圧の変化を表現したもの,右は中央の0点からの大きさを棒グラフで表現したものである。どちらがより波形らしく見えるだろうか。左はメニューからオシロを選んだ時の表示,右はメニューから選択しない1分ごとの待ち画面で出てくる表示である。

arduinolcd09 arduinolcd10

デモ表示

リセット時やメニューで何も選択しなかった場合は,

 明るさによって振幅の変化するsin波のデモ表示
        ↓
       1分後
 乾球・湿球温度,湿度,不快指数の表示
        ↓
       1分後
   オシロスコープのデモ表示
        ↓
       1分後
 乾球・湿球温度,湿度,不快指数の表示

これを繰り返す。 

arduinolcd02 arduinolcd03

電圧計・電流計の表示

電圧計,電流計のメニューを選択した場合は,それぞれ次のような表示を行う。

arduinolcd05 arduinolcd06

3 参考WebPage

ArduinoとLCDキャラクタディスプレイの接続については,次のWebPageが参考になる。 "Arduino LCDキャラクタディスプレイ"等で検索すれば求める多くの情報が得られる。

Arduino Duemilanove 328 LCDキャラクタディスプレイの接続
Arduino はやみ表
Arduino 日本語リファレンスの中の LiquidCrystal()

増設ボード上の回路については,以前の私のWebPageにある回路とほとんど同じである。

Arduino + 8×8LEDマトリクスでオシロスコープもどき(1)
Arduino + 8×8LEDマトリクスでオシロスコープもどき(2)

プログラムリストが必要な場合はメールでご連絡下さい。提供します。



inserted by FC2 system