Tamesuke-Goto Maker的Blog -5ページ目

Tamesuke-Goto Maker的Blog

地域ISP管理者だけれど、ここ3年ほどMakerなJobが増えたのでまとめてみたいと思います 旧ハンドル Ringoro


安眠グッズのDoDowモドキを以前作ったATTiny用LED基板で作成してみました。

ATTiny13A 4.5V駆動です。

 

ATTiny13A の場合PWMコントロールには ピンD0 を使います。

あとは全く同じ。

 

追記:cpu sleep

Arduno IDEで ArduinoUnoのスケッチをATTiny13Aで動かす場合sleepの前に

 

cli();

 

を実行しておかないとsleepからすぐに目覚めてしまいます。これはIDEのボード情報のfuse設定がデフォルトでWDT常時イネーブルになっているのではないかと推測されます。

 

その後調べて分かったのですが実際のDoDowでは

 

・点滅の間隔は 11回/分から 6回/分へしだいに移行する

 

のだそうです。ですので実際のプログラムはもっと複雑になります。前回のスケッチで400バイトくらいですのでATTiny13Aではメモリ不足になりそうです。。ATTiny85にしないと。

 

またLEDの照明は天井に反射させてその光を眺めるので、LEDは高輝度狭角照射のものでないといけないです。

手元にあったのは照射角60度のものなのでこれでは光が薄ぼやけてしまいます。秋月に超高輝度照射角15度という製品があるのでその辺を使う必要があります。

 

実用化にはまだいろいろありそうですね。

 

DODOWというものがあるらしい

Dodow アマゾン

睡眠グッズらしい こちらが本家

青色LEDがゆっくり点滅して、そのあかりを見ていると知らぬうちに眠れるという装置。
だそうです。

LEDの調光ならArduinoでも簡単に出来ますね。。。

調べてみると すでにクローンを 作った人もいます。

自分でも試しに作ってみた。動作テストなのでとりあえずは LED 1個で
抵抗は220Ωにしました。


{0C81A49F-B115-44FD-A12D-2E8BAF2E2DFA}

 

いろいろ調べたところ
  • 10秒間でゆっくり点滅
  • 完全には消灯しない
  • 明るくなる時間の方が暗くなる時間より短い

という動作の様です。

で、真似して書いた。以下がテストスケッチ



/*
 *   DoDow ?
 * 
 */

#include <avr/sleep.h>

int ledPin = 9; 
#define MIN 8

void setup()
{
  pinMode(ledPin, OUTPUT); 
}

static unsigned char d;
static int c=0;
void loop() {
  
  for(d=4;d<=250;d++){
   analogWrite(ledPin,d);
   delay(15);
  }
  for(d=250;d>=4;d--){
   analogWrite(ledPin,d);
   delay(24);
  }
   analogWrite(ledPin,4);
   delay(406);

   if(c++>6*MIN){
    set_sleep_mode(SLEEP_MODE_PWR_DOWN);
    sleep_mode();
   } 
}


 

 

動作させてみました。

 

Arduino UNOでは枕元に置けないのでATTinyでも使って作った方が良いでしょうね。

 



 
[5/25 追記]
 
前回試作した 

https://ameblo.jp/tamesuke-goto/entry-12354117602.html

 

DS3231の載ったボードをユニバーサル基板化してみました。


KiCadでパターン作成。発注はPCBGOGOです。 オーダーかけてDHLで一週間で届きました。
 
{F13DFF1D-1686-4545-8915-B4438EF16A9B}

10枚オーダして11枚届きました。

パーツはコンデンサも含めて表面実装にしてみました。
 
{CC31E641-8B2A-4C72-A045-AD8A1A342252}


シルクがわずかに 0.5mm程度上へズレていますが、まあ許容範囲でしょうか。
 
{3D60BB61-0F77-4842-B5CD-389B89C2F447}

DS3231と秋月のCR1220電池フォルダを取付
 
 
{91D1C098-27DA-4E17-8C2E-9AD90B5700F6}

i2cデバイスは複数使うことを前提にプルアップ抵抗のパターンは省きました。単体で使うには配線がちょとやりづらい感はありますが。
 
{B85C8430-A2B3-4EB8-818C-D371F4638382}

余ったエリアに1.27mmの表面実装パターンを付けましたが、、、あんまり使い勝手は良くない様です。素直にスルーホールにした方がよかったかも。
 
{D0CA3BFF-FF4F-44D9-897B-42113CB91E0F}

前回のスケッチを書き込んで3日ほど放置してみました。誤差1sec未満の様で中々使えると思います。

ガーバーファイルはオープンにして構わんと思ってますが、どこで公開するのが良いかな。

[5/25] しばらくほったらかしにしておいて、再度時間のずれ確かめました。5/25 時点で8秒程度のズレでした。だいぶ性能良いですね。