So-net無料ブログ作成

ソニーの赤外線リモコンコードを調べてみた [DIY電気]

DSC_1138.JPG

※文中"us"という単位はマイクロ秒に読み替えてください

リモコンの信号はシリアルデータで、専用のデバイスで受信すると複数のパルス幅からイチゼロ情報を得られますのでPICマイコンでデータ化しました。受信する専用のデバイスは秋月などで購入できる「赤外線リモコンモジュール」と呼ばれているもので、ソニーは40KHz仕様なのですが、秋月では見当たらないので38KHzタイプで代用しています。
パルス幅の基本は600usですので、この600usをTとします。
600us = T
リモコンのボタンが押されたらまずLEADERが送信されます。そのLEADERは4T(2400us)のパルス幅です。
LEADERの直後から1 or 0のシリアルデーターが送られてきます。パルス幅が1T(600us)だったら"0"、2T(1200us)だったら"1"です。
LEADER直後の1 or 0の数は12個か15個か20個のいずれかとなります。
12bit,15bit,20bitということです。
昔から存在するテレビ等は12bitですが、近年世の中に出てきたデジタルテレビやPLAY STATION等は15bitや20bitとなっています。
全てのパルス間の間隙は1T(600us)ですので、900usほど待ってもパルスが無い場合はタイムアウトしてそれまでのbit数と確定します。
LSB Fastですので、受信したデータをLSBから並べた場合、下7bit(D0~D6)がDATA、下7bitを除いたデータがCAT(機器)を表すようです。

図で書くと下記のようなタイムチャートになります。
縞々模様は40Khzを現わしています。
12bit、LSBから101010101010と送られてくる例です。
IR_WAVE_EXAMPLES.PNG

ここに公開しているデータは、生データですので、CATコードが何かな?という場合は7bitLSB方向にSHIFTしてください。

【以下CODEは全て生データです】

[TV]

BUTTONBIT LENGTHCODE
CH112000080
CH212000081
CH312000082
CH412000083
CH512000084
CH612000085
CH712000086
CH812000087
CH912000088
CH1012000089
CH111200008A
CH121200008B
BS51200008C
BS71200008D
BS111200008E
チャンネルUP12000090
チャンネルDOWN12000091
音量UP12000092
音量DOWN12000093
消音12000094
電源12000095
音声切替12000097
テレビ120000A4
入力切替120000A5
RIGHT120000B3
LEFT120000B4
オフタイマー120000B6
画面表示120000BA
メモ120000DC
ホーム,メニュー120000E0
明るさ設定120000E4
決定120000E5
UP120000F4
DOWN120000F5
リンクメニュー15000D58
録画リスト15000D65
TVポーズ15000D67
アプリキャスト15000D6F
電子取説15000D7B
NETFLIX15000D7C
SEN15000D7D
TrackID15000D7E
消費電力15003BB6
AVマルチ15003BBE
10キー15004B8C
BS/CS15004B90
連動データ15004B95
停止15004B98
一時停止15004B99
再生15004B9A
早戻し15004B9B
早送り15004B9C
録画15004BA0
戻る15004BA3
15004BA4
15004BA5
15004BA6
15004BA7
字幕15004BA8
CS15004BAB
BS15004BAC
地上アナログ15004BAE
地デジ15004BB2
オプション15004BB6
15004BBC
15004BBD
LEFT15004BCD
RIGHT15004BCE
UP15004BCF
DOWN15004BD0
ビデオ15005216
コンポーネント15005217
ワイド切替1500523D
番組表1500525B
アプリ1500622A
Youtube15006247
レコーダーホーム15006248
視聴中メニュー1500624B
ヘルプ1500624D
hulu20040F80
Abema20040F81
U-NEXT20040F82


[BD]

BUTTONBIT LENGTHCODE  
  BD1BD2BD3
CH1200E2D000EAD000F2D00
CH2200E2D010EAD010F2D01
CH3200E2D020EAD020F2D02
CH4200E2D030EAD030F2D03
CH5200E2D040EAD040F2D04
CH6200E2D050EAD050F2D05
CH7200E2D060EAD060F2D06
CH8200E2D070EAD070F2D07
CH9200E2D080EAD080F2D08
CH10200E2D090EAD090F2D09
CH11200E2D0A0EAD0A0F2D0A
CH12200E2D0B0EAD0B0F2D0B
削除200E2D0F0EAD0F0F2D0F
チャンネルUP200E2D100EAD100F2D10
チャンネルDOWN200E2D110EAD110F2D11
開/閉200E2D160EAD160F2D16
停止200E2D180EAD180F2D18
一時停止200E2D190EAD190F2D19
再生200E2D1A0EAD1A0F2D1A
<<200E2D1B0EAD1B0F2D1B
>>200E2D1C0EAD1C0F2D1C
録画200E2D1D0EAD1D0F2D1D
メニュー200E2D290EAD290F2D29
番組表200E2D2A0EAD2A0F2D2A
らくらくスタート200E2D2D0EAD2D0F2D2D
UP200E2D390EAD390F2D39
DOWN200E2D3A0EAD3A0F2D3A
LEFT200E2D3B0EAD3B0F2D3B
RIGHT200E2D3C0EAD3C0F2D3C
決定200E2D3D0EAD3D0F2D3D
オプション200E2D3F0EAD3F0F2D3F
画面表示200E2D410EAD410F2D41
ホーム200E2D420EAD420F2D42
戻る200E2D430EAD430F2D43
番組説明200E2D440EAD440F2D44
My!!番組表200E2D450EAD450F2D45
書き込み200E2D480EAD480F2D48
入力切替200E2D4F0EAD4F0F2D4F
200E2D560EAD560F2D56
200E2D570EAD570F2D57
10キー200E2D610EAD610F2D61
連動データ200E2D620EAD620F2D62
字幕200E2D630EAD630F2D63
音声200E2D640EAD640F2D64
200E2D660EAD660F2D66
200E2D670EAD670F2D67
200E2D680EAD680F2D68
200E2D690EAD690F2D69
BS200E2D6A0EAD6A0F2D6A
地デジ200E2D6B0EAD6B0F2D6B
CS200E2D6E0EAD6E0F2D6E
15秒送り200E2D750EAD750F2D75
10秒戻し200E2D760EAD760F2D76


[PS2]

BUTTONBIT LENGTHCODE
120049D00
220049D01
320049D02
420049D03
520049D04
620049D05
720049D06
820049D07
920049D08
020049D09
ENTER20049D0B
RETURN20049D0E
CLEAR20049D0F
TITLE20049D1A
DVD MENU20049D1B
PROGRAM20049D1F
TIME20049D28
A-B20049D2A
REPEAT20049D2C
PREV20049D30
NEXT20049D31
PLAY20049D32
SCAN-L20049D33
SCAN-R20049D34
SHUFFLE20049D35
STOP20049D38
PAUSE20049D39
DISPLAY20049D54
SLOW-L20049D60
SLOW-R20049D61
SUBTITLE20049D63
AUDIO20049D64
ANGLE20049D65
UP20049D79
DOWN20049D7A
LEFT20049D7B
RIGHT20049D7C
SELECT200DAD50
L3200DAD51
R3200DAD52
START200DAD53
L2200DAD58
R2200DAD59
L1200DAD5A
R1200DAD5B
200DAD5C
200DAD5D
×200DAD5E
200DAD5F


[AV SYSTEM]

