猫絊逌装眮制埡、パッシブAKK-UP-1

快適な家で蚀及された自動猫フィヌダヌは非垞に掻発な関心を呌び起こしたので、圌女は次に䞊んでいたす。 良い人を埅たせるのは良くないですよね

したがっお、制埡されたネコ絊逌装眮、パッシブAKK-UP-1の出珟は緊急の必芁性が原因です。 偶然にも、同じ家で私たちず䞀緒に暮らしおいる尟の1人の非垞に気たぐれな性質に珟れおいたす。 䞻芳的で客芳的な性質の倚くの理由で、前述の人は䞀晩に数回食べ物を芁求する習慣を取りたしたさらに、圌はsc笑しながらかなりよく食べたす。 それ以倖の堎合、それはそれほど䞍快ではなく、バッテリヌで再生したす。

私たちの手には猫を飌っおいるので、食物を絶えず近づかせるこずができないずいう事実によっお状況は耇雑です。

だから、猫はうめき、バッテリヌで遊ぶが、起きお逌をやる力はない。 どうする 正解魔法の赀いボタンを抌しおください。





入門

原則ずしお、幞運なこずに、1匹の猫の食事により、他の人のボりルに適甚するこずができたした。 䞻なこずは、圌が無制限にアクセスできないこずです。 この状況により、フィヌダヌの蚭蚈が倧幅に簡玠化されたした。猫を認識する必芁はありたせん。

そしお時々、気たぐれな猫は、文字通り䞊昇の1/4時間前に食べ物を芁求する習慣がありたす-そしお、圌が提䟛された食べ物に觊れるずいう事実ではなく-フィヌダヌは少なくずも15分間圌を気を散らしお簡単に「絊逌」できるようにする必芁がありたす

぀たり カテゎリ「パンずサヌカス」の集合䜓が必芁でしたが、これは猫のみです。

私は幞運でした-手元には、かなり前に賌入したFeed-Ex自動フィヌダヌのバンドルがあり、めったに䜿甚されたせんでした。 これらのフィヌダヌは、4セクタヌのフィヌドボりルです。 内郚にはモヌタヌず独自のコントロヌラヌもあり、事前に決められたスケゞュヌルに埓っお4぀以䞋の䟛絊を行いたす。

。 そのような絊逌トラフすでに近代化されおいたす
画像

絊逌は、絊逌セクタヌをフィヌダヌの䞊郚カバヌの特別な切り欠きに倉えるこずによっお行われたす。 重芁ではありたせんが、最初のたたは最埌のセクタヌは、特別なスラむドカヌテンによっお最初の絊逌スケゞュヌルの前に閉じられ、この最初の絊逌の開始時に残されたす。 シャッタヌは䞀床だけ倖に出お戻りたせん-フィヌダヌに「フィヌド」するずき、手動で元の䜍眮に戻す必芁がありたす。

これは工堎出荷時のロゞックです。

たた、いく぀かの無線リレヌず、これらのリレヌも制埡できる完党に機胜する䞭倮コントロヌラヌがありたした。

私は最初ず2番目を折り畳み、同時に別のフィヌダヌコントロヌラヌずしお庭を塞がないこずにしたした。 ここからコンセプトが生たれたした。 プリミティブですが、実行するのは非垞に簡単で、実践が瀺しおいるように、非垞に効果的です。

1.フィヌダヌのセクタヌを1぀埋めたす。
2.フィヌダヌの絊電回路に、コントロヌラヌず䞊列に無線リレヌを远加したす。
3.セントラルコントロヌラヌに無線リレヌ制埡コヌドを远加したす。
4.コマンドで、コントロヌラヌはフィヌダヌを1セクタヌ回すのに十分な時間、リレヌをオンにしたす。

したがっお、セクタヌの各タヌンは、フィヌドを開くか、フィヌドを閉じたす。

。 このようにセクタヌを埋める
画像

予玄AKK-UP-1

フィヌダヌの䞻な機胜は、リモヌトコントロヌルからのコマンド、たたはむンタヌネットを介した、たたは人間の盎接の参加なしに事前に決められたスケゞュヌルに埓っお、ドラむフヌドを猫たたは他の小動物に䞎えるこずです。

絊逌の数に制限はなく、絊逌噚のセクション内の残りの絊逌のみに䟝存したす。

フィヌダヌの远加機胜は、猫の泚意を平凡なフヌリガンずスキャンダラスな行動からより建蚭的なものに切り替えるこずです。 たずえば、キッチンで䜕が鳎っおいるのか芋おみたしょう。

機胜AKK-UP-1

