7 カレンダー機能を使った目覚まし時計(3種)

目覚まし時計動作仕様
    a.自律モード目覚し時計
      アラームモードを使用せず(センターブロック モードスイッチ)、毎日、午前6時00分に1分間音楽を鳴らす。
    b.アラームモード目覚し時計
      アラームモード(センターブロック モードスイッチ)で毎日、午前6時30分に1分間音楽を鳴らす。
      音楽が鳴っていとき以外はブロックの電源がOFFになっています。
    c.超音波センサーOFFスイッチ付き目覚まし時計
     ( 超音波センサーをブロックのOFFスイッチとして使用する。)
      アラームモード(センターブロック モードスイッチ)で、毎日、午前7時00分に電源OFF状態のブロックに
      自動的に電源が入りブザーが鳴り始め、内蔵LEDが点灯します。
      時間と共に、ブザー音種、点灯色、音量が変化します。
      超音波センサーに手をかざすと、ブロック電源のスイッチが切れます。

    ※プログラム上では 時刻、タイマー時間の設定はできません。
     カレンダー機能設定パネルで直接設定し、データをセンターブロックに書き込みます。

   

7・1 制作準備
  ○使用するもの

◇センターブロック
◇ジョイントボタン 12個
◇RS232Cシリアルケーブル
◇超音波センサーブロック

◇LED表示器(確認用。無くても可能。)
◇ACアダプター
◇バッテリーケース(電池6個)

  ○前準備
   <パソコン>
 
    パソコンを立ち上げ、スタートメニューから プログラム → Robocube アプリケーション 
     → Toy App アプリケーション をクリックし起動させます。 デスクトップに描画ウィンドウが表示されます。
   <ブロックの組み立て>
    ・センタブロックのモードスイッチを(プログラミングモード)にします。
    ・超音波センサーはセンターブロック上面と正面(モードスイッチがある面)以外にジョイントボタンを使用して
     つなぎます。
    ・LED表示器もセンターブロック上面と正面(モードスイッチがある面)以外にジョイントボタンを使用してつなぎます。
    ・シリアルケーブルのコネクタピンをセンターブロックの RS232Cポートに しっかり根元まで差し込み、
     9ピンのコネクタをパソコンのシリアルポートに接続します。
    ・最後にACアダプターをセンターブロック上面につなぎ、緑色モニターLEDが点灯することを確認します。


 ブロックのオートバインディング

画面選択メニューから組み立てウィンドウを選択し
バインディングツールボックスをクリックして、
オートバインディングを行います。
カーネル正常画面が表示さたら、OKボタンをクリックします。

 


カレンダー機能
カレンダー機能はROBOCUBEのアラーム(タイマー)として用いることができます。 組み立てウィンドウ内のCalendar_0アイコン(右図を)ダブルクリックすると
カレンダーの設定パネルが表示され、設定と制御モードになっています。
  ※1 設定可能な年月日は現在時刻から1ヶ月先までで、
     過去2週間前以内の設定データは有効です。  

◆現在時刻
 PCのタイマーと連動しており、
 正確な現在時刻が表示されます。
 (修正が必要な場合、WINDOWSのコントロールパネルの
  ”日付と時刻”で 設定変更してください。)

 現在時刻のセット@ボタンをクリックすると
 センターブロックのメモリーに書き込まれ
 現在時刻が更新されます。

◆時刻設定
 
