HN 日本語サマリー

← 一覧へ戻る
プログラミング

Show HN: Marelleo、ESP32を使って子供たちのために作ったオープンソースのストーリーボックス

Show HN: Marelleo, an open-source story box I built for my kids using ESP32 (zebra.rodeo)

14 pointsby foOg5 コメント

要約

著者は、市販のストーリーボックスの閉鎖的なエコシステムに不満を感じ、子供向けにESP32とRFIDタグを使ったオープンソースのストーリーボックス「Marelleo」を自作しました。開発過程では、ブレッドボードでの試行錯誤、はんだ付け、3Dプリントによる筐体作成、そしてカスタムPCB設計など、多くの技術的課題を乗り越えました。最終的に、Wi-Fi経由でコンテンツを管理・更新できる柔軟なシステムが完成し、子供たちはそれぞれ自分だけの使い方で楽しんでいます。

全文翻訳

休暇中のいら立ちから始まった

去年の夏、友人たちと子供たち数人と休暇を過ごしていたとき、Tonieboxに出会いました。正直、素晴らしいと思いました。子供がフィギュアを箱に乗せると、物語が始まります。外すと止まります。画面はなく、メニューもなく、親が fetch する必要もありません。2歳児でも1秒で理解できる、これは人が到達できる最高のユーザビリティレベルにほぼ匹敵します。

そのジェスチャーは完璧です。ビジネスモデルは、それほどではありません。これらの箱はすべて同じように機能します。本体はそれなりの価格で売られ、その後、コンテンツで利益を上げます。Luniiの閉鎖的なカタログ、Yotoのカードパック、Tonieboxのフィギュアなど、新しい物語はすべて購入であり、私が選んだカタログではなく、私がコントロールできないオブジェクトです。プレイヤーを買っているのではありません。木製のおもちゃに偽装したサブスクリプションを買っているのです。そしてそれは本当に私を苛立たせました。

その頃、私は何年も前からエレクトロニクスをやりたいと思っていました。趣味程度ではなく、本当に理解したいと思っていました。しかし、私はその分野について何も知りませんでした。はんだごては3年に一度、ヘッドホンの配線を修理するために取り出すだけで、何かを作るために使うことはありませんでした。抵抗器が何であるかは知っていても、それを自分で選んだことは一度もないような人間です。

その二つの衝動は、帰りの車の中で一つになりました。それが私のプロジェクトになるだろう。RFIDリーダー、タグ、そしてそれに何かのせるとオーディオトラックを再生する箱。製品を作るためではありません。ただ子供たちのために、そして学ぶために。

発見の二つv0

ブレッドボード、あるいは間違える権利

私が望まないものはすでにわかっていました。MP3を再生するためだけにフルコンピューターであるRaspberry Piは、大きすぎ、消費電力が多く、起動に20秒かかります。フィギュアを置く子供は20秒も待ちません。彼らは飽きて遊びに行ってしまいます。一方、C言語で400ページのデータシートを読みながらプログラムするような、本当に低レベルのチップは、その日のうちに物語を聞きたい初心者にはあまりにも敷居が高いです。

調べているうちに、プロジェクトを可能にした二つのものに出会いました。まず、ESP32開発ボードです。Wi-Fi内蔵のマイクロコントローラーで、MP3をデコードするのに十分な性能があり、Arduinoのように簡単にプログラムでき、数ユーロで販売されています。次に、ブレッドボードです。はんだ付けなしでコンポーネントを差し込める、穴の開いた板です。

それは些細なことのように聞こえるかもしれません。しかし、プロジェクト全体をひっくり返すほどの出来事です。ブレッドボードでは、間違えても何もコストはかかりません。プラグを抜いて、やり直せばいいのです。何も壊れません。学習しているとき、それはまさにあなたが必要とする特性です。

そこで、私はドキュメントを読み、Claudeと話し合い、ノートに配線図を描きました。そしてすぐに、あまりにも早く、それが自分の力でできたと感じる前に、タグを置くとオーディオトラックを再生する回路ができました。それは醜く、銅線のスパゲッティの皿で、スピーカーはむき出しでテーブルの上にありました。しかし、それは機能しました。数時間で、物語を語るものができました。子供の頃以来、自分で作ったものでこれほど満足したことはなかったと思います。