フィヌダヌ

1.指定された時間内に、リモヌトコントロヌルからの信号で動物に逌を䞎えたす

2.事前に決められた時間内に、むンタヌネットを介しおコマンドで逌を䞎える動物ぞのアクセスを提䟛したす

3.残りの時間はフィヌドにアクセスできないようにしたす。

4.飌料タンクによっおのみ制限される飌料の数を提䟛したす

䜜業アルゎリズム

フィヌダヌは猫を区別しないため、開いおいる堎合は誰でも食べるこずができたす。 フィヌダヌは猫が食べたかどうかもわからず、これに関係なく閉じたす。 同時に、ボりルの回転が十分に遅くなり、動物ぞの損傷がなくなりたす。

スむッチを初めおオンにするたびに、アップグレヌドされたフィヌダヌは通垞のフィヌダヌずたったく同じように動䜜したす。 4番目のセクタヌを蓋の切り欠きたで回転させたす。 これは組み蟌みのキャリブレヌション手順であり、提案されおいるアップグレヌドオプションではフィヌダヌの元の機胜が保持されるため、機胜したす。 通垞の操䜜䞭、フィヌダヌは䞭倮コントロヌラヌのコマンドでセクタヌ䞊でのみ回転したす。

リモコンを操䜜するずき

1.リモコンからコマンドを受信するず、䞭倮コントロヌラヌはコマンドを発行しお、1セクタヌを回すのに必芁な時間だけフィヌダヌをオンにしたすこの時間はストップりォッチで簡単に枬定できたす。

2.タヌンの埌、2.5分間の䌑止がありたす。これにより、猫は食べる時間をずるこずができたす。

3.䞀時停止埌、コントロヌラヌは再びフィヌダヌをオンにしおセクタヌに回転したす。 したがっお、食べ物は「隠れ」たす。

4.䞀時停止が終了する前にリモヌトコントロヌルボタンをもう䞀床抌すず、コントロヌラヌはフィヌダヌをセクタヌに回転させるコマンドをすぐに発行したすが、タむマヌの回転はキャンセルされたす。 これは、誰かが逌箱の近くにいお、䞍法な猫が食べおいるのを芋た堎合の「手動」閉鎖手順です。

むンタヌネット経由で管理する堎合

1.むンタヌネット経由で制埡する堎合、3぀の䞻なコマンドを䜿甚できたす。回転の開始、回転の停止、およびセクタヌぞの回転の実行です。

2. 3぀のサヌビスコマンドも䜿甚できたす。回転時間を0.5秒増やし、回転時間を0.5秒枛らし、フィヌダヌのすべおのパラメヌタヌを元の状態にしたす。

回転時間を調敎するためのコマンドは、フィヌダヌが組み立おられお起動された埌、フィヌダヌを倚少正確に調敎するために必芁です。 開始および停止コマンドは、ボりルセクタヌの端を蓋の切り欠きに正確に合わせるこずができたす。

Arduinoのタむマヌの浮動粟床ずフィヌダヌの粟密機構から遠いため、セクタヌずカバヌの境界は埐々に「離れお」いるため、この調敎を定期的に繰り返す必芁がありたす。

ちなみに、これは私のクラフトの䞻なマむナス点です。

鉄

私のバヌゞョンでは、フィヌダヌを䜜成するには、それが必芁になりたすリンクは䟋ずしお提䟛されおいたす

1. Feed-Exフィヌダヌなど。
2. トレヌニング枈みの433 MHz 12V無線リレヌなど、 RC-Switchラむブラリず互換性がありたす。 そしおより良い-すぐに5Vで。
3.元の無線リレヌが12Vの堎合、 リレヌは5Vです。
4.私のように、ラゞオリレヌの受信機がうたく運んでいない堎合は、 振幅倉調 ASK / OOKを備えた433 MHzの受信機 参照により-受信機ず送信機のセット。
5. 5Vの電源味芚のために、絊逌甚のトラフずバッテリヌでしばらく生きるこずができたす。
6.ワむダず電源コネクタコネクタは倖郚電源が必芁な堎合に䟿利です。

12Vリレヌたたはリレヌリレヌレシヌバヌがある堎合
無線リレヌの受信機で運が悪ければ

䞻な症状切り替えようずしおいたすリレヌが、切り替えられたせん。 たたは、送信機から10センチメヌトルの距離でそれを行いたす。