1. 絶対時刻(年、月、日、時、分設定※1
 2. 毎週時分(曜日、時、分設定)
 3. 毎日時分(時、分設定)
 4. 毎時分(分設定)
 5. 相対時間
  (現時点からの相対的な日、時、分を設定)

1〜5 の各々設定しようとする項目のラジオボタンをクリックし、数値を入力します。
時刻設定のセットAボタンをクリックするとセンターブロックのメモリーにそのデータが書き込まれます。

  ◆有効時間
    時刻設定1〜5各々に対して設定します。
    アラームONの継続時間で、0分に設定するとそのアラームは作動しません。
    数値を入力し、有効時間のセットBボタンをクリックするとセンターブロックのメモリーにデータが書き込まれます。
   ※時刻設定1〜5のラジオボタンのチェック項目を確認してください。
  ◆パワーオン
   センターブロックのモードスイッチをアラームモードA※2 にして、ROBOCUBEが電源OFFの状態で有効です。
   自動的に ROBOCUBEの電源をONにしてプログラムを起動させたい場合に、パワーオンCチェックボックスに
   チェックを入れます。
   モードスイッチをアラームモードAにしてパワーオンにチェックを入れなかった場合はプログラムは作動しません。
  ◆リクエスト
    センターブロックに書き込まれているメモリーの内容をアラーム表示Dに数値表示させます。
    絶対時刻Eボタンをクリックすると、アラーム表示上部に
    現在センターブロックに書き込まれている 年、月、日、時、分、パワーオン、有効時間が 表示されます。
    毎週時分、 毎日時分、毎時分、相対時間も、そのボタンをクリックすると同様に表示されます。

  ※2 センターブロックのモードスイッチをAに切り替えると、アラームモードになり、ブロックの電源が切れます。
      アラームモードに切り替える前に、カレンダー機能の設定パネルで、
      ブロック電源ONの時刻を設定しておくと、その時刻に 自動で電源ONすることができます。
      これにより、設定した時刻に自動的にプログラムを実行させることができます。 (取扱説明書p10参照)



  ◆アラーム表示

モニター@チェックボックスにチェックを
入れると
アラーム状態のON(緑)/OFF(赤)
が表示されます。  

ex) 毎時分Aラジオボタンをクリックし、
30分を設定し、 有効時間Bを2分に設定し、 セットボタンC,Dをクリックしておくと、
設定パネルアラーム表示4番目の毎時分E
ライトが、毎時30分(現在時刻)になると緑色点灯し、 2分後に赤色点灯に戻ります。

  カレンダー機能のデータをLED表示器(オプション)に表示したり、その表示内容をLED表示器のスイッチで
  変更することも可能です。 (LED表示器の項を参照)。



7・2 a_自律モード目覚し時計
  アラームモードを使用せず(センターブロック モードスイッチ)、
  毎日、午前6時00分に1分間音楽を鳴らす。
  
(サンプルプログラム Cドライブ:\Program Files\System Watt\Robocube\Samples\neuro_alarm_no_power.toy)

 a_コマンドタイルの作成
 
  ここでは以下の4個のコマンドタイルを作成します。

 ・cal_req(アラーム情報リクエスト)   ・sound_int(音楽初期設定)
 ・sound_on(音楽ON)          ・sound_off(音楽OFF)

 ■”cal_req”コマンドタイルの作成■

  画面選択メニューから、コマンドタイル定義ウィンドウを選択します。

左画面パーツリストの中からカレンダー機能のアイコンCalendar_0 を右画面にドラッグし ダブルクリックします。

カレンダーの設定パネルが表示され、設定と制御モードになっています。

タイルプログラミングモード@をクリックし、 リクエストのステータスAボタンをドラッグして、 Calendar_0 の隣に配置します。

設定パネルを閉じて、 タイル定義の登録ボタンをクリックし、アイコンの選択、名前の入力をします。
(ここではcal_reqを入力)

 

※タイルのアイコンは旧バージョンのものです。

 ■”sound_int”コマンドタイルの作成■

コマンドタイル定義ウィンドウ左画面パーツリストの中からサウンド機能のアイコン
Buzzer_A を右画面にドラッグし ダブルクリックします。
設定と制御モードになっているので、モードの音楽1のラジオボタンにチェックを入れ、
音量を100程度に設定し、制御はOFFをクリックして選択します。

タイルプログラミングモード
をクリックします。
モードの音楽1のラジオボタンをドラッグし、Buzzer_Aアイコンの右隣に配置します。
続けて、音量、制御のOFFボタンをドラッグして、縦に並べます。

  設定パネルを閉じて、 タイル定義の登録ボタンをクリックし、アイコンの選択、名前の入力をします。
  (ここではsound_intを入力。)

 


 ■”sound_on”,”sound_off”コマンドタイルの作成■ 

左画面パーツリストの中からサウンド機能のアイコンBuzzer_A を右画面にドラッグし
ダブルクリックします。
タイルプログラミングモードをクリックし、
制御のONボタンをドラッグして、Buzzer_Aアイコンの右隣に配置します。

タイル定義の登録はsound_intと同様で名前はsound_onとします。 
sound_off
は制御のOFFボタンをドラッグして、Buzzer_Aアイコンの右隣に配置します。

 a_テストタイルの作成

  カレンダー機能設定パネルのアラーム表示3番目の毎日時分が 真(1)か偽(0)を判定する テストタイルを作成します。
  画面選択メニューから、テストタイル定義ウィンドウを選択します。

左画面パーツリストの中からカレンダー機能のアイコンCalendar_0 を右画面にドラッグし ダブルクリックします。