BUTTONBIT LENGTHCODE
決定1500180C
音量UP15001812
音量DOWN15001813
消音15001814
電源15001815
ナイトモード15005820
シネマ15005843
ミュージック15005849
入力切替15005869
UP15005878
DOWN15005879
音声切替20008812
プレイモード20008826
|<<20008830
>>|20008831
>||2000883A
ボイス20028839
低温2002887B
スタンダード2006881D
オートサウンド2006882F


[VAIO]

BUTTONBIT LENGTHCODE  
  PC1PC2PC3
CH1200B2D00033D0003BD00
CH2200B2D01033D0103BD01
CH3200B2D02033D0203BD02
CH4200B2D03033D0303BD03
CH5200B2D04033D0403BD04
CH6200B2D05033D0503BD05
CH7200B2D06033D0603BD06
CH8200B2D07033D0703BD07
CH9200B2D08033D0803BD08
CH10200B2D09033D0903BD09
CH11200B2D0A033D0A03BD0A
CH12200B2D0B033D0B03BD0B
チャンネルUP200B2D10033D1003BD10
チャンネルUPDOWN200B2D11033D1103BD11
音量UP200B2D12033D1203BD12
音量DOWN200B2D13033D1303BD13
消音200B2D14033D1403BD14
再生停止200B2D18033D1803BD18
一時停止200B2D19033D1903BD19
再生200B2D1A033D1A03BD1A
巻き戻し200B2D1B033D1B03BD1B
早送り200B2D1C033D1C03BD1C
録画200B2D1D033D1D03BD1D
録画停止200B2D1E033D1E03BD1E
200B2D1F033D1F03BD1F
200B2D20033D2003BD20
入力切替200B2D24033D2403BD24
画面サイズ200B2D25033D2503BD25
画面表示200B2D26033D2603BD26
機能切替200B2D27033D2703BD27
録画モード200B2D28033D2803BD28
字幕200B2D29033D2903BD29
音声切替200B2D2B033D2B03BD2B
電源200B2D2C033D2C03BD2C
UP200B2D30033D3003BD30
DOWN200B2D31033D3103BD31
LEFT200B2D32033D3203BD32
RIGHT200B2D33033D3303BD33
決定200B2D34033D3403BD34
キャンセル200B2D35033D3503BD35
メニュー200B2D36033D3603BD36
戻る/リターン200B2D37033D3703BD37
ツール/タイトル200B2D38033D3803BD38
アングル200B2D39033D3903BD39
ソフト選択200B2D43033D4303BD43
起動200B2D44033D4403BD44
終了200B2D45033D4503BD45


[デジタルCSチューナー]

BUTTONBIT LENGTHCODE
CH120071D00
CH220071D01
CH320071D02
CH420071D03
CH520071D04
CH620071D05
CH720071D06
CH820071D07
CH920071D08
CH020071D09
選局20071D0B
チャンネルUP20071D10
チャンネルDOWN20071D11
電源20071D15
二重音声20071D17
番組説明20071D29
プロモ20071D2B
信号切替20071D2D
予約一覧20071D30
好み一覧20071D31
登録20071D32
ダイレクト選局A20071D33
ダイレクト選局B20071D34
ダイレクト選局C20071D35
ダイレクト選局D20071D36
メニュー20071D38
画面表示20071D3A
ラジオ20071D4A
EZパネル20071D52
ジャンプ20071D6C
現在番組20071D6F
週間番組20071D70
UP20071D72
DOWN20071D73
RIGT20071D74
LEFT20071D75
決定20071D76
ジャンル20071D77
日付20071D78


[DVD]

BUTTONBIT LENGTHCODE  
  DVD1DVD2DVD3
120049D00022D000FAD00
220049D01022D010FAD01
320049D02022D020FAD02
420049D03022D030FAD03
520049D04022D040FAD04
620049D05022D050FAD05
720049D06022D060FAD06
820049D07022D070FAD07
920049D08022D080FAD08
020049D09022D090FAD09
確定20049D0D022D0D0FAD0D
戻る20049D0E022D0E0FAD0E
クリア20049D0F022D0F0FAD0F
チャンネルUP20049D13022D130FAD13
チャンネルDOWN20049D14022D140FAD14
電源20049D15022D150FAD15
開/閉20049D16022D160FAD16
録画20049D19022D190FAD19
トップメニュー20049D1A022D1A0FAD1A
録画モード20049D1E022D1E0FAD1E
時間/テキスト20049D29022D290FAD29
|<<20049D30022D300FAD30
>>|20049D31022D310FAD31
不明20049D32022D320FAD32
<<20049D33022D330FAD33
>>20049D34022D340FAD34
停止20049D38022D380FAD38
一時停止20049D39022D390FAD39
録画停止20049D3D022D3D0FAD3D
録画一時停止20049D3E022D3E0FAD3E
システムメニュー20049D53022D530FAD53
画面表示20049D54022D540FAD54
サラウンド20049D5A022D5A0FAD5A
<-・20049D5C022D5C0FAD5C
字幕20049D63022D630FAD63
音声20049D64022D640FAD64
アングル20049D65022D650FAD65
UP20049D79022D790FAD79
DOWN20049D7A022D7A0FAD7A
LEFT20049D7B022D7B0FAD7B
RIGHT20049D7C022D7C0FAD7C
タイトルリスト20062D10003D1000BD10
チャプター書込20062D13003D1300BD13
・->20062D14003D1400BD14
番組説明20062D15003D1500BD15
番組表20062D16003D1600BD16
ツール20062D17003D1700BD17
カーソルモード20062D18003D1800BD18
ズーム-20062D19003D1900BD19
マーク消去20062D1A003D1A00BD1A
プログレッシブ20062D1A003D1A00BD1A
Gガイド20062D1B003D1B00BD1B
予約20062D1C003D1C00BD1C
HDD20062D2E003D2E00BD2E
DVD20062D2F003D2F00BD2F
シンクロ録画20062D77003D7700BD77
ズーム+20062D79003D7900BD79


END OF TABLE.


人気ブログランキング
nice!(1)  コメント(2) 

個人でプリント基板をFusion PCBに発注してみた [DIY電気]

メッキ線の熱にどれだけ指が耐えられるか?
キターーー!思わず指を離して、はんだボールが飛び散りメッキ線が妙な部分にくっついてしまう。
電子工作を道楽とする人々は電子回路は手配線基板で作るというのが常でした。
昨今、格安でオリジナルのプリント基板を特注できそうなので、メーカーにひとつ作ってもらうことにしたのです。
今回作ったのは約80mm×40mmの両面プリント基板。
格安でまず思いついたのが

■P板.COM■
回路図設計CADとパターン設計CADソフトを無料配布しています。
回路図CADが「CADLUS Circuit」パターン設計CADが「CADLUS X」です。
これらのツールを使って回路図を書き、パターン設計し、出来上がったデーターを送信して発注すれば手元にプリント基板が届きます。
CADLUS Circuitは難易度は低いと思われます。しかしCADLUS Xはチュートリアルを見ながら一枚プリント基板を設計し、もう一度最初からやってみようと思っても、えっ!どうするんだったけ?手が動きません。頭の中の引き出しを手当たり次第開けても何も残っていません。
全くすべて忘れてしまってます。
直感的に操作を進められなくて必ずマニュアルが必要になります。
お絵かきソフトのように自由に使えるようになるには時間がかかりそうですので、CADLUS Xに限っては趣味の電子工作用途には向かないのではないかと思います。
P板.COMでは、他のパターン設計CADから出力したガーバーデータも受け付けていますので無理してCADLUS Xを使う必要はありません。
次に、気になるプリント基板製作の価格。
オンラインで見積もりができるので調べてみると5枚作ってもらうと22,258円。
一昔前の業界内で比較すれば格安なのですが、この金額であれば、せっせと手配線を続けます。
あっさり断念し、次にたどり着いたのが

