「アイロンビーズプロッター作ろうとしてみた with プロ生ちゃん」 プロ生勉強会 第44回@熊本

335 views

Published on

プロ生勉強会 第44回@熊本 発表資料

Published in: Engineering
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
335
On SlideShare
0
From Embeds
0
Number of Embeds
292
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

「アイロンビーズプロッター作ろうとしてみた with プロ生ちゃん」 プロ生勉強会 第44回@熊本

  1. 1. アイロンビーズプロッター作ろうと してみた きりん (@kirin_nico) 2016/11/5 プログラミング生放送勉強会 第44回@熊本
  2. 2. こういうのを自動でやりたいという話
  3. 3. 某zjさんからの1週間くらい前のツイート
  4. 4. やったるか
  5. 5. 自己紹介
  6. 6. 自己紹介 • HN • きりん (@kirin_nico) • 主な活動場所 • プロ生/ニコニコ技術部/ Twitter • 言語 • C#/Lua • (お仕事:TCL/C/asm/Verilog HDL/Perl) • 電子工作・画像処理系プログラミングが好き
  7. 7. 自己紹介 座右の銘 「お酒は友達 二日酔いは親の仇」
  8. 8. 主な活動 • 「必ず6が出るサイコロ」 • 6面がLEDで構成されているサイコロ • センサにより上面を検知、上面の目を6にする
  9. 9. 主な活動 • 「きのこたけのこ判別器」 • きのことたけのこを画像処理で判別 • 判別した2種をアームロボットで自動仕分け
  10. 10. アイロンビーズとは
  11. 11. アイロンビーズとは • こういうの 画像:パーラービーズ http://www.diablock.co.jp/perlerbeads/
  12. 12. アイロンビーズとは • 樹脂チューブを並べてドット絵を作る • アイロンで加熱することで軟化する • 日本ではパーラービーズのものが有名 • 直径5mm×長さ5mm • おもちゃ屋や大型電気量販店で買える
  13. 13. アイロンビーズとは • うまいこと重ねると立体も作れる 画像:パーラービーズ http://www.diablock.co.jp/perlerbeads/
  14. 14. アイロンビーズ作品制作に必要なもの アイロンビーズ プレート アイロンシート アイロン 画像:パーラービーズ http://www.diablock.co.jp/perlerbeads/
  15. 15. 手で作ってみた • 16×16、8色で30分ちょい プロ生ちゃん ドット絵素材 16x16 16色 プロ生ちゃん アイロンビーズ 16x16 8色 (制服の色がない…)
  16. 16. 本題
  17. 17. やりたいこと • ドット絵からビーズをプレートに自動 で配置したい • 仕様 • ビーズは16色以上 (プロ生ちゃんドット色数) • プレートは正方形で29×29個置けるもの (“しろプレートL”のサイズ) • PCで画像処理、マイコンで制御、ハードで ビーズ配置
  18. 18. 構成 マイコン 電子回路 自作ハードPC PCからの指令により ハード(モーターや センサ)の制御を行う 物理的にビーズの選択、 プレートへの配置を行う ドット絵の解析を行い、 リサイズ、減色最適化、 ドット情報の取得、マイ コンへの指令を行う
  19. 19. 処理フロー 混ざった ビーズの 色分け等 指定色の 取り出し 指定位置 へ配置 色の指定 制御 位置指定 制御 ソフト動作 (マイコン) ハード動作 ドット絵の 色と位置 情報解析 1ドット 情報取得 ソフト動作 (PC) 色指定 位置指定 終了 確認 ハードの制御 ビーズの選択・配置 ドット絵の解析 ハードの 初期化制御
  20. 20. ハードウェア
  21. 21. ハードウェアの仕様 • 16色以上のビーズから1色を取り出し、 14.5x14.5cm以上の範囲で任意の位置に 配置する • 必要な機能 1. 同色ビーズを揃える (今回は手でやる) 2. 任意色のビーズを1個”だけ”取り出す 3. 1個のビーズを任意位置に配置する
  22. 22. ハードウェアの構想 • 適当に考えてみる
  23. 23. ハードウェアの構想 • 適当に考えてみる 任意の色の ビーズを取り 出す機構 任意の位置に ビーズを配置 する機構
  24. 24. ハードウェアの設計 • 適当にCADで設計してみる
  25. 25. ハードウェアの設計 • 適当にレンダリングしてみる
  26. 26. ハードウェアの設計 • 試しに3Dプリンタで出力してみる
  27. 27. ハードウェアの設計 • 動かしてみる https://youtu.be/kOgUdHDGOJI
  28. 28. ハードウェアの設計 • 動かしてみる https://youtu.be/PaOhTc_3me8
  29. 29. PCのソフトウェア
  30. 30. ソフトウェアの仕様 • 29x29pixel以下(プレート仕様)の画像を 減色・最適化を行ってビーズの色に合わせ、 1ドットずつ色情報と座標情報を送信する • 必要な機能 1. 画像のリサイズ・切り出し 2. 画像の減色・最適化 3. 各ドットの情報取得 4. マイコンボードとの情報送受信 これが面倒くさそう
  31. 31. 1. 画像のリサイズ・切り出し • 29x29ドットよりも大きい場合はリサイ ズもしくは切り出しを行う • どっちもできるようにする予定 • 自分でドットを打てるようにもする?
  32. 32. 2. 画像の減色・最適化 • 画像を16色(もしくは用意できている色 数)に減色し、ビーズの色に最適化する • 減色アルゴリズムはたくさんあるが今回の ユースケースに合った最適化も含めて考えな ければならない
  33. 33. 2. 画像の減色・最適化 • 思いついた最適化方法 • 単純に減色して一番近い色のビーズを当てる • クラスタリングをしていい感じの減色をする 使える ビーズ
  34. 34. 3. 各ドットの情報取得 • 各ドットの色情報と座標情報を取得する • 配列を走査していくだけなので簡単 X=6, y=0 RGB=0x000000 X=7, y=0 RGB=0x000000
  35. 35. 4. マイコンボードとの情報送受信 • マイコンボードに色・座標情報の送信、マ イコンボードから応答などの情報を受信 • シリアルポートを使う • C#ならSerialPortクラスがあるので簡単
  36. 36. マイコンのソフトウェア と電子回路
  37. 37. マイコンまわりの仕様 • PCソフトウェアから位置情報と色情報を 受け取り、ハードウェアを制御する • 必要な機能 1. PCとの情報送受信 2. モーター制御信号の出力 3. センサ情報取得
  38. 38. マイコンボード • Arduinoあたりを使う予定 • 簡単なプログラムで信号の入出力が可能 • PCとUSBで接続できる • 家に互換品がたくさんある
  39. 39. マイコンまわりの構成 マイコン モータードライバ 電源 ステッピング モーター リミットスイッチ PC モーター制御 センサ情報
  40. 40. 今後の予定
  41. 41. 今後の予定 • 画像処理ソフト • なんとかする • マイコンボード・電気回路 • なんとかする • ハードウェア • なんとかする
  42. 42. 今後の予定 • 画像処理ソフト • ちゃんと作る • マイコンボード・電気回路 • 制御プログラムと回路作成 • ビーズの色をカラーセンサで自動取得 • ハードウェア • モーターなど駆動部の追加
  43. 43. 今後の予定 アイロンビーズ作品を作ってマスコット アプリ文化祭に登録できたらいいな
  44. 44. ご清聴ありがとうございました!

×