Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ルンバをハックする話

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for MEMETAN MEMETAN
February 19, 2021

 ルンバをハックする話

Avatar for MEMETAN

MEMETAN

February 19, 2021
Tweet

More Decks by MEMETAN

Other Decks in Programming

Transcript

  1. 今までに作ったものを紹介① 未 踏 ジ ュ ニ ア で 作 っ

    た 自 作 の ノ ー ト パ ソ コ ン ◆筐体は透明アクリル板を使用。 エンジニアカフェのレーザーカッターに かなりお世話になりました︕ ◆トラックパッドの部分にはラズパイを 接続した5インチタッチパネルを使用 しました。制御ソフトも⾃作しました。
  2. 今までに作ったものを紹介② Robloxの ゲ ー ム ◆Robloxというゲームプラットフォームの ゲームで遊ぶのが⼤好きです。 Robloxではたくさんのゲームが公開されて いて、開発環境も提供されているので ⾃分でゲームを作ることができます。

    (言語はluaベース) ⼤⼈数で遊べる最新作 「おにごっこ」→ マイクラ風サンド ボックスゲーム 「Blockey」↓ ゴミ拾いゲーム 「Garbage Simulator」→ このほかにも沢山つくっています
  3. 作成したコマンドを紹介 • さきほどのcurlから実⾏できる⾃作コマンドの仕様をまとめてみまし た。(現在も拡張中) • もし⾒たい⼈がいるならプログラムをGitHubに公開したいなと思いま す。 { " C

    o n t r o l T y p e " : 0 , " B r u s h T y p e s " : [ ] , " M o v e m e n t " : { " D I R " : 0 , " R O T " : 0 } , " L E D " : { " C o l o r " : 0 , " P o w e r " : 0 , " D i r t " : 0 , " M a x " : 0 , " C l e a n " : 0 , " S p o t " : 0 , " S t a t u s " : 0 } } | | | | C o n t r o l T y p e | 中 に D I R と R O T の I N T の 値 が 必 須 L E D の 操 作 こ の 中 に あ る L E D が な い 機 種 も あ る 。 ( C o n t r o l T y p e 2 で 使 用 ) 0 : ブ ラ シ の 操 作 | D I R は 位 置 C o l o r P o w e r D i r t M a x C l e a n S p o t S t a t u s の I N T が 必 須 1 : 動 き | R O T は 角 度 C o l o r : 0 ~ 2 5 5 の 値 、 0 は 緑 色 , 2 5 5 は 赤 色 メ イ ン L E D の 操 作 の 値 の 一 つ 。 2 : L E D | ル ン バ を 移 動 さ せ る ( C o n t r o l T y p e 1 で 使 用 ) P o w e r : 0 ~ 2 5 5 の 値 、 0 は 無 効 、 2 5 5 で パ ワ ー 最 大 。 メ イ ン L E D 操 作 の 一 つ 。 操 作 す る ブ ラ シ 一 覧 ( C o n t r o l T y p e 0 で 使 用 ) D i r t : 0 / 1 の 値 、 0 無 効 1 有 効 D i r t L E D の 操 作 。 ( 青 色 ) 1 : S I D E ブ ラ シ M a x : 0 / 1 の 値 、 0 無 効 1 有 効 M a x L E D の 操 作 。 ( 赤 色 ) 2 : バ キ ュ ー ム C l e a n : 0 / 1 の 値 、 0 無 効 1 有 効 C l e a n L E D の 操 作 。 ( 赤 色 ) 3 : M A I N モ ー タ ー S p o t : 0 / 1 の 値 、 0 無 効 1 有 効 S p o t L E D の 操 作 。 ( 赤 色 ) # # こ こ か ら 特 殊 S t a t u s : 0 / 1 / 1 0 / 1 1 4 : ( 1 ) 必 須 S I D E ブ ラ シ を 反 転 さ せ る 0 : O F F 5 : ( 3 ) 必 須 M A I N ブ ラ シ を 反 転 さ せ る 1 : 赤 1 0 : 緑 1 1 : 中 間
  4. ドックに戻るプログラムの動作 • ちゃんとドックに帰ってくれました︕ w h i l e ( T

    r u e ) : d a t a = s e l f . s e n s o r s ( [ I N F R A R E D _ B Y T E , C H A R G I N G _ S O U R C E S _ A V A I L A B L E ] ) i f d a t a [ C H A R G I N G _ S O U R C E S _ A V A I L A B L E ] ! = 0 : s e l f . g o ( 0 , 0 ) t i m e . s l e e p ( 1 ) d a t a = s e l f . s e n s o r s ( [ I N F R A R E D _ B Y T E , C H A R G I N G _ S O U R C E S _ A V A I L A B L E ] ) i f d a t a [ C H A R G I N G _ S O U R C E S _ A V A I L A B L E ] = = 0 : # # O o p s , I t ' s n o t c h a r g i n g ! T h i s h a p p e n s s o m e t i m e s . R e t r y : s e l f . g o ( - 2 0 , 0 ) t i m e . s l e e p ( 1 ) c o n t i n u e b r e a k i f d a t a [ I N F R A R E D _ B Y T E ] = = 0 : c o n t i n u e # N o I R D a t a r e c i v e d i f d a t a [ I N F R A R E D _ B Y T E ] = = 1 7 2 o r d a t a [ I N F R A R E D _ B Y T E ] = = 1 7 3 : # p r i n t ( " T i m e t o g o ! " ) s e l f . g o ( s p e e d , 0 ) # t i m e t o g o i f d a t a [ I N F R A R E D _ B Y T E ] = = 1 6 8 o r d a t a [ I N F R A R E D _ B Y T E ] = = 1 6 9 : s e l f . g o ( 0 , s p e e d ) # T o o R i g h t i f d a t a [ I N F R A R E D _ B Y T E ] = = 1 6 4 o r d a t a [ I N F R A R E D _ B Y T E ] = = 1 6 5 : s e l f . g o ( 0 , 0 - s p e e d ) # T o o L e f t ↑プログラムの一部
  5. ほかにやりたいこと • ラズパイ4を何個か用意出来たら、スパコンをつくってみたい • M5Stackのカメラでセキュリティシステムを作っているので拡張したい • ロボットアームを使ってみたい • 音楽も作ってみたい •

    少し前にM5Stackで作ったビデオとオーディオのストリーミングを改良し たい • VRのアプリを作りたい • レゴマインドストームを使いたい • 光造形の3Dプリンタがほしい • スマート体重計を作りたい • ドローンを拡張改造してみたい や り た い こ と ば か り で お ⾦ が あ り ま せ ん ︕ 笑