■Fusion PCB■
オンライン見積もりしたら、超格安!
5枚も10枚も金額が変わらないので10枚で見積もってみるとなんと衝撃の価格!

プリント基板10枚: $4.91
送料(DHL) :$19.61
Discount :$0.74
合計 :$23.78

プリント基板が500円、送料が2000円です。
中身より送料の方が高いですが、中身が500円なので送料2000円でもOKです。
Fusion PCBは中国の深センですのでこのように送料が多くかかります。
また、円建てで支払うことのなるので為替手数料がさらに加わります。
運送業者はDHLのほかに指定ができ、Singapore POSTなどはもう少し安いですが到着まで日にちがかかります。
次に気になるのがパターン設計CAD、Fusion PCBやらAUTODESK EAGLEを何度もネットサーフィンし、パターン設計は

■EAGLEでいいんじゃないかという結論に達しました■
EAGLE_WORK.jpg
太平洋のど真ん中から無人島に漂着したみたいに。
でもその無人島を知らなかったのは私だけ、みたいな(笑)
EAGLEは本格的に使いたいのであれば、サブスク手続きが必要ですが、趣味レベルであれば「EAGLE無償版」で十分です。基板上限サイズがあり80cm平方と仕様に書かれているので、10cm×8cmが最大基板サイズになります。
マニアの間で人気があるようで、ネット上にもたくさんの情報がありますので、とりかかりやすいCADだと思います。
EAGLEは、回路図CADとパターン設計が両方含まれていますのこれひとつで完結です。
Fusion PCBで製造できる規格のデーターがEAGLE用としてFusionサイトにあります。DRC(デザインルールチェック)用のDRUデーターというもので、ダウンロードしてEAGLEに読み込ませます。
製造用データーはガーバーデーターが必要ですので、EAGEからガーバーを出力させます。このカーバーデーターはFusion PCBが要求しているものにカスタマイズする必要がありますがEAGEL内にFusion PCB用のCAMファイルというものが準備されていますので、それを利用すればFusion PCB提出用のガーバーデータが出力されます。実際には、複数のガーバーデータがZIP形式に圧縮されたものが出力されます。

■まずEAGLEで回路図を書きました■
部品ライブラリが豊富にありますが、無かったり代用では済まされないものは、ネットサーフィンして調べまくり入手します。ライブラリ作成も可能ですが、ライブラリ作成は後の学習にとっておくこととします。
使用部品は、老眼を所有したシニアにもやさしい大きな部品を使うことにしました。
回路図が書き終わったら

■パターンの設計です■
プリント基板のエディターを開くと、右側に仮の基板枠、左に部品がすでに並んでいます。
左の部品をドラッグして基板上に配置し、配線、チェックという流れです。
パターンを編集している最中に大失敗しました。
回路図とパターン図を両方開いて作業しておけばよかったのですが、邪魔なので回路図のウィンドウを閉じたんです。そしたらパターン図のウィンドウの上に黄色い警告らしき帯が表示されたんですが、大した事ないだろうと思って少し作業を進めたら、回路図とパターンが同期しなくなってしまいました。パターン図は削除して最初から作るはめに。
どうやら、回路図とパターン図の二つのウィンドウは開いておくことが必須のようです。
格闘の末パターン設計も完了です。
前述のCADLUS Xに比べ、非常に使いやすいと思います。
頭の中の引き出しに少し憶えさせておけそうです。

■ガーバーデータまで出力し■
注文してみました。
サイトの注文フォームにZIP形式で圧縮したガーバーデータをアップロードすると、ガーバーデータのビューワーで基板の各層が目視で確認できますので安心です。
安堵も束の間、注文の途中クレジットカード(楽天カード)決済が通らなくて、猫の顔にミカンの皮を近づけられた顔になってしまいました。
2回やってみましたがエラーで注文できず。今までネット通販でクレジットカードが使えないということはなかったのですが、海外では信用が薄いカードは蹴とばされるのか?
たしか、支払いにはクレジットカードか"PayPal"と書かれていたなと脳味噌に残っていましたので、急きょPayPalアカウントを作ってPayPalで支払い手続きをして無事注文完了です。
そのPayPalには前述の同じ楽天カードを登録したのですが蹴とばされなかったです。
猫の顔の近くからからミカンの皮が消えました。

よくある質問には「リードタイム・納期」はこう書かれてます。
・基板製造 2-7 営業日
・DHL 1-3営業日
到着まで最長10営業日かな?
ミカンでも食べながら到着を待つとします。

18日 20:00頃 注文
24日 16:00頃 seeedStudioから出荷済連絡メールあり
24日 16:00頃 DHLから荷物が配送されますメールあり

26日 に荷物が届きました
注文してから8日目で特注のプリント基板を手に入れました。
DSC_1120.jpg

早速開封します
10枚です。
DSC_1121.jpg

DSC_1122.jpg

基板をスキャナで撮影
IMG_20190926_0002.jpg

80×40mm基板、レジストは黒です。
何故黒?これを組み込む場所が外から見えるのでなるべく目立たなくするためです。
きれいに出来上がっています。個人で使うのでこれで十分だと思います。
基板4コーナーに入れたはずの3.6mm穴がないというミスに気が付きました。
EAGLEで穴の「Info」を見てみると、Drill=13.77953となっています。不慣れなインチ単位で設計していたので一桁間違って13.77953milにしたので0.35mmの穴になったようです。穴径のプルダウンには小さい値しかなかったので勘違いしたのか?
ドリルで穴をあければいいのでそれほどショックではありませんが。
早速穴あけしてみましたが、想定してたより硬くて穴が開けらません、キリやドリルでようやく開けることができました。

基板左上の穴図ですが黄色い円内が今回間違ったφ0.35mmの穴です。その左の桃色の円内は比較のためφ3.5mmを適当な位置ですが書いてみました。穴径を示す記号が異なることがわかります。今回はこの記号に惑わされた原因もあります。図では見ずらいですがオレンジ色の円が実際の穴を表すようです。
HOLE_ERROR.jpg

今回の支払い金額は日本円で、締めて2,670 円でした。
穴さえ、開いていれば、、、

落ち着いたところで、部品をマウントしてみました。
DSC_1124.jpg

めでたし、めでたし。


人気ブログランキング
nice!(1)  コメント(0) 

猫用自動給餌器をリモコン制御に改造、その3 [DIY電気]

過去記事でも2回ご紹介してる「猫用自動給餌器をリモコン制御に改造」の続きです。
「PetSafe おるすばんフィーダー デジタル2食分 バージョン2」という製品を改造しての改造シリーズ第3弾になります。
この製品は左右2つのエサ入れがありそれぞれ"L","R"と呼ばせてもらいます。
思いつくたびに機能アップさせ、今回はOLEDという表示デバイスを組み込んでオリジナルの回路は取り除きました。やはり1時間単位の設定しかできないオリジナル回路は不要と判断。LRの閉めた蓋は小型のソレノイドでロックされていて、ソレノイドが働くとバネで開くようになっています。当然のことながら、そのソレノイドはそのまま流用します。
何故、そんなに電子工作やプログラム作成に没頭するのかと家族も不思議がっていると思いますが、うちのニャンコさんにはあと10年、20年は使ってもらわないといけない弁当箱なので、究極に使いやすいように改良を続けているんです。
アライグマのような手つきでプログラミングしている後ろ姿を見られながら日夜改造に専念しました。
黄色の丸がオリジナルの基板、緑色の丸が第2弾まで使っていた自作のPICマイコンの基板、今回は両方取り除いて新しい基板を取り付けることに。

