United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

太陽光で起きよう! 「日の出目覚まし時計」

背景・動機

  1. 目覚まし時計を用いた朝の起床は、高い確率で失敗する。なぜなら、目覚ましが鳴ってもスヌーズボタンを押して、睡眠時間を簡単に延長できてしまうからである。
  2. 太陽光を浴びると目覚めがよくなり、注意力が高まるという研究がある[1]。ユーザにカーテンを開けさせ、太陽の光を浴びさせることができれば、ベッドへ戻る意志を抑えられるはずである。そこで、カーテンが閉じ状態の際にアラーム音が鳴り、開き状態の際に停止する目覚まし時計を提案する。

設計

システム全体の設計

図1 システム全体の設計と、アラームが作動する例

セットアップ
本システムは、図1のように以下の3つのデバイスから構成される。

  • Raspberry Pi A: 目覚まし時計本体。
  • Raspberry Pi B: 外光検知用。
  • Android端末: 専用アプリを搭載。
    なお、Raspi A, Bには、区別のため異なる色のLEDを搭載している。

セットアップは、以下の手順で行う。

  1. 朝方に起きて、Raspberry Pi Aをベッドの近くに、Raspberry Pi Bをカーテンの後ろに置く。これにより、Aが部屋の明るさを、Bが外の明るさを検知できるようになる。
  2. Androidアプリを用いて、光の差のしきい値thを設定する。
    このしきい値はアラームの感度を決定しており、屋内と屋外の光の差がthを超えるとアラームが起動する仕掛けになっている。
    1. まず、カーテンを閉めてアラームが鳴るのを確認する。音が鳴らない場合はしきい値thを下げる。
    2. 次に、カーテンを開けてアラームが止まるのを確認する。音が止まらない場合は、しきい値を上げる。
  3. 起床時刻を設定する。
    この時刻が決まったら設定が完了する。

使用方法

ユーザーが設定した起床時刻になると、寝室内からアラームが鳴る。アラームは、ユーザーがベッドから出てカーテンを開けるまで鳴り続ける。カーテンを開けると、光が室内に差し込んで、アラームが止まる。
カーテンを閉めてベッドに戻りたくなるかもしれないが、再びカーテンを閉めればアラームが鳴る。

実装

本システムは、サーバー、クライアント、Androidアプリの3要素から構成される。


図2: アラーム本体兼サーバ(左)と窓の光を計測するクライアント(右)

サーバ
サーバは、Raspberry Pi本体、Arduino、スピーカから構成されている(図2)。

  • Arduino:フォトレジスタ(cdsセンサ)に基づいて光量を測る回路を持つ。回路のフォトレジスターは、光が当たると抵抗値が変動するため、変動をもとに光の強さを推定できる。光量は、USB経由でサーバプロセスに送る。
  • スピーカー:アラーム音を再生するために使う。
  • サーバプロセス:Python Flaskでホストする。Androidアプリ及びクライアントとHTTPで通信し、GETメソッドのクエリパラメータを取得する。
    • クライアントRasPiから、変数lightOut(外の光の強さ)を受け取る。
    • Androidアプリから、変数th(しきい値)とalarm(アラーム時間)を受け取る。

サーバーは無期限に動作し、自身のフォトレジスターの光量とクライアント側の光量とを比較する。光量の差を計算し、ユーザー定義の閾値内(外)であればアラームを停止(起動)する。または、現在時刻が起床時間のとき、アラームを一定時間鳴らす。(図3)

図3 アラームの作動ロジック

クライアント

  • サーバーと同様の構成である(図2)。Raspberry PiにArduino(とフォトレジスタ)を接続している。
  • クライアントプロセス:Pythonスクリプトを継続的に実行し、USBでArduino(の光計測回路)から光量を受け取り、定期的にHTTPでサーバーに送る。

 

Androidアプリ

Androidアプリの画面(1) Androidアプリの画面(2)

 

  • HTTPのGETメソッドで以下のクエリパラメータをサーバに送る。
    • th:アラームの起動に係る閾値
    • alarm:起床時刻

まとめ

日の出目覚まし時計は、寝坊を防ぐためのIoTデバイスである。強制的にカーテンを開けさせ、太陽の光を浴びさせることで、スヌーズボタンによる二度寝を防止し、また朝の目覚めを改善する。正しく設定すれば、このシステムは正確に機能し、カーテンを開けると非常に素早く反応する。

Websci2023 さんはまだ自己紹介を入力されていません...