[画像: ESP32が白いブレッドボードに差し込まれ、十数本のカラフルなワイヤーでLEDが点灯している赤いNFCリーダーに接続されている。]

最初の回路。ブレッドボード上のESP32、数本のワイヤーの先にNFCリーダー、動作中の赤いLED。はんだ付けは一切なし。

燃え上がったもの

ポテンショメーター、煙、そしてスキーワックスの匂い

次に起こったことは、あまり輝かしいものではありませんでした。音量を設定するために、ポテンショメーター、つまり可変抵抗にすぎない小さなロータリーノブを追加しました。ただし、配線を間違えると、もはや何も設定できなくなります。プラスとマイナスの間にただのワイヤーになるのです。それはショート回路と呼ばれ、恐ろしい速さで熱くなります。

煙が出ました。そして、とても独特の匂いがしました。しばらくの間、それが何なのか特定できませんでしたが、すぐにわかりました。スキーワックスの燃える匂いです。今ではすぐに認識できますが、それは決して良い兆候ではありません。

バッテリーも別の問題でした。リチウムセルを2本のワイヤーに接続して終わり、というわけにはいきません。充電コントローラーが必要です。いつ、どのように充電するかを決定し、適切なタイミングで停止し、何もおかしなことが起こる前にカットオフする専用チップです。また、適切に固定する必要があります。なぜなら、筐体の中でガタガタ揺れるリチウムバッテリーが挟まれるのは、誰も見たくない動画のシナリオにまさに該当するからです。

そして、ちょっとした問題がありました。私のバッテリーのコネクタが、充電ボードのコネクタと一致しませんでした。似たような2つの小さな白いプラグ、2つの異なるピッチ、互換性がありません。そこで、火曜日の夜11時近くになって、もうすぐ完成という時にあなたがすること、つまりコネクタを切り取り、バッテリーを直接はんだ付けしました。

即座に起こった、予期していなかった結果:コネクタがなくなったため、何もプラグを抜くことができなくなり、回路のどこにもスイッチがなくなりました。箱は常にオンになりました。1日24時間。急いで接続されたリチウムセルが、決してオフにならないオブジェクトの中にあり、子供の寝室に置かれています。そのように書くと、コメントは不要でしょう。

その瞬間、私はこれを軽々しく扱うのをやめました。恐れからではなく、もはやテーブルの隅でガジェットをいじっているのではなく、子供たちの日常生活に電気的なオブジェクトを置いているのだと理解したからです。プロジェクトの他のすべては、その認識から始まりました。

ワークショップノートv1

ブレッドボードからパーフボードへ

最初の結果はブレッドボードからの移行でしたが、それは安全性だけではありませんでした。

ブレッドボードは摩擦で保持されます。すべてのワイヤーは小さなスプリングで保持されており、試行錯誤には素晴らしいですが、永続性には壊滅的です。回路を動かすと接触が失われ、それに続く故障は、クリーンな失敗よりもはるかに悪いです。それは断続的です。コードのバグを1時間半も探し、同じ関数を20回読み返し、それは接触しなくなったワイヤーだったのです。

[画像: ESP32といくつかの小さなモジュールがはんだ付けされた緑色のパーフボード。]

ブレッドボードと同じ回路ですが、はんだ付けされています。テーブルの上で動かしても壊れない、それだけでも大したことです。

次のステップはパーフボードです。同じ穴のグリッドですが、プリント基板上にあり、すべてのコンポーネントがはんだ付けされています。間違える権利を失いますが、まとまりのある回路を得られます。そこで私は本当にはんだ付けを学び、何よりも、私の修理のはんだ付けは製造のはんだ付けとは全く関係がないことを理解しました。修理は既存の接合をやり直すことです。構築は、100個を連続して、すべてきれいに、すべて同じように作ることであり、101個目が失敗するものであることを知っています。

筐体

子供たちがノブをねじってワイヤーがちぎれるまで

筐体については、非常に幸運でした。François Lagunasが私の3Dプリンターを貸してくれ、最初の試みを手伝ってくれました。彼がいなければ、私はまだ定規で厚紙を切っていたでしょう。Fusion 360で無料のホビイストライセンスを使ってモデルを描き、プリントしました。