基本スペックは以下です
・赤外線リモコンにより蓋を開ける(外部制御)
・設定した時刻に蓋を開ける(スタンドアローン)
・設定した時刻は一度セットすると消えない
・時計内蔵、電源再投入で再設定要
・OLED表示器付
DSC_1019.jpg

新しい基板は、PICマイコン、OLED表示デバイス、ソレノイドをドライブするFETが付いたものです。OLEDはAmazonで「DSD TECH 2 PCS Arduino ARM用IIC OLEDの0.91インチディスプレイ」というものを2個入りで入手。PICはPIC16F88-I/Pという型番のものを利用します。少量なのでヤフオクで安価に入手。
オリジナルの基板が付いていた場所に取り付けられるように寸法を測って取り付け穴を開けて基板の製作をスタートします。
DSC_1005.jpg

回路図です。
NEKO_BENTO_CONT.gif

PICマイコンへの書き込みをPICKit3からオンボードでできるようにICSP用の6Pコネクタを付けます。実際は5ピンでいいのですが、PICKit3側が空きを含めて6ピンなのでそれに合わせています。プログラム更新の度にPICマイコンを外して書き換えもできますが、ICSP仕様にしても回路規模はさほど大きくならないためICSPコネクタを付けることにしました。
DSC_1006.jpg

基板の黒い印の穴4個はOLEDを付ける場所の目印。
DSC_1007.jpg

作業中にやたらニャンコは線材に興味を示します。
最近、猫草枯れて食べてさせてないからなぁ。。。
これが終わったら猫草栽培始めるから!
DSC_1009.jpg

草じゃねぇ!って言ってんのに!
有害物質カドミウムでも入っていたらたいへんだ。
DSC_1008.jpg

基板が完成してからはブレッドボードに組んで動作確認とデバッグを実施。
この基板は赤外線リモコンからコマンドを受信する機能も含まれているので、赤外線リモコンがユーザーインターフェイスになります。
たまたまPlay Station2のリモコンが余っていたので、このリモコンでコントロールすることに。今まではTVリモコンを使用していたのですが、当然テレビと競合するので今回からPS2に変更です。
DSC_1014.jpg

オリジナル基板が取り付けてあった部分に取り付け開始です。
DSC_1020.jpg

OLEDだけは、表示面が基板のはんだ面になるので、基板の裏にグルーガンで取り付けます。
OLEDと手作り基板の接触部には絶縁体をはさみました。
自己融着シリコンテープしかなかったので、サンドウィッチにスライスチーズでも挟むように。
DSC_1021.jpg

ほぼ配線も完了し完成間近です。
DSC_1022.jpg

きたない配線ですがきっと動くはず。
DSC_1023.jpg

組み込みが完了しました。
電源を投入し、あっけなく基本動作OK
電源投入直後は、「NEKO BENTO 00」タイトルとバージョン番号表示です。
おわかりかと思いますが昔のファミコンの文字みたいにフォントがギザギザしています。
PICがフォントデータを持ち一文字書かせる度にフォントデータを送信する仕組みなのです。そもそも使用しているPICはメモリが豊富にあるわけではないので、数字と大文字英字と記号を少し、各6×8ドットのフォントしか持っていないのです。6×8ドットなので2倍に拡大して書かせています。そのためフォントがギザギザなのです。
等倍で書かせれば文字情報は増えますが文字は小さくなります。
オリジナル基板が無くなりましたので3つのボタンがあった所は穴が開いているため、黒っぽいプラでOLEDの部分だけ窓を開けて目隠しをしました。
DSC_1037.jpg

これはL,Rの蓋が開く時刻を確認表示しているところです。
OLEDは約20秒無操作が経過したらスリープになるようにしています。
また、時刻はPICがソフトで数えていますが電波時計のように正確ではありません。PS2リモコンの[PROGRAM]というボタンが押されたら午前3時に時刻調整します。
自分で毎晩3時に[PROGRAM]ボタンを押すのではなく、毎週日曜日の午前3時にスマートリモコンから発信されるようにスマートリモコン側に設定しています。
時刻調整なしに一カ月動かしてもニャンコに支障があるようなズレはないのですが。
この時期夏は、Lを5:20、Rは14:00にセットしています。前夜にLに朝ごはんを入れてあげ、日中のニャンコ留守番時はRに昼ごはんを入れてあげるような使い方です。
朝、ニャンコは蓋が開くのを待っていますが、留守番時のお昼は食欲が出ないようで、14:00に開けても16:00頃にヒマだし小腹が空いたから食べようと(ネットワークカメラで確認してます)ポリポリしてます。お昼より夕方がいいのではないかと探っているところです。
冬季朝はニャンコも起床が遅くなるので、季節によって時刻設定を変更することとなります。

NEKO BENTOが受け付けるリモコンコマンドは以下です。
[L1] L蓋開く
[R1] R蓋開く
[ENTER] LR両方開く
[L3] L蓋を開ける時刻設定 → 数字ボタンで設定しEEPROMメモリに書き込む
[R3] R蓋を開ける時刻設定 → 数字ボタンで設定しEEPROMメモリに書き込む
[TIME] 現在時刻とLR蓋を開ける時刻を交互に表示
[PROGRAM] 午前3時の時刻へ修正
※EEPROMメモリは電源を切っても記憶しているメモリ
DSC_1036.jpg

動画はこちらです。


以上です。
まだまだ進化が続くかな?
...

その後、プリント基板をネット発注で作ってもらいましたのできれいになりました。
DSC_1147.jpg

めでたし、めでたし。


人気ブログランキング
nice!(0)  コメント(0) 

OLED 0.91インチディスプレイを買ってみた [DIY電気]

電子工作で小型の表示器が必要になりAmazonでOLED表示器を買ってみました。
「DSD TECH 2 PCS Arduino ARM用IIC OLEDの0.91インチディスプレイ」という商品で表示面積がかなり小さなものとなっています。届いた商品を開けると本体と接続ケーブルが2セット、広告っぽいチラシ一枚です。
DSC_0980.jpg

ひとつ手にとってます。
赤いのは保護シートを剥がす端っこです。
DSC_0981.jpg

それぞれの表裏です。
DSC_0982.jpg

Arduinoのu8glibライブラリを使えと書いてあるだけです。私は、PICマイコンで使用するつもりなのでArduinoと言われてもピンと来ないのです。勉強不足でついて行けません。
もう少し調べると、一番重要なキャラクターROMが入ってないということが判明したのであります。やられました!
まあ、購入前からキャラクターROMが入ってないというのは薄々わかっていましたが、案の定そうだったわけです。
文字フォントはマイコン側に持たせてI2C通信によりビット情報を流し込んでドットで書け!というものです。
今回の工作では主に時刻情報を表示させたいので、一歩譲って最悪数字とコロンと+αがあればいいということにします。
チラシにはメインチップがSSD1306だと書かれていますので、早速ネットで仕様書をダウンロードして入手。
コントローラであるSSD1306は128*64の解像度のOLEDを制御するとのこと。縦の64ドットは8ブロックに分かれ、ページと呼んでいます。1ページの縦は8ドットです。全面を全て書くには、8ビットを128回書くのを8回繰り返すということです。
それは理解できたんですけど、今回購入した表示器は128*32なので仕様書に書かれている縦のドット数が半分なのです。
あたって砕けろ!ということでブレッドボードでテストしてみました。
PICマイコンは16F88です。
DSC_0985.jpg