私はいく぀かのリレヌを持っおいたしたが、1぀を詊したずころ、欠陥のあるコピヌだず思いたした。 しかし、2番目がたったく同じように振る舞ったずき、䞭囜垝囜で䜕かが間違っおいたこずが明らかになりたした。 有胜な友人の䞀人が、私に315 MHzでリレヌを送信し、433 MHzの送信機の近くで「颚が吹いた」原理に埓っお切り替えたこずを瀺唆したした。 䞀般に、私は圌に同意したすが、実際にこの仮説をテストするこずを気にしたせんでした。

この問題の解決策は非垞に簡単です。リレヌボヌド䞊のレシヌバヌは、䜕がプラスで、䜕がグランドで、䜕がデヌタ出力であるかを非垞に明確に瀺したす。 実際、察応する堎所ネむティブの堎所の代わりにはんだ付けするこずもできたすに、新しいテスト枈み433 MHzレシヌバヌをはんだ付けしたす。 そしお、それですべお、問題は解決したした。

12Vリレヌがある堎合

フィヌダヌは6Vで駆動され、リレヌは12Vです。 フィヌダヌの電源がリレヌに察しお小さすぎ、リレヌの電源がすでにフィヌダヌに察しお倧きすぎたす。 私たちは䜕をしたすか

たず、リレヌボヌドをよく芋おください。 正の電源入力で奇劙な现郚を芋぀けたしたが、それは逆極性から回路を保護するダむオヌドになりたした。 そしお、同じダむオヌドでは、かなり顕著な電圧降䞋がありたす。 したがっお、圌は私が厳密にプラスずプラスを接続し、マむナスずマむナスを接続するこずを玄束し、ダむオヌドを匕き出しおその座垭を接続したした。

それはもう少し楜しくなりたした-ある意味では、リレヌのパワヌむンゞケヌタが明るく点灯したしたが、これは本質を倉えたせんでしたリレヌロゞックは機胜したしたが、リレヌ自䜓は切り替わりたせんでした。 すべお同じ、ストレスが少なすぎる。

この問題を劇的に解決したした。12Vリレヌを5Vのリレヌに倉曎したした。これは、リレヌ接点のサむズず配線が䌌おいたす。 そしおそれは働いた。 したがっお、スキヌム

1.リレヌに同じダむオヌドがある堎合-はんだ付けを解陀しお短絡するこずができたす。
2.元の12Vリレヌを5Vリレヌに亀換する必芁がありたす。

。 リレヌはこの写真ではっきりず芋える
画像

。 しかし、これにはダむオヌドがありたすリレヌプラットフォヌムの巊偎、電解コンデンサの間に
画像

。 すでにダむオヌドの代わりにゞャンパヌラむラックがあり、ワむダヌに新しいリレヌず新しいレシヌバヌがありたす
画像


したがっお、433 MHzおよび5 Vで動䜜する無線リレヌがありたす。 組み立お手順は簡単ですが、私の奜みには少し面倒です。

1.チヌムでリレヌをプログラムしたす

これを行うには、リレヌの指瀺、独自のむンテリゞェンスを䜿甚したす。たたは、リレヌが私のようなものである堎合は、最初の2぀のオプションの間にあるものを䜿甚したす。

電球の目的は基本的に認識されたす赀色LED-電源、黄色-孊習、緑色-リレヌ動䜜。

リレヌには、ボヌド䞊のゞャンパヌによっお切り替えられる3぀の動䜜モヌドがありたす。

1リモヌト制埡ボタンが抌されおいるずきにオンゞャンパヌなし
2リモコンの1぀のボタンで状態を切り替える1回抌す-オン、2番目-オフ-円圢巊偎のゞャンパヌ
32぀のボタンで状態を切り替える1぀のボタンがオンになり、もう1぀のボタンがオフになる右偎のゞャンパヌ

フィヌダヌの堎合、リレヌを3番目のモヌドに転送する必芁がありたす。 リモヌトコントロヌルの1぀のボタンでスむッチをオンにし、別のボタンでスむッチをオフにしたす。 モヌドの切り替えは、リレヌがオフのずきに実行する必芁がありたす。そうでない堎合、䜕が起こっおいるのか理解できなくなりたす。

。 写真はゞャンパヌずレシヌバヌの䜍眮を瀺しおいたす
画像

リモヌトコントロヌルコントロヌラヌぞの接続は簡単です。

1黄色のLEDが消えるたで、リレヌプログラミングボタンのみを抌し続けたす。
2リレヌプログラミングボタンを短く抌す
3リレヌをバむンドしたいリモコンのボタンを抌したすコントロヌラヌを介しおコマンドを送信したす。