[画像: Fusion 360での筐体の3Dモデル。角が丸い立方体、上に円、円筒形のノブ、前面に名前が刻印されている。]

Fusion 360での筐体。上の円はフィギュアを置く場所を示し、その横の穴はボタン用、横のスロットはUSB-C用です。

最初のバージョンは大きすぎて壊れやすすぎました。そして、品質管理は予想よりも早く到着しました。21ヶ月、5歳、7歳の3人の子供たちの形をしていました。

彼らはノブを動物のように回して壊しました。音量ノブはエンドストップなしでぐるぐる回り、回るにつれてワイヤーを巻き込み、すべてちぎってしまいました。箱を開けると、ねじれた銅線の小さな巣がありました。そこで私はプロジェクト全体の最も重要なルールを学びました。5歳児はノブを回すのではなく、ねじり外します。そして、抵抗しても止まりません。与えられるまで止まりません。

[画像: 2本の指で持たれたポテンショメーター、タブには5本のカラフルなワイヤーがはんだ付けされている。]

ポテンショメーターとその5つのタブ:音量用3つ、トラベルの終わりに箱をオフにするスイッチ用2つ。これらが巻き込まれたワイヤーです。

そこで私はやり直しました。コンパスで全ての測定をやり直し、部品ごとに、全ての穴が正しい位置に着き、全ての部品がワイヤーではなくプラスチックで保持されるようにしました。壁を厚くし、ポケットを追加し、高さを低くしました。バージョンを重ねるごとに、オブジェクトはプロトタイプのように見えなくなり、オブジェクトらしく見え始めました。

「与えることを許さない」という精神はそのままに、セルフタッピングスクリューもやめました。プリントされたプラスチックに直接ねじ込むと、一度、二度は持ちますが、3回目には素材が層に沿って割れます。穴は何も保持しなくなり、部品は再プリント行きです。本当の答えは真鍮インサートと呼ばれます。穴の上に置き、はんだごての先端を当てると、真鍮が熱でプラスチックを溶かし、それ自体を埋め込みます。冷えると、部品の中に金属製のねじ山が捕捉され、百回でもねじったり外したりできます。

[画像: プリントされた筐体の底面、4つの角に真鍮インサートがプラスチックに埋め込まれている。]

はんだごてで埋め込まれた真鍮インサート。4分間の作業で、何度でも外せるネジが手に入ります。

そして、私の技術的な議論では決して合格しない唯一のテストが来ました。私の妻が箱を気に入ったのです。丁寧にではなく、リビングの棚に、来客時に片付けないようなオブジェクトの間に置きました。それは立方体の形も決定しました。子供向けの、隠す必要のないオブジェクトは、最終的に使われるオブジェクトです。

最初の写真では、それらすべてが見えます。上面の彫刻された円は、アンテナがすぐ下にあるためフィギュアを置く場所を示し、その隣には音量ノブ、再生ボタン、そして前面の壁に浮き上がった名前があります。フィギュアは、足の下にNFCステッカーが貼られた、塗装された木製の人物です。どんなオブジェクトでも構いません。おもちゃの車、トークン、平らな小石。子供が何が何を語るかを決め、それがまさに私が望んだことでした。

ボードv2

何もぶら下がったままにしたくなかった

その時点で、かなりうまく機能するバージョンがありました。しかし、はんだ付けされた回路であっても、それは依然として配線された回路です。常に接合部を引っ張るケーブル、足からぶら下がっているモジュール、振ると緩むコネクタがあります。そして、私は子供たちが物をどれだけ振るかを数週間かけて経験的に測定していました。

そこで、私はカテゴリーを変更し、プリント回路基板の設計に取り掛かりました。散らばっていたすべてを、単一のボードにまとめました。電源、充電器、アンプ、SDカードリーダー、コネクタ。すべての部品が所定の位置にあり、何も動かず、何も突き出ていません。

Claudeを使って、配線された回路からきれいな回路図にしました。そこで、作業分担が興味深いものになりました。データシートをよく読み、ピンにプルアップが必要であることを発見し、値を計算し、ライブラリからフットプリントを取得します。しかし、ルーティングはできません。ルーティング、つまり、コンポーネント間のすべての銅トラックのパスを、他のトラックと交差することなく物理的に描画することは、KiCadで手作業で行いました。491本のトラック。8/10ミリ離れたパッドの間に接続を押し込むために、1/10ミリ単位で線を動かすのに費やしたすべての夜。