回路図です。
OLED TEST.gif

データを流し込んだら、わ~綺麗な水色表示!
でも、なんか変んな表示!どういうこと?砕けかけそうです。
それからそれから、あれこれ遊んでいるうちに発見しました。
奇数ビットだけ表示しているようなんです。
おいおい、偶数ビットは無視かよ。
仕様書に舞い戻り、「Set COM Pins Hardware Configuration (DAh)」という項目に目が止まりました。
0xDAコマンドの次の1バイトデータで設定できるようです。
今回初期値でテストしていましたので、0xDAに続いて0x02を設定することにより表示に成功しました。
左は猫のシルエットを4文字分で表示されています。
数字は、自作の7セグメント風フォントです。
DSC_0998.jpg

ビットマップフォントは1文字12*16にしています。横12ドットだと10文字で120ドットなので水平方向は8ドット余る計算。
縦はフルで32ドットなので、その半分の16ドットにしました。表示できる文字数は10*2ということになります。
DSC_1001.jpg

その後、テストを繰り返しているうちに別の場所のACコンセントにさすと、OLED画面の初期化に失敗しているようで、画面が反転モードだったり、砂の嵐だったり、一部が横線だったり、勝手にスクロールしたりなんです。
数分完全放電させると正常になったりするので、動作モードが予期せぬモードにラッチしているような感じです。ラッチが抜けにくいというか。
SSD1306仕様書の最後にApp Noteというのがあり、P5/6に「Software Configuration」の項目があり初期化のフローが書いてありました。12ステップですが、仕様書どおりに初期化ルーチンを書いて様子見しましたが改善せず。
結果的には商品が不良っぽいです。
2つのうちもうひとつは安定動作することがわかりました。

ここからCCSC用のテストプログラム(C言語ソースコード)です
/**********************************************
  OLED TEST PROGRAM
  DSD TECH OLED 0.91inch Display
  CCSC PIC COMPILER
  DATE 2019 JULY
***********************************************/

#include <16f88.h>
#use delay(clock=20000000)
#FUSES  HS,NOWDT,NOPROTECT,PUT,MCLR,NOBROWNOUT,NOLVP
#ignore_warnings 203
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>

#use i2c(master,sda=PIN_B1,scl=PIN_B4,FAST)

// Bitmap Font Data
//
// [14][24]で一つの配列にしたかったがコンパイラエラーとなるため分けた
// font1[14][12], font2[14][12]の2つにした
byte const font1[14][12] =
{
{0x00,0xFC,0x7A,0x06,0x06,0x06,0x06,0x06,0x06,0x7A,0xFC,0x00},//0
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0xFE,0x00},//1
{0x00,0x00,0x82,0x86,0x86,0x86,0x86,0x86,0x86,0x7A,0xFC,0x00},//2
{0x00,0x02,0x86,0x86,0x86,0x86,0x86,0x86,0x86,0x7A,0xFC,0x00},//3
{0x00,0xFE,0x7C,0x80,0x80,0x80,0x80,0x80,0x80,0x7C,0xFE,0x00},//4
{0x00,0xFC,0x7A,0x86,0x86,0x86,0x86,0x86,0x86,0x02,0x00,0x00},//5
{0x00,0xFC,0x7A,0x86,0x86,0x86,0x86,0x86,0x86,0x82,0x00,0x00},//6
{0x00,0xFC,0x7A,0x06,0x06,0x06,0x06,0x06,0x06,0x7A,0xFC,0x00},//7
{0x00,0xFC,0x7A,0x86,0x86,0x86,0x86,0x86,0x86,0x7A,0xFC,0x00},//8
{0x00,0xFC,0x7A,0x86,0x86,0x86,0x86,0x86,0x86,0x7A,0xFC,0x00},//9
{0xFF,0xFC,0xB8,0xF8,0xF8,0xB8,0xFE,0x00,0x00,0x00,0x00,0x00},//CAT LTOP
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//CAT RTOP
{0x00,0x01,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},//CAT LBTM
{0xFF,0xFF,0xFF,0xFF,0xFC,0xC0,0x00,0x07,0x1F,0xF8,0xE0,0x00},//CAT RBTM
};

byte const font2[14][12] =
{
{0x00,0x3F,0x5E,0x60,0x60,0x60,0x60,0x60,0x60,0x5E,0x3F,0x00},//0
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x7F,0x00},//1
{0x00,0x3F,0x5E,0x61,0x61,0x61,0x61,0x61,0x61,0x41,0x00,0x00},//2
{0x00,0x40,0x60,0x61,0x61,0x61,0x61,0x61,0x61,0x5E,0x3F,0x00},//3
{0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x3E,0x7F,0x00},//4
{0x00,0x00,0x41,0x61,0x61,0x61,0x61,0x61,0x61,0x5E,0x3F,0x00},//5
{0x00,0x3F,0x5E,0x61,0x61,0x61,0x61,0x61,0x61,0x5E,0x3F,0x00},//6
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x7F,0x00},//7
{0x00,0x3F,0x5E,0x61,0x61,0x61,0x61,0x61,0x61,0x5E,0x3F,0x00},//8
{0x00,0x00,0x40,0x61,0x61,0x61,0x61,0x61,0x61,0x5E,0x3F,0x00},//9
{0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xF8,0xF0,0xF0,0xE0},//CAT LTOP
{0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0xE0,0xF0,0x38,0x38,0x18},//CAT RTOP
{0x20,0x60,0x78,0xFF,0xFF,0x7F,0x1F,0x7F,0x7F,0xFF,0xFF,0xFF},//CAT LBTM
{0x7F,0x7F,0x7F,0x7F,0x3F,0x3F,0x38,0x38,0x1C,0x0F,0x03,0x00},//CAT RBTM
};

// AポートのI/Oビット配置
struct porta_pin_map {      // This structure is overlayed
    BOOLEAN reserved1;
    BOOLEAN reserved2;
    BOOLEAN reserved3;
    BOOLEAN reserved4;
    BOOLEAN pl;      //pilot lamp
} PORTA;
#byte PORTA = 0x05
#byte PORTB = 0x06

void oled_init(void);
void oled_clr(int);
void char1216( int font_code, int cx, int cy );
/*---------------------------------------------
   main module
---------------------------------------------*/
void main( void ){
    setup_adc_ports(NO_ANALOGS);
    setup_ccp1(CCP_OFF);
    set_tris_a( 0x00 );     // ALL OUT
    set_tris_b( 0x12 );     // SDA, SCL is INPUT
    PORTA.pl = 0;           //PL OFF
    delay_ms(100);
    oled_init();
    delay_ms(100);
    oled_clr(0x00);


    char1216(10,0,0);  //猫シルエット左上
    char1216(11,1,0);  //右上
    char1216(12,0,1);  //左下
    char1216(13,1,1);  //右下

    char1216(0,2,0);  // Font0 を x=2 y=0に出力
    char1216(1,3,0);
    char1216(2,4,0);
    char1216(3,5,0);
    char1216(4,6,0);
    char1216(5,7,0);
    char1216(6,8,0);
    char1216(7,9,0);

    char1216(8,2,1);
    char1216(9,3,1);
    char1216(0,4,1);
    char1216(1,5,1);
    char1216(2,6,1);
    char1216(3,7,1);
    char1216(4,8,1);
    char1216(5,9,1);
    while(1);
}

