ヘルシオAX-L1をArduinoで改造

中古のヘルシオAX-L1をメルカリで500円でゲットしました。 油汚れまくり、板金ボコボコ、プラパーツバキバキでしたが、壊れてなく(?)ラッキーな買い物でした。 しかし、使いづらいのがノブ 回すのですが、狙った番号にならない。通り過ぎちゃう。 なので、Arduinoで改造しました。 普段使うのは自動温めの3番,手動温めの29番なので、それを一瞬でできるようにプッシュスイッチをつけました。 ポチッとすると3番,29番になるような感じです。 ノブはロータリーエンコーダなので、パルス信号が出ています。 ポチった時にArduinoからパルス信号をだしてノブを模擬します。 3番がノブ3回転分なら、Arduinoから3回転分のパルスを出します。 いざヘルシオを開封 ノブの波形を見てみます。 適当に線を伸ばして 波形はしっかり2相ズレて出力されています。 回さないと3.3Vだったのでプルアップされています。 ノブ、スイッチの両方で動作するような回路にします。 といってもダイオードを入れただけです。 ダイオードのアノード側はヘルシオのロータリーエンコーダに並列に接続します。 スイッチを接続したポートはArduinoの内部プルアップとしました。 一応シミュレーションで見てみると大丈夫そうです。 スイッチを押してロータリーエンコーダを回していない時は、ダイオードが導通するためスイッチのプルアップ抵抗とロータリーエンコーダのプルアップ抵抗の両方から電流が流れます。 プルアップ抵抗が同値なら2倍の電流が流れますが、抵抗値はおそらく数kΩで電流は大した事ないので問題ないと思います。 ちなみにシミュレーション上の電圧などの定数は動作を見るためだけだったので適当です。 回路図はkicadで書きました。 githubにあげました。 atooshi-note/AX-L1 Arduinoのプログラムもgithubにあげてあります。 スイッチは以下の4つ実装します。 ノブ左1回転(left)、自動温め(atatame)、手動温め(syudou)、ノブ右1回転(right) 手動温めは29番で29回転は多いので後ろから数えています。 ノブ左1回転(left) 自動温め(atatame) 手動温め(syudou) ノブ右1回転(right) 動作が確認できたので、きれいに付けて ブレッドボードで最終動作確認して 基板に実装して固定。むき出し 便利!! 以上

2024/03/23 · Last updated on 2024/04/01 · 1 min · 39 words

にゃんCAM再構築

ことの経緯 以前、raspberry piにて猫カメラ(にゃんCAM)を構築しました。 普段はTapoを使っていたので全然出番が無かったのですが、久々に起動しようとしたら起動を繰り返す変な動作をしていました(デスクトップ表示→左上にアンダーバー点滅→再起動の繰り返し) 直そうと適当にやっていたらSDカードを割ってしまいました(物理的に)。 というわけで、再構築しようとしたのですが環境が変わってつまずいたので新たに記事にしました。 教訓 SDカードは色んな意味ですぐ死ぬ。クローンを作っておくこと ハード raspberry pi 3B(3B+ではない) 32GBのSDカード 5.1V出力のACアダプタ これはlow voltage errorの対策です 機能、ファイルの置き場など OpenCVでUSBカメラ(webカメラ等)2台を制御し、30分ごとにLINEで撮影画像を送信します 2台用でプログラムを書いてあるため、2台以外(1台or3台〜)ではプログラムがエラーになり、動作しません。(具体的にはプログラムエラー→再起動のループ)) 1台分にコメントアウトすれば1台でも動作します saikidou.serviceとsaikidou.timerによってラズパイを定期再起動させますが、ラズパイの安定性向上やUSBが死んでカメラが認識しなくなることが偶にあり、それを復帰させるために実施します USBが死ぬ(例えば、カメラが1台しか繋がってないような状態になります)と上記した通りnyancam.pyがエラーになり、nyancam.serviceによってプログラムの再起動を繰り返しますが、少なくとも定期再起動のタイミング(6時間ごと)で復帰するため長期にカメラが機能しなくなることはなくなります 死亡したときはプログラムの再起動が繰り返されるため、USBカメラのLEDが点滅します(LEDは撮影時に点灯) ラズパイのそばで対応できるなら再起動を待たずともUSBの抜き差しで再認識します(USBが復帰し、nyancam.serviceによる再起動でカメラが2台認識します) GPIO26に接続したスイッチを単押しするとテスト撮影、5秒以上長押しするとラズパイをシャットダウンします Filename Path Note nyancam.py /home/USERNAME/Desktop/ プログラム本体 nyancam.service /lib/systemd/system/ nyancam.pyを自動起動する エラー時にnyancam.pyを再起動する saikidou.service /lib/systemd/system/ ラズパイを定期再起動する saikidou.timer lib/systemd/system/ saikidou.serviceとセット githubにあげてあります プログラムの実行結果 nyancam.pyを実行した結果例を載せます カメラ検索でワーニングが出ますが、動作に問題ないためそのままにしています。 camera number 0 Find! [ WARN:0] global /tmp/pip-wheel-a8gfdc_n/opencv-python_13563f08137a4b20bc4dfee05bcbf854/opencv/modules/videoio/src/cap_v4l.cpp (893) open VIDEOIO(V4L2:/dev/video1): can't open camera by index camera number 1 None camera number 2 Find! [ WARN:0] global /tmp/pip-wheel-a8gfdc_n/opencv-python_13563f08137a4b20bc4dfee05bcbf854/opencv/modules/videoio/src/cap_v4l....