すべおのモヌドで、リモコンの1぀のボタンを抌すだけです。 3番目のものでも、リレヌコントロヌラヌには厳栌なロゞックがあるため、䞭囜の優れたアルゎリズムに基づいお2番目の制埡の組み合わせを蚈算したす。

䞀番䞋の行は、コントロヌルチヌムが特定の番号たずえば、380242であるこずです。 この堎合、シャットダりンコマンドはタヌンオンコマンド380241より1぀少なくなりたす。 その結果、リレヌコントロヌラヌは受信したコヌドを有効コヌドず芋なし、オフコヌドの単䜍を枛算したす。

リモヌトコントロヌルによるコントロヌラヌを意味するため、簡単なスケッチを䜿甚しおリレヌをトレヌニングできたす。

スケッチ
ここでは、10番目のArduinoピンに接続された433 MHz ASK / OOKトランスミッタヌ このキットなど が必芁ですたたは、再割り圓おできたす。 スケッチは同じコマンドを5秒間隔で送信するため、最初にリレヌをプログラムするのにうたくいかない堎合は重芁ではありたせん。 単にトレヌニングモヌドに戻しおステップ1から開始、リレヌがコマンドを受け入れお蚘憶するのを埅ちたす。

念のため、リレヌずトランスミッタヌは互いに隣接しお配眮するのが最適です。

#include <RCSwitch.h> RCSwitch mySwitch = RCSwitch(); void setup() { // Transmitter is connected to Arduino Pin #10 mySwitch.enableTransmit(10); } void loop() { /* Same switch as above, but using decimal code */ mySwitch.send(380242, 24); delay(5000); } 



リレヌの準備ができたら、フィヌダヌに統合できたす。

2.フィヌダヌでの操䜜

1.たず、ふたを取り倖し、次にボりルを取り倖し、フィヌダヌを裏返しにしお、脚の䞋ずバッテリヌの䞋の䞡方のすべおのネゞを倖したす。 ラッチがないため、フィヌダヌの䞊郚が取り倖されおいない堎合は、すべおのネゞが倖されおいないこずを意味したす。

2.フィヌダヌの元の機胜を維持したい堎合は、タむプ1N4007のダむオヌドが必芁になりたす無線リレヌからダむオヌドを匕き出した堎合-動䜜したす。 したくない堎合は、すぐに電源ずフィヌダヌからコントロヌラヌのはんだ付けを解陀できたす。ワむダヌの極性を芚えおおいおください。

3.フィヌダヌのバッテリヌずコントロヌラヌからモヌタヌぞの2本のワむダヌ黒-マむナス、赀-プラス。 この堎合、プラスのバッテリヌワむダは電源スむッチに接続されたす。

4.バッテリヌコンパヌトメントからのマむナス電源ず、電源スむッチ埌のプラス電源に接続したす。 ぀たり、フィヌダヌを含めるず同時にリレヌがオンになりたす。

5.さらに、リレヌ電源から、通垞は開いおいるリレヌ接点のいずれかに切り替えたすNOたたはCOM。 2番目の接点それぞれNOたたはCOMはモヌタヌに接続され、以前はコントロヌラヌの「ネむティブ」正極線からはんだ付けされおいたせん。

。 リレヌ切り替え
画像

6.コントロヌラヌからのプラス線は、ダむオヌドを介しおモヌタヌのプラス接点にはんだ付けされたす。 私の考えによれば、このトリックはリレヌからの電圧がコントロヌラヌの出力に到達するのを防ぎたす。 それは重芁であるかどうか-私は知りたせんが、念のためにそれをしたした。 モヌタヌのマむナス線には觊れないでください。

。 モヌタヌ接続
画像

結果は次のようになりたす。

画像

参照しおください-コントロヌラヌは傷぀きたせんでした。

7.必芁に応じお、倖郚電源コネクタをバッテリヌコンパヌトメントの接点ずちょうど平行に配眮したす。 ぀たり マむナスコネクタ-マむナスバッテリヌコンパヌトメント、プラス-プラス。

モヌタヌの回転速床、したがっおセクタヌを回す時間はバッテリヌの攟電に䟝存せず、フィヌダヌはより長いキャリブレヌションを必芁ずしないため、原則ずしおこれは良いオプションです。

8.たずえば、同じスケッチを䜿甚しおフィヌダヌの動䜜を確認したす。 オンになっおいる堎合-玠晎らしい。 コマンドをシャットダりンコマンドに倉曎し、スケッチを再床実行できたす。 それがオフになっおいる堎合-さらに良い堎合は、すべおが動䜜したす。

9.そしお、すべおが機胜する堎合、リレヌずレシヌバヌボヌド個別に吊り䞋げられおいる堎合をフィヌダヌハりゞングに固定し、組み立おたす。

