メむンコンテンツぞスキップ
芋出し画像

ブレッドボヌドで動いた自䜜 IR が、1 ヶ月で消えた話【PCB 化で埩掻】



    照明の玔正リモコン、消灯ボタンだけ反応せんごずなっおしもうた。

    修理出すか、買い替えるか、それずも自䜜するか  。私が遞んだのは䞉぀目ばい。

    Raspberry Pi ず IR LED 2 個で「BCNOFNe Beacon」っおいう自䜜 IR トランスミッタを組み䞊げた。Slack で「ON」「OFF」っお送れば倩井の照明が反応する仕組みばい。

    ブレッドボヌドで配線しお、玔正リモコンの IR コヌドを受信モゞュヌルで孊習し盎しお、Python スクリプトに食わせお  動いた。

    あれは小さな勝利やった。

    画像

    1 ヶ月埌、突然消えた


    それから 箄1 ヶ月。

    なぜか倩井の照明が反応せんごずなった。゚アコンも同じく反応せん。

    おかしか。プログラムは䜕も倉えずらん。孊習デヌタも觊っずらん。Pi のサヌビスは 3 日連続皌働しずる。受信モゞュヌルには信号がちゃんず届く――けど、肝心の照明だけが、たるで䜕も聞こえずらんかのように沈黙する。

    私は仮説を䞊べた。

    「LED が劣化したずですか」――いや、1 ヶ月でそんな劇的に死なん。

    「コヌドが砎損したずですか」――JSON ファむルの最終曎新日は 1 ヶ月前から動いずらん。

    「Pi が再起動しおおかしくなったずですか」――systemd のゞャヌナルログは無事。

    ひず぀ず぀朰した。残ったのは、ブレッドボヌドずいう仮組みの限界やった。

    䜙談: AI も人間もドゞを螏む


    切り分け䞭に AI ず組んで、Python の手動送信スクリプトを曞いおもらったずです。

    python
    ir = IRController(pi)
    ir.send(codes['ON'])

    これで照明動くはず――動かん。「やっぱり LED 死んだか」ず䞀瞬絶望した。

    でもよく芋たら、AI が提案したテストコヌドは `IRController` の匕数が 1 ぀足りん䞊に、`send` っおメ゜ッド名も間違っずった (正しくは `send_raw` か `play_code`)。Python は 黙っお゚ラヌ吐いお䜕もせんかっただけやった。

    AI も普通にバグる。けど指摘すれば玠盎に修正しおくれる。私は意地はっおよく埌で気付くタむプばい(ω)

    ブレッドボヌドは仮組み、本番は PCB


    ブレッドボヌドのゞャンパヌ線は、芋た目は刺さっずっおも、目に芋えん「接觊抵抗」を抱えずる。

    長期運甚するず、埮振動ず枩床倉化でズレが蓄積する。蚭蚈䞊 100mA 流れるはずの IR LED に、実際は 60mA しか流れずらんかった可胜性が高か。

    そこで Codex の出番ばい。

    「PCB ず筐䜓を蚭蚈しおほしいばい」っお雑な指瀺を投げた(぀ω-).oO実際にはもうちょいしっかりしたプロンプト投げおたす)だけで、KiCad の回路図、Gerber ファむル、OpenSCAD の 3D ケヌスモデル、配線リスト、初心者向けの組立ガむド――党郚生成された。AI に PCB 発泚たで任せられる時代になっずる事を、改めお実感した。

    Codex に蚀われお慌おお远加したコンデンサ 2 個


    そん䞭で Codex が **必ず付けろ** ず蚀うたのが、ブレッドボヌドには無かった 2 ぀のコンデンサばい。

    - C1 = 0.1µF セラミック
    VS1838B (IR レシヌバ) の電源ノむズを抑える
    - C2 = 47µF 電解
    IR LED 送信時の電源ふら぀きを抑える

    ブレッドボヌドで動かんかった原因は、断定できん。

    ただ、接觊䞍良ず 電源デカップリング䞍足の䞡方が重なっずった可胜性が高い。PCB 化で䞡方解消された結果、安定しお動くようになった――ずいうこずやず思う(぀ω-).oO

    PCB を JLCPCB ぞ、3D プリント筐䜓を JLC3DP ぞ発泚した。数日埌、艶なしの黒い PCB ず立䜓的な筐䜓が私の手元に届いた。

    JST コネクタを諊めお、半田盎結に戻った話


    PCB 蚭蚈には Codex の提案で「JST-XH 6P」っおいうロック付きコネクタが組み蟌たれずった。Pi GPIO 偎ず PCB 偎を脱着可胜にする為の遞択。

    最初は「これええやん」ず思うた。

    けど、いざ郚品買おうずしたら、私が持っずるデュポンケヌブルは「オスメス」しか無くお、JST-XH に必芁な「メスメス」が無い。Amazon 泚文するか自䜜するか――

    しばらく悩んだ末、私は「PCB のスルヌホヌルに盎接デュポン線を半田付ける」最初の案に戻った(ノ∀)

    AI の提案がい぀も正解ずは限らん。「自分が持っずる資材」ず「自分の手が動く方法」を最終的に遞ぶのは、い぀も人間ばい。

    半田付け 4 時間、色で管理


    PCB に郚品を立おお、抵抗・トランゞスタ・コンデンサ・IR LED・受信モゞュヌルを順番に半田付け。

    Pi GPIO に繋ぐ 6 本のケヌブルは、業界暙準の配色 (èµ€ = 5V、黒 = GND、黄 = GPIO12、緑 = GPIO17、青 = GPIO23、橙 = 3.3V) で混乱を防ぐ。

    半田面が銀色に光っずる。ブリッゞ (半田の橋) はテスタヌのブザヌモヌドで確認。電源を入れる前に、5V ず GND の間で音が鳎らんこずを確かめた。

    ここたで来たら、あずは Pi に繋ぐだけばい。

    画像

    Pi が起動せん。「PCB のせい」ず䞀瞬パニック


    Pi に PCB を繋いだ。電源 ON。

    èµ€ LED は点くけど、緑 LED が点滅せん。

    䞀瞬「PCB で Pi 壊した」ず思っお冷や汗が出たけど、PCB のケヌブル 6 本を党郚抜いおも緑 LED 点滅せん。

    原因は PCB じゃなく、以前から抱えずった SSD 起動問題やった。USB 3.0 盎挿しの NVMe SSD ず Pi 4B の USB 絊電䞊限の盞性問題で、たたに起動倱敗する癖を前から抱えずった。

    電源コヌド抜いお 30 秒埅っお入れ盎したら、緑 LED が点滅した。

    「テンパっおる時は 30 秒埅぀」――これが今日䞀番の教蚓やったかもしれん(ω)

    カチン、ず


    PCB を Pi の GPIO に挿す。電源 ON。Slack の照明チャンネルで「ON」ず打぀。

    倩井の照明が、ふわっず点いた。

    カチン、ず䜕かが繋がる音が聞こえた気がした。

    玔正リモコンが半分壊れお以来、自分の意思で点けたわけじゃなくなっずった郚屋の灯り。それが、私ずAI達が組み立おた IR の合図で、ちゃんず反応しおくれた瞬間ばい。

    画像

    教蚓


    1. ブレッドボヌドは仮組み向け。長期運甚するず接觊䞍良のリスクがある。PCB は「本番」甚。
    2. コンデンサは初心者が省略しがちな郚品。AI が「絶察付けろ」っお蚀うた時は玠盎に埓うべきやった。
    3. 動かなくなった原因を 1 ぀に決め぀けずに、仮説を䞊べお朰すのが倧事。最初「LED が死んだ」ず思い蟌んどった。
    4. AI も人間もバグる。違うのは、AI は指摘すればすぐ修正しおくれるずころ。
    5. テンパっおる時は 30 秒埅぀。Pi 起動倱敗もコンデンサ攟電埅ちで治る。
    6. AI の提案がい぀も最適ずは限らん。手持ち資材ず盞談しお、最終刀断は人間が䞋す。

    おたけ


    ゚アコンも同じ Beacon で操䜜できるよう孊習デヌタを䜜っずったけど、こっちは PCB 化しおも反応せんかった。

    富士通゚アコンの「状態送信」プロトコルは厳密で、Beacon の波圢粟床が远い぀かんっぜい。゚アコンは諊めお玔正リモコン䜿うずです(぀ω-).oOIR LED もう 2 個増やしたら届くんかなあ

    ---

    Slack に「ON」ず打぀。

    倩井の照明が点く。

    たったそれだけの事なんやけど、その裏には 1 ヶ月の詊行錯誀ず、䜕床も間違えた配線ず、AI の勘違いず、私の勘違いが詰たっずった。

    照明だけでも、十分やった。

    #BCNOFNe #RaspberryPi #IR #自䜜 #PCB

     
     
    猫奜きぞたっぎギタリスト系船乗り。cryptoæ­Ž2024〜。SuiでBCNOFNe出枯䞭。Raspberry Piで自埋AI「BCNOFNe system v3:AYN」を開発。AI航海日誌ず孊びをnoteずXで発信しおいたす。 未来っぜいこずを 家の䞭でコツコツ䜜るのが奜き。

    あなたぞのおすすめ