2023/09/07 · Last updated on 2023/09/23 · 3 min · 576 words

【にゃんCAM2】Tapo C200 を Homeassistant で動かす

まえがき 以前、ラズパイで猫カメラを作りました(にゃんCAM1)。 今回は、2です。 homeassistantとTP-linkのipカメラ Tapo C200 を使って構築しました。 こっちのほうが全然簡単です笑。 にゃんCAM1 part1から8まで記事が分かれています。 全体は8を見ればわかります。 8のリンクのみ載せておきます。 にゃんCAM1からの性能アップ内容 にゃんCAM1は画像をLINEで定期送信(30分ごと)が機能でしたが、それに加えて以下を追加しました。 ほとんどカメラのデフォルトの機能ですが。 暗視 動体検知 動画配信 カメラ設置の自由度向上 画質向上 簡素化 以下に詳しく記載します。 暗視 カメラのデフォルトの機能です。 IRカメラが搭載されており、周りの明るさに応じて自動でカメラが切り替わります。 暗さのしきい値を越えればIRカメラに切り替わります。 にゃんCAM1では普通のwebカメラを使っていたので、暗くなると全く映りません。 そのため、夜でも薄暗く電気をつけていました。 2ではその必要がなくなったため、にゃんこの負担も減るでしょう。 一応、にゃんCAM1でもIRのwebカメラを買って動作確認はしましたが、面倒くさくて完全導入はしていませんでした笑。 動体検知 これもカメラのデフォルト機能です。 30分ごとの撮影では良いタイミングを逃してしまうことは多々あります。 カメラの設置目的はお留守番に問題ないかな?の確認用とは言っても、あっ今ウンコ💩した!ご飯食べてる!がリアルタイムにわかるのは嬉しいです。 動画配信 これもデフォルト機能です。 あまり見ませんが、リアルタイムで見れるという安心感は大きいです。 homeassistantのオーバービューに表示していますが、外出先からはtailscale(VPN)でアクセスして確認します。 カメラ設置の自由度向上 カメラと電源コードのみなので置き場所の自由度があがります。 にゃんCAM1ではラズパイ本体とwebカメラ2台をダイソーのワイヤーネットに固定していたので大きいし、設置位置も限られました。 それが解消しました。 また、ipカメラなので、カメラが容易に増やせるのもメリットです。 簡素化 homeassistant本体(ラズパイ)はルーターボックスに常設していたWOLサーバ用ラズパイに入れたので、カメラ使用時はカメラだけ設置すれば良くなりました。 ついでにWOL機能もhomeassistantに構築しています。 後ほど紹介します。 そもそも ここまで読んでいただいて言うのもあれですが、わざわざhomeassistantを使わなくてもtp-linkのアプリ(tapoアプリ)を使って普通に使うだけで十分高性能です。 上記した動体検知や暗視は使えますし、モバイル回線からも動画が見れます。 じゃあ何でわざわざ?なのですが、以下が理由です。 tp-linkのサーバに動画をあげたくない LINEで画像を確認したい homeassistantで構築できる機能を使いたい 1については、モバイル回線から動画が見れている時点でtp-linkのどっかのサーバに動画が上がっているわけです。 動画のようなプライベート性の高いものを知らないサーバに上げるのは気持ちが悪いです。(それを言ったら他のクラウドサービスも一緒ですけどね) Amazonのレビューを見ると、カメラが勝手に動いたとかtapoアプリのプライバシーポリシーには第3者が動画を見ますよ?(←よく読んでない)的なことが書いてあって同意しないとアプリを使えないとか何とか。 など諸々を考えてLANのみの運用にしました。 後ほど詳しく記載しますが、ルータの設定でtapoのインターネットアクセスを遮断しています。 WANからはtailscale(VPN)を使ってアクセスします。 2についてはにゃんCAM1の機能を維持するためです。 tapo純正ではその機能は無い(調べてない、が正しい)ので、作ることにしました。 3については、WOLやtailscaleのことです。 日々の運用方法 homeassistantは常に起動しており、WOLやtailscaleのサーバとして動作しています。 そして必要なときにカメラの電源を入れればhomeassistantから見えるようになり、監視が開始します。 カメラが不要になったら、カメラの電源を抜けばそれで終わりです。 環境 raspi 3B+ 32GB SDカード 失敗メモ 以下に記載したのは構築時の自分メモです。...

2022/09/11 · Last updated on 2023/09/22 · 4 min · 743 words

NCP-HG100 を 楽天モバイル Band3 に固定する

