Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cat IoTLT Connect the Cat Feeder to Internet
Search
tomorrow56 a.k.a ThousanDIY
February 22, 2023
Technology
0
530
Cat IoTLT Connect the Cat Feeder to Internet
tomorrow56 a.k.a ThousanDIY
February 22, 2023
Tweet
Share
More Decks by tomorrow56 a.k.a ThousanDIY
See All by tomorrow56 a.k.a ThousanDIY
分解のススメ 第16回 「たまごっちユニ」のハードウエア概要
tomorrow56
0
2k
M5Stack Japan Tour Retoro PC style AtomS3 Stand
tomorrow56
1
1.3k
分解のススメ#15 ガジェット分解 HYPER出版記念 Yamazaki
tomorrow56
0
120
Other Decks in Technology
See All in Technology
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
170
複雑なState管理からの脱却
sansantech
PRO
1
140
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
170
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
380
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
Terraform CI/CD パイプラインにおける AWS CodeCommit の代替手段
hiyanger
1
240
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
270
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
5
610
Featured
See All Featured
Code Review Best Practice
trishagee
64
17k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
It's Worth the Effort
3n
183
27k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Adopting Sorbet at Scale
ufuk
73
9.1k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Designing for humans not robots
tammielis
250
25k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Transcript
2023/02/22 ネコIoTLT 自動給餌機をネットにつないでみた @tomorrow56 Masawo Yamazaki
自己紹介 Twitter: @tomorrow56 北海道札幌市在住の電子回路設計エンジニア 趣味は「100円ショップ巡り」と「Aliexpressの怪しいガジェットあさり」 最近は格安3Dプリンタの改造にはまっています。 [主な活動] Fecebookの「Aliexpress User Group
Japan(非公認)」管理人 2019年より月刊I/Oで「100円ショップのガジェットを分解してみる」を連載中
• 名前: グーグー (大島弓子さんの作品よりいただきました) • ネコ種:アメリカンショートヘア • 年齢:5歳 • 性格:ともかくかまって欲しいタイプ。
リモートワークの邪魔が趣味 うちのネコについて
うちにある自動給餌機
問題点 • メモリ機能がないため、毎回時刻設定と給餌時刻の設定必要 • 設定操作が複雑かつ取説がわかりにくい -> 自分で操作マニュアルを作成したけど覚えきれない… • 実際にトレイが動作したかどうかが、帰宅して確認しないとわからない
• メモリ機能がないため、毎回時刻設定と給餌時刻の設定必要 → 設置場所は自宅内なので、自宅のWi-Fiに接続しNTP経由で時刻を取得すればOK • 設定操作が複雑かつ取説がわかりにくい → 電源を入れるだけで決められた時刻に動作させたい。自宅用なので動作時刻は決め打ち • 実際にトレイが動作したかどうかが、帰宅して確認しないとわからない
→ 動作状況をLINE Notifyでスマートフォンに通知したらいいのでは? 問題点の解決案を検討 マイコンモジュールはM5ATOMを使用
実際に改造してみました
まずは底面のビスを外して本体を分解 • 駆動はDCモーターをギアで減速してトレイを駆動 • トレイ位置を検出するセンサーは2ヵ所 センサー DCモーター
トレイ位置検出用の2ヵ所のセンサーを確認 リミットスイッチ ボスに押されるとON スタート位置検出用のボス 各トレイ位置検出用のスリット フォトインタラプタ スリットが通過するとON
本体を開けた状態での動作を確認 実際の位置検出動作: 動画はこちら https://twitter.com/tomorrow56/status/1571670332960034816?s=20&t=l7fF0ip6S9Niv4e_AaR9jw トレイ移動時のモーターの両端電圧を実測 →電源(単2乾電池4本)の電圧(6V)がそのまま印加されている →回転スピード等の特別な制御は必要なさそう
制御基板を確認 ▪ 制御基板はコネクタを使用せず、リード線を直接ハンダ付け ▪ 液晶表示部分は別基板、フレキケーブルで接続
制御基板を確認 ▪ 液晶パネルは異方性導電ゴムで接続 ▪ 液晶パネルの下に樹脂モールドされたベアチップのコントローラが実装
制御基板を確認 ▪ 制御基板にも樹脂モールドされたベアチップのコントローラが実装 ▪ コントローラ以外はほぼディスクリート部品で構成 →回路図を作成しないと詳細がわからない…
しかたがないので回路図を作成してみた <<回路図より>> ▪ モーターやセンサーの制御は液 晶表示側(Clock PCB)のコント ローラが担当 ▪ 制御基板側のコントローラは音声 の録音再生用
↓ Clock PCBをマイコンに置き換えれば 自動給餌機能は乗っ取れそう <<その他わかったこと>> ▪ モータの両端に停止時のブレー キ用のトランジスタ(Q3)がある ▪ ブレーキの信号が音声再生ボタ ンと共用になっている
マイコンとの結線を決定し、実際に接続してみた ▪ 各信号はM5ATOMのピン数で問題ないので割り当てて実際に接続して基本 動作を確認してみる
M5ATOMからモーターを動かしてみてモーターの波形を確認する ▪ モーターONは問題なし ▪ モーターOFF時はブレーキ(Motor_Stop)制御必須
M5ATOMからモーターを動かしてみてセンサーの波形を確認する ▪ トレイスイッチ・フォトインタラプタともにプルダウン抵抗は必須→I/Oの入力プルダウン設定でOK ▪ 波形の信号レベル・パルス駆動幅はデジタル入力で十分取得可能
プログラムを作成して実際に動かしてみた プログラムはArduino IDEで作成 実際にトレイ位置を検出しモータ制御: 動画は以下 https://twitter.com/i/status/1581798588690337793 全コードはGithubにて公開中 https://github.com/tomorrow56/IoT_Cat_Food_Feeder
LINE Notifyへ通知させてみた LINE NotifyをESP32で使う方法: Qiitaの自分の記事 https://qiita.com/tomorrow56/items/2049eea1f68b9c1fd471 全部のトレイが設定時間通りに出ていることを確認
M5ATOMを本体に組み込む M5ATOMを取り付けるための小基板を作成し、本体に穴を開けて固定
M5ATOMを本体に組み込む 外装を外すことも考慮して、リード線はピンソケットで中継して基板に接続
実際に動作をさせてみた 組み立てた状態で実際に動作させた様子: 動画は以下 https://twitter.com/i/status/1591357064303235074 LINEグループに家族を追加して ゴハンを食べている様子を送ってもらいました
今後の予定(できればいいな、と思うこと) • M5ATOMを含めて全て内蔵乾電池で動作させる ◦ 現在はM5ATOMはUSBから別に給電 • 乾電池の残量通知 ◦ バッテリーチェッカー機能: 乾電池の内部抵抗値を測定できないか
• カメラユニットを接続して写真付きで通知(今は手動) • 実際に食べたゴハンの重量測定と通知 今後の進行状況は随時ツイートします (現在進行中) https://twitter.com/tomorrow56/status/1571420604578013184