[画像: KiCadのボードルーティング画面。赤線で覆われた緑色の長方形、端の周りにラベル付けされたコネクタ、アンテナ下のKEEP-OUT ZONEとマークされたハッチングされた領域。]

ルーティングファイル。すべての赤い線は手作業で配置された銅トラックです。上部には、Wi-Fiモジュールのアンテナ下のハッチングされた領域があります。そこに銅がないと、範囲が縮小します。

注文する前に、そのファイルを虫眼鏡で確認する必要があります。非常に具体的な理由があります。ボードは1枚だけ注文しません。最低5枚で、一度に製造・組み立てられます。そこに1つの間違いがあると、修正ではなく、5枚のボードがゴミになり、請求書全体が台無しになります。

そこで、注文する前に、回路図全体を最初から最後まで再度読ませました。それは私が決して見つけられなかった3つのものを見つけ、それぞれが注文を台無しにするところでした。

ワークショップノート

注文前に見つかった3つの間違い

すべてを台無しにしたであろう抵抗器。 プロセッサに必要な3.3Vを生成するために、降圧コンバーターを使用しており、その周りに分圧器を形成する2つの抵抗器を配置していました。これは出力電圧を設定する通常のやり方です。ただし、私が選んだチップには2つのファミリーがあります。調整可能なものと、固定出力のものです。私は固定出力の方を選んでいました。私の分圧器では、レギュレーターは実際よりもはるかに低い電圧を読み取り、出力が弱すぎると判断し、プッシュしました。計算によると、3.3V用のレールに13.7Vがかかることになります。Wi-Fiモジュール、SDカード、NFCリーダー:すべて電源投入後すぐに壊れます。

逆向きのダイオード。 KiCadでは、ダイオードのパッド番号1はカソードであり、私のファイルはそれを逆に配置していました。その場所でダイオードが逆になっていると、5Vが出力されず、3.3Vが存在しないため、ボードは全く起動しません。一度に5枚の無音ボード、製造しないと気づく方法はありません。

そして、何もチェックしなかったチェッカー。 KiCadは、トラックが最小クリアランスを尊重しているかどうかを自動的に検証します。私の設定では最小クリアランスがゼロになっていました。実行され、エラーは報告されず、何もかも静かに承認されました。それは最悪の種類のバグです。あなたを安心させるツールです。

一度、役割が逆転し、それが私にかなりの喜びを与えました。私が、部品表の2つのコンポーネントが在庫切れであることを、それよりも先に発見したのです。それを、メーカーのカタログを照会し、各部品番号の在庫と価格を返す小さなプログラムに変え、二度と盲目的に行わないようにしました。部品番号は当然ではありません。注文日に再確認するものであり、前日に確認するものではありません。

納品

160ユーロのボード、そして何も起こらない

私はJLCPCBからボードを注文し、製造と実装を依頼しました。160ユーロで5枚の組み立て済みボードを手に入れました。1枚を自分で使い、残りはいとこや友人に配るのに十分です。その小包を開けるのは、プロジェクトの非常に良い瞬間のひとつでした。緑色のボード、鮮明で、コンポーネントは完璧に配置され、私の名前が書かれており、ソファで描いたファイルから作られたものです。

[画像: 完成した緑色のプリント基板。ESP32モジュール、microSDホルダー、端にあるいくつかの白いコネクタ、シルク印刷されたMarelleoという名前。]

JLCPCBから受け取ったボード、コンポーネント配置済み。シルク印刷された私の名前と、その下に手描きされた491本のトラック。

製造されたオブジェクトとの最初の接触:USBが挿せません。工場では、ソケットの下に小さな素材のストリップ、組み立て中にボードを固定するために使われるブレークアウェイタブが追加されており、到着時に自分で折る必要があります。30ユーロのボードを自分で折る勇気を出すのに、かなりの時間を要しました。

次に接続してテストします。そして何も起こりません。NFCリーダーのLEDは点滅しますが、フィギュアは認識されず、何も再生されず、ネットワークにも何も表示されません。何も。

15分間、自分が愚か者で、160ユーロを無駄なボードに費やしてしまったのだと自分に言い聞かせました。本当にひどい瞬間でした。それから、系統的に、ハーネスを一つずつ外して探しました。

