上位に戻る | 初版2021/08/14 改版2022/03/16 |
猫5匹の内、1匹が器に入れた水を飲んでくれなく、給水器を購入しました。最初 近接センサーで ON OFF させていたのですが
横切っただけで入るし、人にも反応するので、タッチスイッチで猫が乗っかたら起動させようと思いました
結局のところ、この給水器えらい人気で、1匹は、上からの水を飲み、それ以外の猫は、好んで、この溜まった水を飲むので、
上から飲む猫が前に座った時に、手動で、タッチスイッチでON OFF していました。
赤外線のスマートリモコンを買ったので、赤外線リモコンでON OFFさせるように組みなおしました
赤外線リモコンでも制御できるし、使っていない古いスマホにgooglhomeを入れて、音声制御できるようにしました
まずは、給水器がこれです |
|
TTP223 のタッチパネルユニットを購入しました 赤い基盤の20個入り(ヘッダーピンが無いタイプ) もありましたが、20個も必要ないので10個入り どうせハンダ付けなので、ヘッダーピンいらんけど |
|
Arduino NanoボードV3.0 まあ大層な制御じゃないけど 前に買って 余っているので利用 |
|
赤外線の受光部ユニットと、送信用のLED 30セットも絶対いらんけど買いました でも、電源反対に繋いで、1セット壊してし まいました 送信用LEDは、今回は使いません 別で使うつもりだったのでセットで購入 |
|
ケース | |
赤外線リモコン カーテンの上げ下げや、パソコンの起動で使って いるものを利用 とりあえず使っていない 1 キーを使いました |
|
スマートリモコン キッチンで使っているスマートリモコン googl home を使って音声で制御します |
|
//www.elegoo.com //2016.12.12 #include "IRremote.h" int receiver = 11; // Signal Pin of IR receiver to Arduino Digital Pin 11 int tachiR = 4; //Tachi Pin input String data1 ="0"; int countt =0; IRrecv irrecv(receiver); // create instance of 'irrecv' decode_results results; // create instance of 'decode_results' int kpower = 6; //the pin of the active kpower void setup() { irrecv.enableIRIn(); // Start the receiver pinMode(kpower,OUTPUT);//initialize the kpower pin as an output pinMode(tachiR, INPUT); //initialize the kaitenR pin as an input } void loop() { if (digitalRead(tachiR) == HIGH){ if (data1=="0" && countt < 1){ digitalWrite(kpower,HIGH); countt=12000; delay(500); data1="1"; } else{ if(data1=="1" && countt > 0){ digitalWrite(kpower,LOW); data1 ="0"; countt=0; delay(2000); } } } if (irrecv.decode(&results)) // have we received an IR signal? { switch(results.value) { case 0x2107807F: // funai TV [1] button pressed case 0xEE116A95: // ASUS TV [Power] button pressed case 0xFF30CF: // ELGO Contlol [1] if (data1=="0" && countt < 1){ digitalWrite(kpower,HIGH); countt=12000; delay(500); data1="1"; } else{ if(data1=="1" && countt > 0){ digitalWrite(kpower,LOW); data1 ="0"; countt=0; } } break; } irrecv.resume(); // receive the next value } if (countt > 0){ countt=countt-1; delay(10); } else{ digitalWrite(kpower,LOW); data1 ="0"; } }/* --end main loop -- */ |
スペースが削除されてしまうので、ちょっち見にくいです 赤外線の受信は、11番ピン タッチパネルの信号は、4番ピン 給水器のスイッチは6番ピン 赤外線ですが、1個は、エルパのテレビリモコン です。テレビは、ソニーを使っているのですが、 カーテンの上げ下げ、TVなどの起動をこのリモコン で操作しており、フナイ電機のテレビモードに設定 しています 数字の1を押した時に電源が入るように しました IRの受信サンプルプログラムを使って確認すると 数字の1が、HEX:2107807F あと、スマートリモコンから操作するときは、ON OFF ぐらいの単純な指示しかできません。 また、GoogleHomeと連携する場合は、このスマート リモコン デバイスが限られているみたいで とりあえず、テレビは認識するので ASUS のテレビとして登録しました スマートリモコンから信号だして確認すると 電源ONは、HEX:EE116A95 あと、Arduinoのキットについていたリモコンの 数字の1でも起動できるようにしています それと タッチスイッチです OFFの時に信号が来ると、給水器をオンし、 オンの時に信号が来ると オフします オンにしぱなしでも4分後には自動できれます |
タッチスイッチユニットの手で触る部分は ケースに収まらないので、切り取りました Arduinoの基盤の上に見えている1kΩ の抵抗は、Arduinoの電源ランプが、光 ぱなしなるので、うざいので基盤について いる抵抗を破壊しました その代わりに、スイッチが入っている間 光るように、D6ピンに繋いでいます |
|
タッチ部分は、表と裏両方にアルミ拍 を張っています 表が信号側で、裏が、アースです 厚手の両面テープを使って張っています 信号面と、アース面が接触しないように 張り合わせます |
|
全体の写真と、 制御部の拡大写真です |
|
赤外線の受光部です クーラパネル作るときに買った 透明ホース 曲がりが曲がらないの で結局シリコンホースを買いなおして 余っていたものを切って使いました タッチスイッチ部です |
|
スマート赤外線スイッチと、 google homeをインストールした 使っていない古いスマホ 音声で制御しています スマホは、開発者モードをONにして 充電中は電源を切らない設定を有効に マイク感度を小さな音でもひろうにして います |
|