Raspberry Pi 4とステッピングモーターでお絵描き玩具「Etch A Sketch」を自動化してみた
2024/05/28 06:30
Raspberry Piとステッピングモーターを使用して、お絵描き玩具「Etch A Sketch」で自動描画できるようにするプロジェクトをRaspberry Pi公式ブログが紹介した。
Etch A Sketchは1960年に発売された玩具で、映画「トイ・ストーリー」に登場したことでも知られている。薄いグレースクリーンの内側はアルミニウム粉末でコーティングされており、粉末は凝集防止のため、小さなプラスチックのビーズと混合されている。本体前面下部の左右にあるダイヤルを使用してスタイラスを動かすと、スタイラスがスクリーン内側の粉末をこすり取る。
すると、粉末がこすり取られた部分はスクリーン上では黒い線に見えるので、ダイヤルを動かすとお絵描きができるという仕組みだ。本体の上下をひっくり返して振ると、黒く見える部分にアルミニウム粉末が付着しビーズが粉末をならしていくので、それまでに描いたものは消えてまたお絵描きができるようになる。
このプロジェクトでは、Etch A Sketchのダイヤルにアダプターとステッピングモーターを取り付けて、ダイヤルに触らなくても描きたい絵を自動的に描画できるようにしている。
ステッピングモーターの制御にはRaspberry Pi 4を使用。画像をEtch A Sketchのスクリーンサイズにフィットするようリサイズした上でカラーからモノクロに変換し、黒いピクセルを描画領域としてトレースしていく。描画に適したルートを経路探索アルゴリズムが決定し、テキストファイルに指示を保存してRaspberry Piに送信し、Raspberry Piがステッピングモーターを制御してダイヤル操作する仕組みだ。
最初のモデルでは、左右それぞれのダイヤルを取り外すと露出する小さなノブに、3Dプリントしたアダプターとステッピングモーターを取り付けることにした。本体フレーム下部に3Dプリントしたベースプレートを乗せてステッピングモーターを固定しようとしたが、ベースプレートの長さを誤って計算していたうえ、用意したステッピングモーターではうまく動作しなかったという。
そこで、Nema 17ステッピングモーターを購入し、ベースプレートの両端にモーターをそれぞれ4個のねじで留めて固定するようにした。また、左右のダイヤルを毎回取り外してノブにモーターを取り付けるのは面倒なので、ダイヤルにアダプターをかぶせてステッピングモーターと接続する方式に変更したが、アダプターの完成までには試行錯誤を繰り返したという。
公開されたYouTube動画では、最終バージョンで犬の絵を完全に描くまでに2分程度を要していることが確認できる。