/* ----------------------------------------------------------------
    OLEDの初期化
---------------------------------------------------------------- */
void oled_init(void)
{
   i2c_start();
   i2c_write(0x78); // OLED slave address
   i2c_write(0x00); // Control byte Co=0, D/C#=0
   i2c_write(0xa8); //SET MUX RATIO
   i2c_write(0x3f);
   i2c_write(0xd3); //SET DISPLAY OFFSET
   i2c_write(0x00);
   i2c_write(0x40); //SET DISPLAY START LINE
#if 0 //画面上下設定
   i2c_write(0xa0); //SET SEGMENT RE-MAP
   i2c_write(0xc0); //SET COM OUTPUT SCAN DIRECTION
   i2c_write(0xda); //SET COM PINS HARDWARE CONFIGURATION
   i2c_write(0x02);
#else //画面上下逆
   i2c_write(0xa1); //SET SEGMENT RE-MAP
   i2c_write(0xc8); //SET COM OUTPUT SCAN DIRECTION
   i2c_write(0xda); //SET COM PINS HARDWARE CONFIGURATION
   i2c_write(0x22);
#endif
   i2c_write(0x81); //SET CONTRAST CONTROL
   i2c_write(0x7f);
   i2c_write(0xa4); //DISABLE ENTRE DISPLAY ON
   i2c_write(0xa6); //SET NORMAL DISPLAY
   i2c_write(0xd5); //SET OSC FREQUENCY
   i2c_write(0x80);
   i2c_write(0x8d); //ENSBLE CHSRGE PUMP REGULATOR
   i2c_write(0x14);
   i2c_write(0xaf); //DISPLAY ON
   i2c_stop();
}
/* ----------------------------------------------------------------
    OLEDの画面クリア

      data : 埋めるデータ
---------------------------------------------------------------- */
void oled_clr(int data) // OLED 画面消去
{
   int32 i;
   i2c_start();
   i2c_write(0x78); // OLED slave address
   i2c_write(0x00); // Control byte Co=0, D/C#=0
   i2c_write(0x20); // Set memory addressing mode
   i2c_write(0x00); // Horizontal addressing mode
   i2c_write(0x21); // Set column address
   i2c_write(0x00); // Column start address 0
   i2c_write(0x7F); // Column end address 127d
   i2c_write(0x22); // Set page address
   i2c_write(0x00); // Page start address 0
   i2c_write(0x03); // Page end address 7d ->3d
   i2c_stop();
   i2c_start();
   i2c_write(0x78); // OLED slave address
   i2c_write(0x40);
   for(i=0; i<512; i++){ // 128COL * 4page
     i2c_write(data); // Out data
   }
   i2c_stop();
}

/* ----------------------------------------------------------------
     OLEDに一文字出力
       font_code:
          配列を指定(0~)
       cx:
          出力水平位置(0~9)
       cy:
          出力垂直位置(0~1)
---------------------------------------------------------------- */
void char1216( int font_code, int cx, int cy ) // 12x16dot FONT
{
    int x;
    i2c_start();
    i2c_write(0x78); // OLED slave address
    i2c_write(0x00); // Control byte Co=0, D/C#=0
    i2c_write(0x20); // Set memory addressing mode
    i2c_write(0x00); // Horizontal addressing mode
    i2c_write(0x22); // Set Page Address
    i2c_write(cy*2); // Page Start
    i2c_write(cy*2+1); // Page End
    i2c_write(0x21);  // Set Column Address
    i2c_write(cx*12);  // Start Address(0-9)
    i2c_write(cx*12+11);  // End Address
    i2c_stop();
    i2c_start();
    i2c_write(0x78); // OLED slave address
    i2c_write(0x40);
    for( x=0 ; x<12 ; ++x ){
      i2c_write(font1[font_code][x]);
    }
    for( x=0 ; x<12 ; ++x ){
      i2c_write(font2[font_code][x]);
    }
   i2c_stop();
}


このデバイスを使った電子工作が完成したら記事にしたいと思います。


DSD TECH 2 PCS Arduino ARM用IIC OLEDの0.91インチディスプレイ

DSD TECH 2 PCS Arduino ARM用IIC OLEDの0.91インチディスプレイ

  • 出版社/メーカー: DSD TECH
  • メディア: エレクトロニクス




人気ブログランキング
nice!(0)  コメント(0) 

TK-85が出てきた [DIY電気]

若いころこNECのTK-85というマイコンボードを買ってきてマイコンのプログラミングトレーニングをしました。トレーニングじゃなく半分遊び道具だったかもしれません。
そのTK-85が蔵から出てきました。
こんな汚い箱。
DSC_0967.jpg

箱から出てきたものにはマニュアルがありませんでした。
非常に残念。
DSC_0964.jpg

テンキーみたいなキーボード
DSC_0965.jpg

改造した痕跡。
DSC_0966.jpg

たしか、1982年頃に買ったのではないかと思います。
プログラミングの方法は、アセンブラ言語をノートにコーディングして、その右に、命令に対する16進数を書いてという具合に。ジャンプ命令は、特にやっかいなもんでした。命令を増やしたりすると番地が変わるのでその都度ジャンプ命令の部分も書き換えが必要だったのです。
アセンブラ学習中は7セグメントLEDを光らせたりするぐらいのことしか学習課題がなく、時計の秒のような数字の変化を見て少し喜び、人が見てたら変です。
そうこうしているとYAMAHAからシンセサイザDX-7が発売になると知ったのです。
音楽的に興味があったわではなく、MIDIという信号を入れてあげると音が鳴るということに興味を惹かれました。独身貴族だった私はすぐさま秋葉原のラオックスでDX-7ゲット(20ン万円)。
TK-85とDX-7をつなぐインターフェイス回路(パラシリ変換)を作ってプログラミングに臨んだわけです。DX-7は16音が同時に発音できる仕様ですので、プログラムも16チャンネル出力できるようにしました。
DX-7と接続するための改造が写真の手配線です。
プログラミングが終わってからは、ひたすら譜面を16進数に落とし、自動演奏を完成させることができました。
我ながらこれはすごいもんだと感心したもんです。
ビバルディの春を20小節ぐらいかな、とても全部はメモリ不足で入りません。
ビバルディの春の次は、ギターの譜面でディアハンターをデータ化して演奏させた記憶があります。
当時はインターネットも、Nifty-Serveもなく、シェアして他の方にお披露目させることもなかったです。
今思えばオーディオテープにでも取っておけばよかったと後悔しています。

人気ブログランキング
nice!(0)  コメント(0) 

猫用自動給餌器をリモコン制御に改造、その2 [DIY電気]

