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
560
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
2.4k
M5Stack Japan Tour Retoro PC style AtomS3 Stand
tomorrow56
1
1.3k
分解のススメ#15 ガジェット分解 HYPER出版記念 Yamazaki
tomorrow56
0
150
Other Decks in Technology
See All in Technology
7日間でハッキングをはじめる本をはじめてみませんか?_ITエンジニア本大賞2025
nomizone
2
1.8k
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
2k
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
3k
OpenID BizDay#17 KYC WG活動報告(法人) / 20250219-BizDay17-KYC-legalidentity
oidfj
0
240
Datadogとともにオブザーバビリティを布教しよう
mego2221
0
140
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
510
室長と気ままに学ぶマイクロソフトのビジネスアプリケーションとビジネスプロセス
ryoheig0405
0
360
君も受託系GISエンジニアにならないか
sudataka
2
420
技術的負債解消の取り組みと専門チームのお話 #技術的負債_Findy
bengo4com
1
1.3k
30分でわかる『アジャイルデータモデリング』
hanon52_
9
2.6k
Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド
logica0419
2
950
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
7
1.7k
Featured
See All Featured
Gamification - CAS2011
davidbonilla
80
5.1k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
Writing Fast Ruby
sferik
628
61k
A designer walks into a library…
pauljervisheath
205
24k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
GitHub's CSS Performance
jonrohan
1030
460k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Thoughts on Productivity
jonyablonski
69
4.5k
Done Done
chrislema
182
16k
Documentation Writing (for coders)
carmenintech
67
4.6k
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