福野泰介の一日一創 - create every day

IoTネコライフ、ネコゴハンマシン改修とIchigoJam組み込みテクニック

2018/05/20
#IchigoJam #maker 

我が家のネコエサイノベーション、初代はシンプルなカウンター、二代目はぴったり時刻に開くマシン
プリンの箱のまま、1年近く問題なく稼働してましたが、ついにケースに収まりました。

隙間に、DIP化されたLPC1114のマイコンモジュール(350円)を使って収めます。

ソレノイドを動かすための巨大な大きなコンデンサ(6800uF 10V)は、元のマシンから拝借。作動時に電圧が大きく下がってしまうため、制御部分との電源共有化は断念、電源ケーブルは2本出しとなりました。

ソレノイドを動かすためのリレー。リレーを駆動するMOSFET、MOSFETを制御するIchigoJamからのマイコン信号。小さな電気信号を少しずつ大きな力に変えています。

リアルタイムクロック(RCT)モジュールをI2Cで接続できるように配線も合わせてユニバーサル基板に実装が意外と配線が多い!このくらいの規模でも、Upverterで作って基板頼んだ方が効率は良さそう。でも、その場でガシガシはんだづけして作る楽しさは格別。


マイコンモジュールを使った注意点としては、左右の電源とGNDをジャンパ線でつないでおくこと。電圧差が発生し、うまく自動起動しない状態になりました。

SLEEPコマンドを使う場合、BTNピンを1MΩでプルアップするのを忘れずに!自動起動前提で使う場合は、BTNをGND接続でOKです。シリアル接続でESCキーコード送信でメンテナンス可!

あとはシリアルで接続して、IchigoJamを書き込み、プログラムを流し込んでできあがり。

10 LET[10],700,1200,1700,2000,2300:C=5 20 GSB@GETHM:A=0 30 IF N>[10+A] ?N,[10+A]:A=A+1:IF A=C A=0:GSB@WAITM:ELSE CONT 50 @LOOP 60 GSB@GETHM:CLS:?" NOW:";N:?"NEXT:";[10+A] 70 IF N>=[10+A] ?"GOHAN!":GSB@MOVE:WAIT60:A=(A+1)%C:IF !A GSB@WAITM 80 WAIT 60*10:GOTO@LOOP 90 @WAITM:GSB@GETHM:CLS:?" NOW:";N:?"WAIT TOMORROW":IF !N RTN ELSE WAIT60*30:CONT 100 @MOVE:WAIT1:OUT1:WAIT1:OUT0:RTN 200 @GETTIME 210 IF I2CR(#68,0,#700,7) ERR 220 FOR I=0 TO 6:[I]=PEEK(#706-I):[I]=[I]>>4*10+[I]&15:NEXT:RTN 240 @GETHM:GSB@GETTIME:N=[4]*100+[5]:RTN

ACアダプター動作させるので、省電力化しないメンテナンス性と応答性重視のコード。
10行で、7時、12時、17時、20時、23時の1日5回動作するよう設定してます。


時刻設定をいつでも変えられるように、シリアル通信ポートも外に引き出すことにしました。これで、箱を開ける手間なく、設定変更できます。


こちらが元の、IchigoJam完成版をそのまま使ったネコゴハンマシン。1台、回収できました。

他、ネコ関係、外出先からの確認に便利なネコIoTとして、ネコトイレIoTと、IO-DATAの「Qwatch」が活躍中!

ICTで良いネコライフを!

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image