カレンダーの設定パネルが表示され、設定と制御モードになっています。

タイルプログラミングモード@をクリックし、 アラーム表示3番目の毎日時分Aをドラッグして、 Calendar_0 の隣に配置します。

設定パネルを閉じて、 タイル定義の登録ボタンをクリックし、アイコンの選択、名前の入力をします。
(ここではevery_day_alarmを入力)


 a_タイルを使ったプログラミング
 

画面選択メニューから、プログラムウィンドウを選択します。
左図のように、スタートタイルの隣に
sound_intcal_reqevery_day_alarm
sound_onevery_day_alarm
sound_off の順番に
コマンドタイルとテストタイルを配置します。

ここではデジタルデータを扱っているので、
テストタイルの入り口はコマンドタイルの右下出口(割り込みハンドル)と割り込みリンクでつなぎます。

他はコマンドタイルでつなぎます。

  これで、every_day_alarm(アラーム表示3番目の毎日時分)が真(1)ならば音楽ON、偽(0)ならば音楽OFF
  という動作をする、プログラムが作成できます。

 a_時刻設定

  カレンダー機能を使ったプログラミングでは、時刻をプログラム内で設定することはできません。
  時刻設定はカレンダー機能設定パネルから直接データをセンターブロックのメモリーに書き込みます。
  ここでは毎日午前6時00分に音楽ONし、1分後音楽OFFするようにします。
  画面選択メニューから組み立てウィンドウを選択しCalendar_0アイコン ダブルクリックすると
  カレンダーの設定パネルが表示され、設定と制御モードになっています。

まず、現在時刻のセット@ボタンをクリックし センターブロックの現在時刻を更新します。

時刻設定の 毎日時分Aラジオボタンにチェックを入れ、B、分Cに各々6、0を入力します。

有効時間は1分Dを入力します。

時刻設定のセットEボタンをクリックし、
2,3秒経ってから、有効時間のセットFボタンを
クリックします。
こにより、毎日時分の設定値と、有効時間の設定値がセンターブロックのメモリーに書き込まれます。
   必ずモニターGにチェックを入れセンターブロックのメモリーに書き込まれた内容を リクエストボタンで確認します。
   リクエストの毎日時分Hボタンをクリックすると設定パネル右側のアラーム表示Iに、
   先に書き込んだ設定値の内容が表示されます。
   正しく更新されていなければ、再度設定を行います。
   使用しない項目の有効時間は0になっていることを確認してください。
   パワーオンのチェックについても使用しないものははずしてください。
   確認終了後設定パネルを閉じます。

動作確認

 画面選択メニューから、プログラムウィンドウを選択します。
実行ボタン@をクリックしてプログラムの動作確認をします。
トレース機能Aボタンをクリックすると、実行中のタイルの色が変化し、 プログラムの進行状況が良く理解できます。
確認が終われば、停止Bをクリックして、
プログラムを終了します。

  カレンダー機能の動作確認を行う場合は設定時間を現在時刻より5分ほど先にすると
   速やかに確認を行うことができます。

 

自律モード目覚し時計の完成

動作確認でプログラム実行ボタンをクリックしたことにより、
ROBOCUBEにはプログラムが書き込まれています。
自律モードで動作させるには、 PCとROBOCUBEの接続ケーブルを外します。

センターブロックの”モード切り替えスイッチ”
”R”(RUNモード〔自律モード〕に します。)

ACアダプターを外し、バッテリーケースをセンターブロックにセットします。
※アラームモードを使用していないため、バッテリーケースの取り付け位置に制限はありません。


7・3 b_アラームモード目覚し時計
   アラームモードで 毎日、午前6時30分に1分間音楽を鳴らす。
  
   音楽が鳴っていとき以外はブロックの電源がOFFになっています。
  (サンプルプログラム Cドライブ:\Program Files\System Watt\Robocube\Samples\neuro_alarm_power.toy)

b_タイルの作成

  ここでは sound_on(初期設定と音楽ON)コマンドタイルとevery_day_alarm(毎日時分)テストタイルを作成します。
   sound_onは動作条件(a)のsound_intコマンドタイルのとほぼ同じで、
   内容の制御OFFをONに置き換えたものです。
  every_day_alarmは 動作条件(a)のものと同じです。

 

b_タイルを使ったプログラミング

  画面選択メニューから、プログラムウィンドウを選択します。

左図のように、スタートタイルの隣に
sound_onevery_day_alarm、 の順番に
コマンドタイルとテストタイルを配置します。

