ジェネリック定刻起床装置2号機

1号機はこれ
pyn-pyn.hatenablog.jp
途中で正気に戻ってしまって諦めた


こっちは正気に戻ったあとに作ったやつ


注意書き
AC100Vを直接触る回路なのでマネして感電したり燃えたりブレーカーと保存してないデータをまとめてふっとばしたりしても知らないよ.



素材(1号機の記事からほぼコピペ)

・送風機
www.amazon.co.jp
12V(ACアダプタorシガソケ)の送風機も買ったけど,12Vだとぱわみがなくて体を押し上げられなかったから100Vのやつじゃないとだめらしい

・散水ホース
https://www.amazon.co.jp/gp/product/B00CTGTN92/

・厚手のゴミ袋かメロブのレジ袋
 今使ってるのは45L,厚さ70umって書いてあった

・Aruduino nano互換機
 8MHz品が余ってたのでこれを使った.動作クロックが16MHzだとプログラム的にはUNOと動作コンパチだと思う.

miniUSBケーブル
http://www.yodobashi.com/ec/product/100000001001230585/index.html
Arduino nano用
電気食うもんでもないし細いのでよし

・ACアダプタ
https://www.yodobashi.com/product/100000001003173268/
Arduino nano用
電気食うもんでもないし(ry

・目覚まし時計
Amazon.co.jp: CASIO(カシオ) 目覚まし時計 大音量 ブラック アナログ スリープバスター ベル音アラーム TQ-647-1JF: ホーム&キッチン
1号機でドツボったので既製品つっこんだ
はじめ百均の目覚まし時計使ってたらえげつなく時間ずれたのでおとなしくちゃんとしたやつ買ったほうがいい
ベル式で単三電池2本で動くやつがおすすめ(理由はこのあとで)
ところでこの目覚まし時計,ベルが2つあるようで実際に動いてるのは片方だけだった

・3Vリレー
3V小型リレー 接点容量:2A 946H−1C−3D: パーツ一般 秋月電子通商-電子部品・ネット通販
さっきベル式で単三電池2本って書いた理由はこれ
ベル殴るモーターの配線をそのままリレーに繋げば,リレーの接点を使って深く考えずに使えるのでおすすめ
目覚まし時計内部の回路を観察してえいやっとつなげなくもないけど過電流過電圧逆接その他etcで目覚まし時計壊すかもしれないので
(目覚まし時計だけでえいやっと組み込んだので実はまだ使ってない)

・いい感じのリレーモジュール (リレードライバ内蔵してるからつないでTTLやらCMOSレベルで叩けば動くので便利)
https://www.amazon.co.jp/gp/product/B088FLWF81/

・百均のすべりどめマット
f:id:PYN_pyn:20200922193351j:plain
こんなかんじにごみ袋に添えて使う
ないと膨らんだときに滑ってゴミ袋がお布団から逃げる

あとヒューズとかヒューズホルダとかスイッチとかボリュームとか細かいの
https://www.yodobashi.com/product/100000001003562421/
https://www.yodobashi.com/product/100000001000618980/
プラスチックケース SY−110G: 電子工作便利商品 秋月電子通商-電子部品・ネット通販
ガラス管ヒューズ MF61NR 250V2A 32mm: パーツ一般 秋月電子通商-電子部品・ネット通販

ヒューズホルダとかヒューズはヨドバシとかで買ったほうが早いし安全だと思う
ガバガバ製品買って燃えてもどうかと思うので


中身
f:id:PYN_pyn:20200922193439j:plain
100Vラインに接するリレーはタッパーに閉じ込めてarduinoとか目覚まし時計の信号線に混触しないようにしたつもり.


ざっくりとした構成
f:id:PYN_pyn:20200922203539j:plain




f:id:PYN_pyn:20200922193310j:plain
リセットピンにつけたプルダウン抵抗を外すシャンパ(普段はショートさせてる)
構成図でも書いたとおり,10kΩで内部プルアップされているarduinoを1kΩでプルダウンしてLOにすることで,常時リセットボタンを押しているのに近い状態にしている.
これを目覚まし時計の接点でHIに持ち上げることで,リセットが解除されて送風機が動くというしくみ.
ところでarduinoはスケッチ書き込み時にリセットが必要というかリセットピンを使うんですが,それを失念してなんか書き換えられんなぁとやってたら.
常時リセット押しっぱなしじゃ書き込めないわとジャンパを追加した次第.


スケッチ
 送風機でふくらませるだけなら目覚まし時計とリレーだけで良かったんですが,送風機には「15分以上運転するな」という刻印が入ってる.
ということで,過熱対策として指定時刻になったら1分送風4分停止(冷却)を繰り返し,指定時刻から30分経ったら停止をやるやつ.
2号機は時限機能を目覚まし時計に丸投げしたので,setupにべちゃっと書いておしまい.
目覚まし時計でリセットピンを操作されてリセットが解除されるとsetupが一周だけ回るので30分経ったらとまる.
パイロットランプつけなかったので冷却時間か指定時刻じゃないのかわかりにくいので冷却中のちょっとみょんみょんさせてる.

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);

  for (int i = 0; i < 2; i = i + 1) {
    digitalWrite(13, HIGH);
    delay(100);
    digitalWrite(13, LOW);
    delay(200);
  }

  for (int i = 0; i < 5; i = i + 1) {
    for (int i = 0; i < 7; i = i + 1) {
      digitalWrite(13, HIGH);
      delay(9000);
      digitalWrite(13, LOW);
      delay(1000);
    }
    for (int i = 0; i < 24; i = i + 1) {
      digitalWrite(13, HIGH);
      delay(1000);
      digitalWrite(13, LOW);
      delay(9000);
    }
  }

  digitalWrite(13, HIGH);
  delay(100);
  digitalWrite(13, LOW);

  digitalWrite(13, LOW);
}

void loop() {

}

ジャンル限らず自作って正気を失ったオタクしかしないらしいし正気を取り戻した版って言い張っていいんかこれ