過去記事でもご紹介しています「猫用自動給餌器をリモコン制御に改造」の話題です。
PICマイコンを組み込んでいるのですが、過去に作成したPICマイコンをそのまま流用していました。ソフトを変更したくても、書き込みツールを所有しないので、ソフト変更は手も足もでません。
そこで、今回10年ほど休んでいたマイコンプログラムを再開することにしたのです。
コンパイラーだけは所有していたのですが、書き込み器を持ってないので「ANBE PIC プログラミングキット PICKIT3互換品 PIC マイコン ライター」を購入しました。
3,000円を切る価格!こんなに安くて入手できるのなら、もっと早くに買っておけばよかっと少し後悔。書き込みソフトは、本家Microchipのサイトから「MPLAB X IDE v5.15」をダウンロードして、インストール中にオプションで、IPE(書き込みソフト)だけ指定してインストールしました。
DSC_0763.jpg

開梱したところ。大満足の内容。
DSC_0765.jpg

今までのところ、TVリモコンで蓋を開けることができるようにしています。
ですから、スマート家電リモコンを利用すれば、好きな日時に蓋を開けることができます。
TVリモコンを受信するソフトもこのPICにプログラムしてあります。ソニー製のリモコンでしたら、まず、LEADERパルスという2400μs幅のパルスを検出、その次から12bitか15bitか20bitのデータが送られてきます。600μsだったらゼロ、1200μsだったらイチなのでビットを組み立てていくソフトです。
12bitか15bitか20bitのどれであるかは、タイムアウトで判断しています。

#define TV_BLUE 0x0f004ba4
ソフトの中では、TVの青ボタンはこのように定義しています。
青ボタンは、15bit長で0x4ba4というコードなのです。

今回は、その機能に加えて、TVリモコンで本体にタイマー設定ができるようにしました。
実はこの製品、「PetSafe おるすばんフィーダー デジタル2食分 バージョン2」は、タイマー設定が1時間単位しかできない欠点があるのです。
改良したことは、設定モードに移行したら、TVのチャンネルボタンを2つ押して2時間30分後、というような設定ができます。簡素化するため、あえて10分単位の設定に留めています。
2時間30分の設定であれば、[2],[3]とチャンネルボタンを押して設定します。2時間ちょうどだったら[2],[10]とチャンネルボタンを押せばいいようにしました。チャンネルボタンには[0]が無いので、ゼロは[10]で代用しています。
PICマイコンはタイマー割り込みという機能を常時働かせて、ソフトで時間をカウントするようにしました。10MHzのクロックで動作させているので、基本サイクルはデータシートに(=Fosc/4)と書かれているので、2.5MHzを基本サイクルで計算します。2.5MHzの周期は0.4μs、×8のプリスケーラーを使用して16bitのフルカウントで約209msの割り込みをプログラムしました。
フタがセットした時間より数分違っていてもニャンコには影響ないので、ラフなカウントでいいと思っていたのですが、12時間のカウントをしたところ、なかなか正確です。
DSC_0799.jpg

動画はこちらです。


猫用自動給餌器をリモコン制御に改造、その3」へ続く...


PICの書き込み、これ、コスパが最高です


ANBE PIC プログラミングキット PICKIT3互換品 PIC マイコン ライター

ANBE PIC プログラミングキット PICKIT3互換品 PIC マイコン ライター

  • 出版社/メーカー: ANBE
  • メディア: エレクトロニクス




人気ブログランキング
nice!(0)  コメント(0) 

猫用自動給餌器をリモコン制御に改造 [DIY電気]

以前の記事「猫用自動給餌器の導入」で紹介した「PetSafe おるすばんフィーダー デジタル2食分 バージョン2」をテレビリモコンで蓋が開くように改造しました。
リモコンで動くようにしておけば応用がききますので。
DSC_0465.jpg

全く別の機器に入れていた赤外線リモコンを受信する基板を流用することにしました。
電子工作の定番、PICマイコンで作ったものです。
そのままでは使えないので、トランジスタをFETに変更です。
IMG_20190316_0002.jpg

購入したFET(2SK4017)が2個と、ACアダプタの接続端子です。
DSC_0594.jpg

こちらは、Amazonで「SODIAL(R) 5件ミニDC-DCコンバータステップダウンモジュール調整可能電源出力0.8-20V」というDC-DCコンバーターを購入。5個で450円!それも中国から、2週間もかけて届きました。
DSC_0635.jpg

早速改造スタートです。
DSC_0587.jpg

これが自作の赤外線リモコンを受信する基板です。
もう既に、トランジスタからFETに変更してあります。
DSC_0607.jpg

上面パネルには、LEDと赤外線受光部用の穴。
DSC_0608.jpg

裏面にはパネルマウント型ACジャックの穴。
DSC_0609.JPG

組み込み中です。
中央の基板は、PetSafe おるすばんフィーダーのメイン基板です。
基板から赤黒の線が、左右のソレノイドに配線されています。赤がソレノイドのホット側で、黒が引き込み側です。オリジナルの回路では、引き込みにA2sHBsというFETを使っているのです。ですので今回組み込むマイコン基板にFETを付けてオープンドレインをこの黒に繋ぐことでOR回路にしてあります。OR回路なので本来の動作も問題なく動くのです。
左下の茶色い基板は今回組み込む基板、上の小さなのがDC-DCコンバーターです。
このDC-DCコンバーターのINには6Vを入れていますが、出力の最大は3.5Vでした。
DSC_0638.jpg

組み込みが完了しました。
ホットメルトはやはり便利ですね、基板の取り付けが楽でした。
DSC_0639.jpg

上面パネルに開けた穴。上の緑っぽいのは赤外線受光、下の赤っぽいのはコマンドを受けた時に光るLEDです。この時!気付きました!慎重に改造を実行していたのですが。こんな所に赤外線受光部を付けたら、先に右側の蓋を開けたら前面方向からの赤外線コマンドを遮断してしまうじゃないですか!
でも、それほど深刻なミスではなかったようです。
赤外線は家の壁やらモノに反射して届くので問題なかったようです。汗!
DSC_0640.jpg

裏はACアダプタを接続するDCジャックです。
DSC_0641.jpg

これで完成です。
左蓋と右蓋は、ソニーのリモコンであれば、テレビに限らず何でもティーチングできるようなソフトになっています。今回は、左蓋はデータ放送時に使う「青」ボタン、右は「黄」ボタンにティーチングしてあります。
DSC_0644.jpg

もともと家にある家電リモコンRS-WFIREX3です。
こいつは、家電リモコンの赤外線コマンドをなんでも出力してくれますので重宝しています。
外出先からもボタン押せますし、何月何日の何時に「青」ボタン押せ!も事前設定できます。毎日朝6時(繰り返し設定)に、ニャンコに飯を与えることが可能です。
設置場所は部屋の隅にある150cm高シェルフの上ですが、部屋の中のどこでも赤外線コマンドが飛んでいきます。
DSC_0642.jpg

家電リモコンアプリを起動したが画面です。
家には一個しか家電リモコンがないので「家電リモコン(1)」しか表示していません。
Screenshot_20190310-135523.jpg

「家電リモコン(1)」をタップしたら、設定されている家の中の機器が表示されます。
黄色い機器が「ニャンコ弁当」です。
Screenshot_20190310-135530.jpg

「ニャンコ弁当」をタップすると、2つのボタンが表示され、そのボタンをタップすれば、ニャンコ弁当の蓋が開きます。外出先からも開きます。
Screenshot_20190310-135537.jpg