システムタイルからパワーオフをドラッグし、 every_day_alarmの隣に配置します。

コマンドリンクと、割り込みリンクでつなぎます。

センターブロックのモードスイッチを
A(アラームモード)に切り替えると、
ブロックの電源がOFFとなります。

設定された時刻になると、ブロックの電源がONになり、プログラムが起動し音楽ONとなります。

  これで、every_day_alarm(アラーム表示3番目の毎日時分)が真(1)ならば音楽ON、偽(0)ならば音楽OFF
  という動作をする、プログラムが作成できます。

       パワーオフ

 電源オフタイル。
 ROBOCUBE
の電源を プログラム上で自動的にOFF
 センターブロックのモードスイッチが(アラームモード) かつ、
 電源の供給面がマスター面(上面)であることが、このタイルの動作条件。


b_時刻設定

  ここではアラームモードで、毎日午前6時30分に音楽ONし、1分後音楽OFFするようにします。
  画面選択メニューから組み立てウィンドウを選択しCalendar_0アイコン ダブルクリックすると
  カレンダーの設定パネルが表示され、設定と制御モードになっています。

まず、現在時刻のセット@ボタンをクリックし
センターブロックの現在時刻を更新します。

時刻設定の 毎日時分Aラジオボタンにチェックを入れ、時、分に各々6、30を入力しますB

パワー・オンCにチェックを入れ、アラームモード(電源OFF状態)で、設定時間に電源ONするようにします。

有効時間Dを入力します。

時刻設定セットEボタンをクリックし、
2,3秒経ってから、有効時間セットFボタンを クリックします。
こにより、毎日時分の設定値と、有効時間の設定値がセンターブロックのメモリーに書き込まれます。

 

  必ずモニターGにチェックを入れセンターブロックのメモリーに書き込まれた内容を リクエストHボタンで確認しますI。
   正しく更新されていなければ、再度設定を行います。 確認終了後設定パネルを閉じます。  

動作確認
 
画面選択メニューから、プログラムウィンドウを選択します。
トレース機能@ボタンをクリックすると、実行中のタイルの色が変化し、 プログラムの進行状況が良く理解できます。また、このときプログラムがセンターブロックに書き込まれます。
  センターブロックのモードスイッチをA(アラームモード)に切り替えます。
  設定した時間になると音楽ONとなり、1分後に音楽OFFとなります。
  ※動作確認を行う場合は設定時間を現在時刻より5分ほど先にすると 速やかに確認を行うことができます。

b_アラームモード目覚し時計の完成

アラームモードで動作させるには、
PCとROBOCUBEの接続ケーブルを外します。

センターブロックの”モード切り替えスイッチ”
”A”
(アラームモード)
に します。

ACアダプターを外し、バッテリーケースを
センターブロックにセットします。
アラームモードでは設定された時間以外は
ブロックの電源はOFFの状態です。
※アラームモードの場合はバッテリーケースの
  取り付け位置はマスター面(上面)に限ります。

7・3 c_超音波センサーOFFスイッチ付き目覚まし時計
  ( 超音波センサーをブロックのOFFスイッチとして使用する。)
  
(サンプルプログラム Cドライブ:\Program Files\System Watt\Robocube\Samples\neuro_alarm_no_power.toy)

c_コマンドタイルの作成
 
  ここでは以下の10個のコマンドタイルを作成します。
light

R、G、B 各設定値
遅いフラッシュモード
ライト徐々に明るく
ライトON

ax_volume AXレジスタリード
音量設定
yellow R、G、B 各設定値
ライトON
usonic_int 超音波センサ感度「中」
アラーム1レベル 設定
アラームモード
red R、G、B 各設定値
早いフラッシュモード
ライト徐々に暗く
alarm_start 相対タイマー起動
kannketsu

間欠的断続モード
ブザーON

buz_off ブザーOFF
dannzoku 遅い断続モード
ブザーON
now SLED表示モード現在時刻

■alarm_startコマンドタイルの作成■( 他のタイルに関しては、作成方法を省略します。 )

  相対タイマーを起動させるコマンドタイルを作成します。

コマンドタイル定義ウィンドウ左画面パーツリストの中からカレンダー機能のアイコン
Calendar_0 を右画面にドラッグし ダブルクリックします。
相対時間@ラジオボタンにチェックを入れると起動Aボタンが表示されます。

タイルプログラミングモード
Bをクリックし、起動Aボタンをドラッグして、
Calendar_0アイコンの右隣に配置します。