楽天モバイルは改悪されてしまいましたが・・・ でも固定回線代わりにするにはまだメリットありだと思います💡 この内容は先にツイッターでつぶやいてますが、その詳細です😁 バンド3で使えるLTEルータはあまり数がありませんが、改造できるならこのルーターは一番安上がりだと思います バンド固定に関係ないメモ Amazonのレビューにありましたが、Wi-Fiが弱いらしい なので、これはブリッジモードにして、Wi-Fi飛ばす用のルータは別途用意すると。 中身はOpenWrt つまり遊べる でも遊びづらいらしい やること 先人の知恵をお借りします🙏 USB2.0化 バンド3固定 auのバンド18と26(パートナー回線)を拾わないように 18だけ除外でも良さそうだが、両方除外する 購入 お試しでやりたかったのでメルカリで中古をポチぃ 2900円でした Amazonでも売っていて、5000円くらい https://amzn.asia/d/d5rsMYx とりあえず動作 手持ちの楽天モバイルSIMを挿入してみる うごいた パートナー回線(au)は拾わなかった 楽天モバイルで接続中(アプリにもそのように表示あり) 自分が居た場所がたまたま良かったか 20Mbpsくらいだったので、まあまあ 複数SIMを差し替えて使えれば尚良しだったが、L01sのようにAPNプロファイルの切り替えができない(書き換える必要がある)ので面倒 楽天モバイル専用かな 殻割り 写真たち↓ USB2.0化 参考↓ 感謝🙏 pin29,31をマスクした ピンは両面にあるので、pin29と31は隣同士 teraterm文字化け Windows10から作業しましたが、teratermが文字化けして何が何だかさっぱり ググって一通り試してもだめ baudrate を変えてもだめ teratermを使うことは諦めました 通信できてることはわかるですが これじゃコマンドうてない Arduino を使ってシリアル通信 と バンド3固定 ふとArduinoのシリアルコンソール使えばいいじゃんと気づく😎 Arduino Uno を使います UnoにはUSB-シリアル変換がのっているので、その部分だけ使うというわけです Arduino本体(Atmega328)は何もしていません 回路図をみると接続はパラなのでいける! でもインピーダンスが低いと信号が上手く伝わらなくなってしまう(可能性があると思う)ため、Atmega328側はinputでハイインピーダンスにし、プルアップしておいた(一応) Arduinoのスケッチ↓ void setup() { // put your setup code here, to run once: pinMode(0,INPUT); pinMode(1,INPUT); digitalWrite(0,HIGH); digitalWrite(1,HIGH); } void loop() { // put your main code here, to run repeatedly: } baudrateは 115200 bps...

2022/07/01 · Last updated on 2024/04/04 · 1 min · 121 words

【ラズパイで猫ちゃんカメラ】 その8 テスト撮影用のスイッチ動作(GPIO)と全体

前回 前回はプログラムの自動起動について書きました 今回 GPIOを使って、スイッチの状態を読み取りテスト撮影などの機能を盛り込みます また、これまでの内容を総括した全体プログラムを紹介します 現在、猫カメラとして実働しているものになります お出かけには必須になりました 作ってよかった😁 間が結構飛んでいるかもしれませんが、大きな心でご容赦ください笑 スイッチの機能 カメラの設置場所を決めるために撮影用のスイッチをつけます 以下のような機能をつけます 短押し(5秒以下)でテスト撮影 長押し(5秒以上)でラズパイシャットダウン 撮ったらLINEします スイッチの状態を読み取ってみる スイッチは秋月電子でこれを買いました↓ プッシュスイッチは電源(3.3V)ースイッチーラズパイ のように接続します GPIO26に接続し、プルダウンに設定しています ですので何もしなければ0Vで、スイッチを押せばhigh(3.3V)となります whileループ内でスイッチの状態を読み取ります プルダウンとして設定しているので、何もしなければGPIO26の電圧はGNDレベル=0Vでありaの値をprintすると0となります スイッチを押すとGPIO26の電位がHigh=3.3Vとなるのでa=1となります ctrl + Cでwhileループから抜けて終了です import RPi.GPIO as GPIO button = 26 GPIO.setmode(GPIO.BCM) GPIO.setup(button,GPIO.IN,pull_up_down = GPIO.PUD_DOWN) # プルダウン try: while True: a = GPIO.input(button) print(a) except KeyboardInterrupt: # ctrl + C print('\nbreak') GPIO.cleanup(button) 短押し、長押し判定 割り込みは使っていません whileループ中に50msec毎にスイッチを見に行っています 50msecはチャタリングを考慮しての時間です ボタンを最初に押してから離すまでの時間を測り、5秒以下なら短押しと判定、5秒以上なら長押しと判定しています 長押しでシャットダウン import osをして sudo shutdown -h now を実行するだけです 長押し時の処理にこれを実行します 実働プログラム レビジョン7まで上げてやっと安定しました...

2022/06/28 · Last updated on 2023/09/23 · 7 min · 1371 words