この画面はタイマーの一覧です。
一番下に、「ニャンコ弁当」があります。
毎日朝6時に左の蓋が開きます。
本体の、1時間ステップのタイマーセットを毎晩しなくてもOKです。
このタイマーは注意点がありまして、外出先からはタイマー変更できないのです。必ず家のネットワークにスマホを接続してからしか変更できません。
Screenshot_20190310-140019.jpg

これでニャンコも毎日正確に「ニャンコ弁当」が開くので規則正しい生活になります。
めでたし、めでたし。

動画はこちらです。


追記:
ところがその後、家電リモコンRS-WFIREX3のタイマーセットしたリモコンコマンドが送信されなくなるトラブルが2回ほどありました。タイマーセットしたその項目だけがだめなようで、改善策が見つけられません。一度は、他のタイマーを削除したら動くようになりました。
今のところ信頼性が低いと判断して、家電リモコンRS-WFIREX3からの自動給餌コマンドはやめています。アプリをアップデートした直後でもなさそうです。

猫用自動給餌器をリモコン制御に改造、その2」へ続く...






人気ブログランキング
nice!(0)  コメント(0) 

トイレの換気扇から少し異音 [DIY電気]

トイレの換気扇から少し異音が出始めました。
三菱電機のVD-10ZC2(製造年1996)です。
こんな換気扇です。
DSC_0526.jpg

カバーをはずしてみたところ、回転中なのでシロッコファンの中が綿菓子を作るドラムみたいな妙な容姿になっています。なんじゃこれ!ってな感じす。
DSC_0505.jpg

遅れ停止スイッチなので、スイッチを切って数分後に確認したところ
シロッコファンは埃まみれ。
DSC_0506.jpg

トイレ天井の左のやつです。
DSC_0507.jpg

ピンセットで埃をつまんで除去を始めましたが、なかなかはかどりません。
DSC_0510.jpg

埃が頭上から降ってくるし、この程度の除去までが限界です。
DSC_0511.jpg

黒いカバーがネジ5本で止まっているだけでしたので、黒いカバーを外して、シロッコファンも外しました。こんなに簡単に外れるのであれば最初から外せばよかったです。
シロッコファンの取り外しには8mmのボックスドライバーを使ってます。
ちなみにシロッコファンは樹脂製です。
DSC_0514.jpg

シロッコファンを外した跡はこのような状況です。
実は、ダクトは数年前に専門業者に掃除してもらってます。
たしか、1~2万円ぐらいだったような、
DSC_0515.jpg

シロッコファンとカバーは水洗いでスッキリ。
DSC_0517.jpg

掃除を始めてしまってますが、埃が原因での異音ではありません。
モーター軸を指で回転させても異音がしますので。
将来的には「モーターだけ交換」をすることになりそうです。
モーターの型番でも見ておこうと思いモーターを外してみました。
ついでにモーターが付いていた部分(穴)から、天井から吊り下げで取り付けられているのを確認しました。青い部分が天井の取り付け部です。この手の施工をやられては、本体交換するのに天井をぶち壊さなければなりません。
本体の交換が容易であればモーターだけ交換する必要はないのです。
ですから、うちの場合は「モーターだけ交換」なんです。
困ったもんです。
DSC_0521.jpg

型番かな?BK042X2というように見えます。
モーターの胴を一周確認しましたが、そのほか何も書かれていません。
DSC_0522.jpg

BKじゃなく、8K042X2かな?
DSC_0523.jpg

横から。
モーター本体70mm長、直径60mm、シャフト40mm長です。
DSC_0524.jpg

DSC_0525.jpg

取り扱い説明書にはモーターの型番に関する記載はいっさいありませんでした。
vd-10zc2_motor.GIF

今後の計画では同じモーターか、代替品の入手方法がわかったら交換したいと思います。
ご存知の方、情報いただければうれしいです。
今回は、モーターシャフトに油を吹き付け、組み直してメンテナンス完了としました。
音は静かになりましたが、経験上、数日したらまた鳴り出すでしょう。


人気ブログランキング
nice!(0)  コメント(0) 

トラッキング火災対策 [DIY電気]

大掃除で冷蔵庫を移動させて裏を見たらびっくり。
こりゃまたすごいことになっています。
トラッキング火災が心配になります。
トラッキング火災は、電流が埃を伝い流れますので発煙や発火につながります。
特に、一年365日コンセントに挿しこんだままになっているコンセントは人の手が触れず埃も蓄積して非常に危険な状態となります。
使うと時だけ抜き挿しする電気製品は心配ないと思います。
年末の大掃除などでコンセント部に埃がたまっているのを見つけたら必ず対策しましょう。
対策したので掃除は不要ということではありません。
冷蔵庫や、洗濯機、テレビの裏等、気にかけておいたほうが無難です。
DSC00386.jpg

最近の家電製品のコンセントは、刃の付け根に黒いカバーが取り付けてありますので、トラッキング火災対策されています。
DSC_0713.jpg

古い家電製品は当然のこと、新しい家電製品でも下写真のように対策が取られていないものもあります。このようなものは、黒いカバーを後付けできますので、必ず対策しておきましょう。
また、空きコンセントには埃が入り込まないように専用キャップを付けておけば安心。
タイトラキャップは百均で見たことはありませんが、それに相当するカバーは売られていますね。
DSC_0714.jpg


サンワサプライ タイトラキャップ TAP-PSC4N

サンワサプライ タイトラキャップ TAP-PSC4N

  • 出版社/メーカー: サンワサプライ
  • 発売日: 2007/12/20
  • メディア: Personal Computers




人気ブログランキング


nice!(0)  コメント(0) 

留守時に在宅を装うタイマー [DIY電気]

リビングのLED照明の壁スイッチは、Panasonicの「あけたらタイマ」というものを取り付けております。
上下に2つスイッチがあり、上は単なるスイッチで、この壁の上にある照明を入り切りさせているだけです。今回のメイン紹介は「あけたらタイマ」というので、その下のモジュールです。
DSC_0713.jpg

蓋を開けてみましょう。
デジタル時刻表示とスイッチがあります。
設定するのは以下の4つです。
(1)現在時刻
(2)入り時刻
(3)切り時刻
(4)遅れ消灯時間

(1)は現在時刻を設定。(2)入り時刻は定刻モードにした時の入り時刻。(3)切り時刻は定刻モードにした時の切り時刻。(4)遅れ消灯時間は、通常モード時に消灯してから何分何秒後に切りにするか。
以上のように設定しておきます。
モードを「解除」にしておくと、通常の照明入り切りができますが、切りの時だけ(4)で設定した時間(秒単位可能)後に照明を切りにすることができます。私は、30秒に設定していますので、就寝時に切りにして寝室に向かい、布団に入ったら消える使い方です。(切りにしてから実際に照明が消えるまでは緑のLEDが点滅・点滅中にボタンを押すと即消灯)
(2),(3)は「定刻」モードにした時に、その時間に正確にオンオフします。
「留守」モードというものもありまして、そのモードにしておくと(2),(3)で設定した時刻の±30分でランダム時刻に入り切りしてくれます。一週間ぐらい家を空ける時に在宅を装ってくれます。留守モードにしたというだけでも安心して旅行に行けます。一泊だったら定刻モードでもOKですね。
DSC_0715.jpg
DSC_0714.jpg

消灯時は緑のLEDが光りますので暗がりでスイッチの場所がわかります。
DSC_0717.jpg

このシーリングライト(LED)を入り切りさせています。
DSC_0718.jpg






人気ブログランキング
nice!(0)  コメント(0)