原因は2本のワイヤーに絞られました。NFCリーダーのリボンケーブルの中央の2本の導線を入れ替えていました。シリアルリンクを伝送するそれらです。そのリンクは常にクロスオーバーします。一方が送信したものを他方が聞く必要があります。まっすぐ配線されていると、両端が同時に話し、誰も聞かないことになります。モジュールは起動し、LEDは元気に点滅しますが、決して応答しません。深刻に見えるが、単なる不注意による故障です。

そして、一番良い部分は最後にやってきます。ケーブルを修理しましたが、それでも機能しませんでした。2つの積み重なった理由のためです。まず、プログラムは起動時にリーダーを一度だけ質問するため、再起動するまで修理は目に見えません。第二に、USBが接続されている間は、スイッチは何もカットしません。なぜなら、それはバッテリーのトランジスタに作用し、USBは別の経路でボードに電力を供給するからです。そのため、私は再起動していないボードを「再起動」するのに時間を費やし、すでに完了した修理をテストしていました。

ケーブルを最終的に抜き差しし直すと、コンソールに待ち望んだ行が表示されました。

PN532 pret
bibliotheque : 4 figurine(s)
volume : 3 [3-21]

そして30秒間、何も聞こえなかったので、まだ壊れていると思っていました。音量ノブは、最低音量に設定されていました。デバッグの一日を音量問題で締めくくるのは、詩的な皮肉です。

しかし、それ以外は:ボードは一度で動作しました。再作業は一切なし。 飛んでいるワイヤーもなく、削るトラックもなく、交換する抵抗器もありません。3ヶ月前にはフットプリントが何かも知らなかった人が設計した最初のボードとしては、全く予想していませんでした。

残るは、今度こそ本番用にすべてを筐体に組み立てることでした。

ソフトウェア

「お父さん、それはもう聞いたよ」

その一言が、ソフトウェア全体のきっかけとなり、出発点に戻ってきました。カタログが固定された箱、たとえそれが私自身のカタログであっても、私が避けようとした問題と全く同じになります。コンテンツは私たちのものになる必要があり、ツール、ケーブル、そして私なしで変更できる必要がありました。

画面がないので、すべてウェブページを経由します

箱は自身のページを提供します。電話やコンピューターからブラウザのアドレスを入力すると、フィギュア、SDカード上の物語、そして現在再生中のものが表示されます。インストールするものも、更新するものも、アカウントもありません。

最初の起動時には、独自のWi-Fiネットワークを開きます。それに接続した電話は、ホテルのようにセットアップページを自動的に表示します。箱は、あらゆるドメイン名のリクエストに対して自身の住所に応答するため、電話は何も聞かれずにページを開きます。リストからネットワークを選択し、パスワードを入力すると、家に接続し、自身のネットワークを閉じます。

最初のバージョンでは、Bluetoothを使用していました。機能しましたが、専用アプリが必要で、配布したいオブジェクトとしては現実的ではありませんでした。そして、Bluetoothスタックはチップのメモリの300KB、つまり9%を消費し、箱の寿命で一度しか使用されませんでした。後悔なく捨てました。

あなた自身のMP3

ページからファイルを送信すると、SDカードに保存され、フィギュアに関連付けられます。フィギュアは好きなだけのトラックを、好きな順序で保持し、ループせずに最後まで再生されます。これにより、すべてが開かれます。子供たちに物語を語るために自分の声を録音したり、彼らが繰り返し要求する歌をかけたり、オンラインで見つけたものをドロップしたりできます。MP3とM4Aは、変換なしで電話やMacから出力される2つのフォーマットです。

一つのフィギュア、一つのURL、そしてそれはラジオになる

トラックはファイルである必要はありません。フィギュアにウェブアドレスを与えることができ、箱はそれに接続してストリームが到着するのを再生し、何も保存しません。接続を開き、小さな断片でオーディオを受信し、デコードしてアンプに送信し、常に数秒のバッファを保持してネットワークの不具合を吸収します。接続が切れても、数回再試行してから諦めます。なぜなら、家庭用Wi-Fiには穴があり、2歳児は音楽が止まった理由を理解する必要はないからです。

子供たちは木製の小さな人々の形をしたラジオ局を持っており、私はそれを非常に満足しています。

