google-site-verification: google3bd66dd162ef54c7.html

Arduinoを使ったアクアリウム照明コントローラー(操作解説編)

 小さな水草水槽用に作った照明コントローラーの話の続きです。前回の機能解説編に続き、今回は操作解説編です。ちなみにこういう小さな水槽は、ポットアクアリウムと呼ぶようで、この呼び方が一番しっくりきます。

 機能については前の記事に書いた通りで、普段は電源を入れっ放しにしておくだけで、特に触る必要はありません。ただ初期設定として、下記の設定が必要です。
 1) 日の出/日の入り時刻のオフセット値
 2) 早朝/夜間のイルミネーション(スモールライト)点灯時刻
 3) 時計合わせ

▼操作スイッチ (これは液晶を外した状態の写真ですが、実際には液晶を付けたままで行います)
操作スイッチ
 基板の手前に並べたスイッチで操作します。左から [Reset] [Dec] [Inc] [Enter] [Manual] です。以下の記事で例えば [Dec] と書いてあれば Dec ボタンという意味です。
 操作の原則は [Dec] と [Inc] で値を増減させ、 [Enter] で値を確定して次の項目へ移動します。

◆通常の表示
▼開始画面
開始メッセージ
 電源投入時にこの画面を約1秒表示します。

▼動作中の表示
通常表示
 通常はこの画面を表示します。
 1行目が現在時刻で、その右はLED出力をパーセント値で表示しています。wは白、赤は赤色LEDの出力です。この画面のw49+r49は白49%、赤49%の出力であることを示しています。なお、実際のLEDの明るさは0-255の数値で設定していますが表示スペースの関係で2桁のパーセント表示にしました。100%はMxと表示します(Max)

 二行目はこの日の、日の出と日の入り時刻です。

◆動作中のスイッチ操作
 動作中にボタンを押すと情報の表示画面へ移ります。ボタンを離すと元の表示に戻ります。

▼ [Dec] 押すと、オフセット値表示
日の出日の入りオフセット付き表示
 現在の設定値が表示されます。このままリセットボタンを押すと値の変更画面に入ります。

▼ [Inc] 押すと、スモールライトの点灯時間を表示
スモールライト点灯、消灯時刻表示
 スモールライトは、早朝や夜間にイルミネーションとして弱く点灯させるもので、この画面から現在の設定時刻を確認出来ます。このままリセットボタンを押すと値の変更画面に入ります。

▼ [Enter] 押すと、年月日表示
年月日表示
 1行目を、年月日 時分表示に変更します。

◆リセットボタンと同時押し
 以下の項目はリセットボタンと同時押しで起動します。操作としては先に指定のボタンを押しておいて、そのままリセットを押して離します。

▼[Reset] + [Dec] でソーラータイマーオフセット値の変更
オフセット設定開始表示
 この開始画面が出た後で [Dec] を離すと下記の画面に変わり、オフセットの入力が可能になります。

日の出時刻オフセット入力画面 日の入り時刻オフセット入力画面
 値は[Inc] [Dec]で行い、[Enter] で値が確定します。ON time の入力が終わればOFF time の入力画面に変わります。入力が終わるとメイン画面に戻ります。Offsetの値は±4.0hrまで設定可能です。なお、オフセット値は0.1hr単位の値(6分単位)で設定するので要注意。

▼ [Reset] + [Inc] でスモールライト点灯時刻設定
スモールライト時刻設定開始画面
 上記の開始画面が表示され、[Inc] を離すと下記の画面に変わります

スモールライト時刻設定
 カーソルが表示されている場所の入力が可能です。[Enter] を押すと順順次カーソルが移動して、最後の入力の確定でメニューを抜けます。
 変な値(例えば昼間にスモール点灯など)を設定した場合は、たぶんその通りの動作をすると思います。普通はスモール ONは一年間で一番夜明けの早い時刻より前(例えば5:00)。スモールのOFFは一番日没が遅い時刻より後に設定します(例えば19:00)。

▼ [Reset] + [Dec] + [Inc]で時刻合わせ
時計セット
 開始画面を表示し、ボタンから手を離せば時刻合わせ画面が出ます。

年月日時分入力
 年月日、時分の順で設定します。分の値を決定([Enter] を押したタイミング)を00秒として時刻合わせが行われます。なお、時計は電源を切っても動き続けています。

◆マニュアルスイッチ
 これはスライドスイッチです。 [Manyual]スイッチをONにすると、LED出力をマニュアルで調整出来ます。LEDの強制点灯や色の具合を確かめたい場合などに使います。
マニュアル設定画面
 白と赤のLEDの出力を0-100のパーセントで指定します。設定した値(明るさ)はリアルタイムで反映されます。
 値の増減は [Inc] [Dec] で行い、項目の変更(赤白の切り替え)は [Enter] で行います。 [Manual] スイッチをOFFにすると通常のプログラム運転状態に戻り、LEDの明るさも(ほぼ)元のプログラムの設定値に戻ります。
 なお、マニュアルで設定した値はEEPROMに記憶していて、次回マニュアルモードにした時は前回の値で開始します。(マニュアルのままリセットした場合は記憶されません)

◆共通事項
・各操作メニューの起動と終了は内部の1秒タイマーのタイミングで行っているので、ボタン操作に対して反応が少し遅れることがあります。

・操作の途中で[Reset]を押して抜けると、設定は無効になり EEPROMへの記録も行われません。

・まっさらなCPUや、他のことに使っていたCPUは、EEPROMに変な値が入っている可能性があります(未使用CPUは0xFFになっています)。プログラムで異常値は修正していますが、予期しない値になっている可能性があります。変な値の場合は手入力で修正して下さい。

・ここに書いてある項目以外の変更はプログラムの修正が必要になります。

・動作開始時に照明プログラムを現在時刻名までシミュレートすることで照明の明るさを設定しています。この処理には少し時間が掛かるため、24時に近づくほどプログラムの開始が遅くなります。マニュアルからの復帰時も同じ現象が起きます。

◆プログラム
 プログラムはこちら→ 20171029AquaLightCont.txt
 ファイルはShift-JISエンコードです。拡張子を.inoに変えればArduino IDEで読めます。このプログラムはArduino UNO(及びその互換機、ATmega328P単独動作)で使うことを想定しています。

 ここにプログラム解説も書こうと思っていたのですが、記事が長くなってしまったので、次の記事に廻すことにしました。
関連記事

コメントの投稿

管理者にだけ表示を許可する

カレンダー
03 | 2018/04 | 05
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 - - - - -
プロフィール

ラジオペンチ

Author:ラジオペンチ
電子工作を中心としたブログです。たまに近所(東京都稲城市)の話題など。60過ぎて視力や器用さの衰えを感じつつ日々挑戦!
コメントを入れる時にメールアドレスの記入は不要です。なお、非公開コメントは受け付けていません。

記事が気に入ったらクリックを!
最新記事
カテゴリ
最新コメント
リンク
FC2カウンター
検索フォーム
月別アーカイブ
RSSリンクの表示
QRコード
QRコード