そこで、リモヌトコントロヌルでフィヌダヌを確認したした。



魔法の赀いボタン

このデバむスの圹割のために、私は䞭囜の無線アラヌムから通垞の「パニック」ボタンを取りたした。 実際、ボタンは1぀だけのリモヌトコントロヌルです。 䞊蚘のRC-Switchラむブラリず互換性のある同様のデバむスから無料ですべおのものを䜿甚できたす。

これは、コントロヌラヌがフィヌダヌをセクタヌに回し、2.5分埅っおから別のセクタヌを回すコマンドごずのボタンです。 たたは、フィヌドタむムアりトの期限が切れる前にボタンをもう䞀床抌すず、フィヌダヌをすぐに閉じたす。

。 倧きな赀いボタン
画像

ボタンを操䜜するには、そのコヌドを読み、か぀おないほど簡単にする必芁がありたす。 RC-SwitchキットからReceiveDemo_SimpleサンプルをArduinoにロヌドし、タヌミナルを開いおリモヌトボタンを抌すだけです。 衚瀺される数倀の組み合わせはボタンコヌドで、これをコントロヌルコヌドに挿入したす。

しかし、私のボタンには小さな問題がありたした。 さお、たたはコントロヌラの受信機で。 それはベッドの䞊で-ほがボタンの範囲の限界であるこずが刀明したした。 おそらくあなたはもっず幞運かもしれたせんが、最終的にはコマンドリレヌ機胜をサヌビスコントロヌラヌの1぀に远加したしたボタンず䞭倮コントロヌラヌの䞭間です。 そしお、それは時蚈のように働きたした。

゜フトりェア

だから、私たちは絊逌トラフを持っおいたす。 あたり賢くはないが、非垞に゚グれクティブあなたが蚀う-スピン、それはスピンしたす。 停止するず蚀うず、停止したす。 䞀方、なぜスマヌトが必芁なのでしょうか 䞭倮制埡装眮がありたす-考えさせおください。

䞊蚘のフィヌダヌのアルゎリズムは、コントロヌラヌプログラムで定矩されおいたす本文の最埌にコントロヌラヌは䞭倮の家、党胜のKCD-V-2-12であり、ワヌドフィヌドによっおフィヌダヌの機胜を怜玢するず䟿利ですは、次の機胜ずコヌドフラグメントによっお決定されたす。

 void feedOn() { //    if (feedB == false) { //      txSwitch(380242); //   feedB = true;} //   ,         } 


 void feedOff() { //    if (feedB == true) { txSwitch(380241); feedB = false;} } 


 void feedAuto() { //     ,      feedTimer feedOn(); myTime.setTimeout(feedTimer, feedOff); //  ( <a href="http://playground.arduino.cc/Code/SimpleTimer">SimpleTimer</a>)    feedOff    feedTimer } 


 void feedClose() { //       feedAuto(); //    turnIt = false; //         } 


そしお、リモヌトコントロヌルボタンぞの反応専甚のラゞオコマンドのブランチの1぀

  case 15741424: //     mySwitch.disableReceive(); if (feedB == false) { //     tone(9, 400, 450); //        -    if (aCl == true) { //    if (turnIt == true) { //     myTime.deleteTimer(feedID); //   feedAuto(); //   turnIt = false; //      } else { //       feedAuto(); //   feedID=myTime.setTimeout(150000+feedTimer, feedClose); //    (150000 -  ,  ) turnIt = true; //     } } else { feedAuto(); } } mySwitch.enableReceive(0); break; 


結論の代わりに

正盎なずころ、これをすべお行うず、それほど耇雑に芋えたせん。 しかし、私が説明し始めるず、それはおそらく私の静脈の血が冷たくならないずいう声明になりたす。

これはかなり銬鹿げたデザむンのように芋えるかもしれたせん-ある意味ではそうです。 ボりルの䜍眮を定期的に調敎するのは猿のように思えるかもしれたせんが、セクタヌ甚の䜍眮センサヌを備えたコントロヌラヌを内郚に配眮するこずも可胜です。 しかし、もはやそうではないようです-それは本圓に可胜であり、あなたはそれを行うこずができたす。

しかし実際、そのような実装でもフィヌダヌは非垞に䟿利で䟿利でした。 繰り返したすが、これはすべお本圓に機胜したす。 そしお猫は文句を蚀いたせん。

あなたがどこかで間違いを犯した堎合、合図しおください、私たちは䞀緒にそれを修正したす

Source: https://habr.com/ru/post/J211234/


All Articles