そして、Wi-Fi経由で自己更新します

これは私が最も誇りに思っている部分です。なぜなら、完成したオブジェクト特有の問題を解決するからです。箱はねじ止めされ、組み立てられ、リビングルームに置かれています。何かを修正したい場合、2週間に一度分解するわけにはいきません。そのため、独自の新しいバージョンを自動的に取得します。

プログラムに書き込まれた固定アドレスに問い合わせます。これは意図的にネットワークから変更できないようにされています。これはセキュリティ上の選択です。ソフトウェアを探す場所を指示されることを受け入れる箱は、何でもインストールすることを許可することになり、同じWi-Fiにいる誰でも十分です。

新しいバージョンが存在する場合、ページにボタンが表示されます。実行中のメモリ領域とは別のセカンドメモリ領域にダウンロードし、受信したファイルのフィンガープリントを確認し、すべてが正常な場合のみ切り替えます。したがって、転送中に停電が発生しても、ミュートになることはありません。最悪の場合、何もなかったかのように古いバージョンで再起動します。

ワークショップノート

セーフティネット、そして無駄だったであろう時間

これにより、閉鎖的なオブジェクトの悪夢が残ります。正しく起動するがネットワーク機能が壊れているバージョンです。それは有効であり、箱はそれに切り替わりますが、修正するパスはもうありません。そのため、試用期間があります。新しくインストールされたバージョンは、接続できることを証明する必要があります。ネットワークを見ることなく3回起動すると、箱はラジオがオンになる前に、自動的に前のバージョンに戻ります。

それはその価値を証明しました。 公開したバージョンが、家のネットワークを完全に認識しているにもかかわらず、セットアップポータルを再オープンしていました。ラジオが開始される前に保存された認証情報を読み込みすぎて、認証情報がないと判断していました。私は何もする必要がありませんでした。3回の起動後、自動的に前のバージョンに戻り、私はそれを自由に修理できました。

同じ種類の間違いですが、より面白いです。各箱は、ハードウェアアドレスの最後の4桁を伝えるネットワークを開きます。これにより、同じ家にある2つの箱は区別されたままになります。ただし、ラジオが開始される前にそのアドレスを読み取っており、その時点でゼロ6つで応答していました。世界中のすべての箱がMarelleo-0000と呼ばれることになっていました。

そして一度、ネットは何もできなかったでしょう。私の公開スクリプトは、プロトタイプの2つのハードウェアバリアントのうちの1つしかコンパイルしていませんでした。プリント基板は、もう一方のイメージを受け取ることになります。オーディオとSDカードのピン配置が入れ替わり、メモリは間違ったバスで探され、チップが8MBなのに16MBのメモリを発表するヘッダーが表示されます。最悪なのは、Wi-Fi自体は完全に機能していたため、試用期間でもそれを捕捉できなかったことです。健康だと信じながら、盲目になり、耳が聞こえなくなっていました。ボタンを押す直前にそれを見つけました。

最後に、詳細に興味がある人のために、もう一つエピソードがあります。ある日、エラーメッセージなしでアップデートが失敗し始めました。転送は開始され、進捗しましたが、箱は突然、静かに再起動しました。さて、静かな失敗は多くのことを物語っています。エラーがないということは、プログラムがエラーメッセージを書き込む時間がなかったことを意味します。停止せず、中断されたのです。ダウンロードタスクには8KBのスタックがあり、私は4KBのバッファを配置していました。セキュア接続の暗号化されたハンドシェイクのために何も残っていませんでした。沈黙そのものが手がかりでした。

それが何になったか

3人の子供、私が計画していなかった3つの使い方

これはプロジェクトの最高の瞬間であり、仕様にはありませんでした。それぞれが箱を自分のものにし、その3つの使い方のどれも私が想像していたものではありませんでした。

[動画]

フィギュアが上にあり、物語が再生されています。他のオブジェクトの中に紛れていても、場違いには見えず、それが私が求めていたすべてでした。

7歳

一つのフィギュアに音楽プレイリスト、別のフィギュアに物語、そして昆虫に関するポッドキャスト。彼女が選び、追加を要求し、自分のカタログを実行します。

5歳

物語。たくさんの物語を、一つのフィギュアに最後までチェーンでつなぎ、私が暗記するまで繰り返し再生します。