設定パネルを閉じてC、 タイル定義の登録ボタンをクリックし、アイコンの選択、名前の入力をします。 (ここではalarm_startを入力。)

 

c_テストタイルの作成 
  ここでは以下の3個のテストタイルを作成します。
a++
ブザー音量が徐々に大きくなるように90〜250まで1づつ増やし、
その値をAXレジスタに書き込む タイル。

set_ax_90
ブザー音量の初期値を90に設定するため、 AXレジスタに90を書き込むタイル。

alarm1
超音波センサーで設定したアラーム1のしきい値内に手のひらなどが検出されるかを判定するタイル。


c_タイルを使ったプログラミング
  画面選択メニューから、プログラムウィンドウを選択します。  
  このプログラムは次の3つの並列処理を行っています。
   1.内蔵LED青色点灯→黄色点灯→赤点灯
   2.音量徐々に大きくなる(MAX250)
   3. 超音波センサーのアラーム1変化情報待ち

  超音波センサーのアラーム1情報が真(1)になったら、相対タイマーを起動させた後、
  ブザーをOFFにしてブロック電源をOFFにします。
  超音波センサーのアラーム1情報が真(1)になる前に、並列処理の1が終了してしまった場合も
  相対タイマーを起動させた後、 ブザーをOFFにしてブロック電源をOFFにします。
  ※アラームモードの状態では超音波センサーに手などをかざすことでブロック電源がOFFになっても、
    相対タイマーで設定した時間が経過すると、再度自動的にブロックの電源がONになり、
    プログラムが起動して、ブザーが鳴り始めます。

 上図のように、スタートタに続けてタイルを配置し、コマンドリンクと割り込みリンクでつなぎます。

      ※並列入口タイル
 並列処理の入り口タイル。
 このタイル出口3つまでの¥処理を平行して行うことができる。

 

 

c_時刻、相対時間設定

  ここではアラームモードで、毎日午前7時00分にプログラムが起動するようにします。
  画面選択メニューから組み立てウィンドウを選択しCalendar_0アイコン ダブルクリックすると
  カレンダーの設定パネルが表示され、設定と制御モードになっています。

まず、現在時刻のセット@ボタンをクリックし
センターブロックの現在時刻を更新します。

時刻設定の 毎日時分Aラジオボタンにチェックを入れ、時、分に各々7、0を入力しますB

パワー・オンCにチェックを入れ、アラームモード(電源OFF状態)で、設定時間に電源ONするようにします。

有効時間30Dを入力します。

時刻設定セットEボタンをクリックし、
2,3秒経ってから、有効時間セットFボタンを クリックします。
こにより、毎日時分の設定値と、有効時間の設定値がセンターブロックのメモリーに書き込まれます。

 

相対時間の設定は相対時間@ラジオボタンを
クリックし、3分A を設定します。

パワーオンBにチェックを入れ、有効時間30分 Cを設定します。

相対時間のセットDボタン、有効時間のセットEボタンをクリックすると、設定値がセンターブロックに書き込まれます。

必ずモニターにチェックを入れセンターブロックのメモリーに書き込まれた内容を
リクエスト
F、Gボタンをクリックして確認します。

正しく更新されていなければ、再度設定を行います。 確認終了後設定パネルを閉じます。

 

 


動作確認

 画面選択メニューから、プログラムウィンドウを選択します。
トレース機能@ボタンをクリックすると、実行中のタイルの色が変化し、 プログラムの進行状況が良く理解できます。また、このときプログラムがセンターブロックに書き込まれます。

 センターブロックのモードスイッチをA(アラームモード)に切り替えます。
 設定した時間になるとブロック電源がONとなり、プログラムが起動し、ブザーが鳴り始め、内蔵LEDが点灯します。
 超音波センサーの手のひらなどをかざすと、ブロックの電源がOFFになり、
 設定した相対時間3分が経過すると再度ブロックの電源がONになり、プログラムが起動します。

 

超音波センサーOFFスイッチ付き目覚まし時計の完成

アラームモードで動作させるには、
PCとROBOCUBEの接続ケーブルを外します。

センターブロックの”モード切り替えスイッチ”
”A”
(アラームモード)
に します。

ACアダプターを外し、バッテリーケースを
センターブロックにセットします。
アラームモードでは設定された時間以外は
ブロックの電源はOFFの状態です。
※アラームモードの場合はバッテリーケースの
  取り付け位置はマスター面(上面)に限ります。