swerveのアイコン画像
swerve 2021年02月22日作成
製作品 製作品 閲覧数 1250
swerve 2021年02月22日作成 製作品 製作品 閲覧数 1250

夜起きてしまって時間を確認したいときに押すボタン

作ったもの

オレンジ色の大きなボタンを押すとその時の時間の回数だけブザーが鳴るデバイス

キャプションを入力できます

動機

寝ている時に起きてしまったけれど今何時かが知りたい時ってありますよね?時間を確認した時に夜中だったり、起床時間までまだ時間があったら二度寝しますよね。
しかしながら暗い中でスマホや時計の明るい画面を見ると明るすぎて、目が痛くなったり、二度寝するには目が覚めすぎてしまうといった問題点があります。
そこで目を開けずに時間を確認するデバイスを製作しました。

システム構成

システム構成
ボタンが押さえたらRTCで取得した時刻を参照して、それに応じた回数のブザーが鳴ります。

回路構成

主な材料(入手先はあってるかは分かりませんが...)

部品名 個数 備考
ATtiny85-20PU 1 入手先:秋月
ICソケット 8ピン 1 入手先:秋月
DS1307使用リアルタイムクロック 1 入手先:秋月
圧電スピーカー 1 入手先:秋月
XHコネクタ 少々
三端子レギュレータ(5V) 1
ユニバーサル基板 1
ボタン 1

回路図
キャプションを入力できます

ハードウェア

CADでの全体図
設計はSolidWorksで行いました。

設計が終わったら3Dプリンターで印刷
キャプションを入力できます

基板と組み合わせるとこのようになりました。

側面にボタンがついており、これで電源のON/OFFを切り替えます。
キャプションを入力できます

ソースコード

ボタンが押されると時刻を取得し、時刻に応じてブザーから音を出すコード

#include "RTClib.h" #define speaker 3 #define sw 1 #define ntone 350 #define htone 440 RTC_DS1307 rtc; char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; void setup () { pinMode(speaker,OUTPUT); pinMode(sw,INPUT); Serial.begin(57600); if (! rtc.isrunning()) { Serial.println("RTC is NOT running, let's set the time!"); } rtc.adjust(DateTime(2020, 10, 31, 14, 24, 20));//最初にRTCの時刻をセットするとき以外はコメントアウト } void loop () { rtc.begin(); int i; int swp=0; delay(1000); DateTime now = rtc.now(); int hournum=0; int halfhour=0; hournum = now.hour(); swp==1; //swp=digitalRead(sw); if(swp==1){ if(hournum>12){ hournum=hournum-12; } else{ } if(hournum==0){ hournum=12; } else{ } if(now.minute()<45){ for(i=0;i<(hournum/4);i++){ tone(speaker,ntone); delay(500); tone(speaker,0); delay(50); } for(i=0;i<(hournum%4);i++){ tone(speaker,ntone); delay(100); tone(speaker,0); delay(50); } if(now.minute()>=15){ tone(speaker,htone); delay(100); tone(speaker,0); delay(50); } else{ } } else{ hournum=hournum+1; for(i=0;i<(hournum/4);i++){ tone(speaker,ntone); delay(500); tone(speaker,0); delay(50); } for(i=0;i<(hournum%4);i++){ tone(speaker,ntone); delay(100); tone(speaker,0); delay(50); } } delay(1000); } }

ブザーのなる回数は4進法で出力していて、12時間おきにリセットがかかっています。

完成した後での改良点、感想

9V電池を使用しましたが、容量が400mAh程度しかないらしく電池が持たないのでUSB給電にしたいですね。

おわりに

これで二度寝が捗ります。

swerveのアイコン画像
東京の大学の学生です。3DCADと電子工作の勉強中です。
  • swerve さんが 2021/02/22 に 編集 をしました。 (メッセージ: 初版)
ログインしてコメントを投稿する