21ヶ月

彼女の子守唄と、ライブの幼児向けポッドキャスト。France InterとRadio Pomme d'Apiに感謝します。

一つのフィギュア、一つのジェスチャー、そしてそれぞれが同じ箱の中に自分自身の箱を持っています。それがまさに私が最初に求めていたことであり、カタログではなくソフトウェアを通して実現しました。その違いは一文に収まります。コンテンツを売ってくれる人もおらず、誰にも奪われることはありません。

副次的損害

3Dプリンターを買い、地下室にワークショップを作った

予期していなかった結果が一つあります。それは箱に関するものではありません。

Françoisの親切に真剣に甘え始めていました。彼のプリンターが私のすべての筐体を生産してくれたからです。そして何よりも、私はこれすべてを非常に楽しんでいました。夜、週末、2ミリのフィレットやポケットの深さに執拗にこだわる、完全に弁解できない時間。これは私の最後の電子プロジェクトにはならないだろうと決めました。なぜなら、私はそれを本当に愛しているからです。そこで、Bambu Lab A1を購入しました。

役に立つ購入だと自分に言い聞かせました。買い直さなくなるスペアパーツ、捨てる代わりに修理するおもちゃ、カスタムストレージ。すべて本当です。しかし、それが理由ではありませんでした。

そして、リビングルームに設置しました。幅0.5メートルの機械が、吹き付け、振動し、14時間連続で稼働し、熱いプラスチックの匂いを放ちます。Marceauが歩き方を学んでいる部屋の真ん中に。当時は完全に合理的だと思われました。私は有無を言わさずドアから追い出され、完全に当然のことでした。生産ユニットをリビングルームに設置するものではありません。

[画像: 3Dプリンターのノズルがベッドに溶けたプラスチックを敷いている様子。]

プリンターが動くのを見るのは罠です。5分座っていると1時間失います。

そこで、メインラインを地下室まで引き込み、そこにプリントステーションを設置しました。そして、それは想像以上に素晴らしいです。ソファからプリントを開始し、2階下の暗闇で実行され、翌朝部品を取りに行きます。上の階では騒音と熱いプラスチックの匂いはなくなり、リビングルームはリビングルームのままでした。筐体の5番目のバージョンはそこから生まれました。それが最初の写真にあるものです。

すべてオンラインです

もしあなたが作りたいなら

必要なものはすべて公開リポジトリに置きました:github.com/Zebra-Rodeo/marelleo。

プリントする3つの筐体部品、JLCPCBにドロップできるボードの製造ファイル、部品表と部品位置、ファームウェアソース、そしてゼロから始まるドキュメント:何を買うか、いくらで買うか、どのような順序で進めるか、モジュールバージョンのピン配置、そして私に何時間もかかったトラップ。すべてMITライセンスなので、好きなようにしてください。

はんだ付けなしで進められるブレッドボードバージョンから始めることができます。そして、バグにハマったらボードを注文すればいいのです。それが私が取った道であり、お勧めする道です。ブレッドボードは、間違えても何もコストがかからない場所です。

そして、それを使用するには2つの方法があります。ファイルをたどってそのまま再構築し、私の子供たちが持っているのと同じ箱を手に入れる。または、それを出発点として使用します。異なる筐体、異なるスピーカー、異なるボタン、好みに合わせて変更されたコード。その場合、知っておくべきことは一つだけです。それはリポジトリに大きな文字で書かれています。ファームウェアはその正確なアセンブリ用に書かれており、ピン配置はコード内にあり、ワイヤーが移動すると変更すべき行が発生します。私はそれをフラグ付けしました。なぜなら、それは一晩中バグを探させるような詳細だからです。

もしあなたが一つ作るなら、ぜひ見せてほしいです。

名前

Marelleoの名前の由来

フランス語でホップスコッチを意味するmarelleから。足を四角に置いて前進するゲームです。しかし、主にMarceau、Ella、Léonieにちなんでおり、この箱は彼らのものです。

プリンター、アドバイス、そして忍耐強くくれたFrançois Lagunasに感謝します。そして、数ヶ月間このプロジェクトを夜と週末に広げて過ごし、一つの議論も出ないうちにプリンターの購入に賛成してくれた妻に感謝します。