「LEGO」タグアーカイブ

長男くん の大型作品

HomeMadeGarbage Advent Calendar 2021 |17日目

 

全長 79cmの大型作品をレゴで作りました。
過去最大級の作品です。

 

巨大な生物を造る実験の失敗作

骨だけの生物
体は虫のような胴体と融合している。
420メートル

全生物に敵対して、角や足や口からのビームの威力は半端じゃない
もちろん負けたこともない。

今は氷河期など色々な時代に遅れて絶滅している。

 

一生懸命 製作中

メカナムホイールでLEGOラジコンカー製作

DFRobot様よりメカナムホイールをいただきましたので、ラジコンカーを製作してみました。

 

 

思想

非常によいメカナムホイールが手に入ったので、これをどう利用しようかとウキウキで考えました。

長男くんはずっとLEGOが大好きで毎日いろいろ製作しています。

長男くん のレゴ作品集

 

そこで、折角ですのでLEGOで色々カスタマイズできるラジコンにしようと思います。

 

構成

メカナムホイールはレゴを接続できる360°回転サーボで回すことにしました。

サーボとしても低価格で非常に良い買い物をしました♪

 

ホイールとサーボの接続のために3Dプリンタで治具を製作しました。

 
 
サーボの制御にはM5StickCとM5StickC 8Servos Hatを用いました。

 
M5StickCとM5StickC 8Servos Hatによるビークル制御は以前試しているので慣れたものです。

M5StickC 8Servos Hat でラジコンを堪能

 

車体

車体はLEGOで構築しました。

 

Blynk設定

ここではスマホアプリのblynkでBLE通信で車体を動かします。

 

新規プロジェクトを作成します。ハードウェアはESP32 Dev Boardを選択。Conection TypeにはBLEを指定します。
AUTH TOKENはArduinoコード生成時に使用します (アカウント登録したメールに送信されます)。

 

ウィジェットとしてBLEウィジェットとNumeric InputウィジェットとJoystickウェジットを配置します。

 

Numeric InputウェジットはV1を使用します。
メカナムホイールの回転速度を決定します (0~90)。

 

JoystickウェジットはバーチャルピンV0を使用します。

ジョイスティックの設定はx軸とy軸の出力をMERGEしてヴァーチャルピンV0に出力させ、それぞれ値は-100~100としました。

AUTO RETURNはONにしてジョイスティックはタップ移動後離すと自動的に中央に戻します。
ROTATE ON TILTはOFFにてスマホの回転に依存せずのx, y軸を固定とします。

 

メカナムホイール動作

Arduinoコード

ジョイスティックのx, y値をM5StickCで受けて角度に変換してディスプレイ表示しています。
角度のディスプレイ表示は以下のM5StickCのサンプルコードTFT_Pie_Chartを利用しました。

8Servos Hatのサンプルコードを元に制御しております。 

 

 

動作

 

おわりに

憧れのメカナムホイールを用いてレゴカーができました!

あとは長男くんに自由にカスタマイズしていただきましょう。

長男くん のレゴ作品集

長男くん 一年ぶりのブログです。
今回はレゴで作った作品を紹介してくれています。
作品撮影の際にもポーズをとったり画角にこだわったり一生懸命やってくれました。

口頭にて作品説明を受けましたので文字おこしさせていただきました。

お父ちゃん

SCP-6789 サイレンヘッド

トレバー・ヘンダーソンによって作られたサイレンの頭をした巨大な人型生物

 

SCP-096 シャイガイ

シャイガイの顔を見た者はどこまでも追いかけて殺してくる。。

 

オリジナルの武器の巨大な骨です。

 

デス・アイズ・エンペラー

オリジナルのレゴで作ったドラゴンです。
人に友好的なヤツもいるし、人に敵対してるヤツもいる。

体長 56メートル
火を吐くことはできるが水を吐くことはできない。
巨大な羽根で飛ぶことができる。

 

ジャイアント・デビル

オリジナルです。

260メートル。
コイツの骨は入ってないが、肉が凄くかたいから骨なんか必要ない。

 

骨がないため、体が自由自在にあやつれる。
たまに足で人を捕まえて食べることがある。

Sipeed Maixduino を購入 ーエッジAI活用への道 1ー

我が家でもエッジAIなるものを活用してみたくSipeed Maixduinoというものを購入してみました。

ここではMaixduinoの初期設定から開発環境の導入までを記載いたします。

 

 

Maixduinoとは

Sipeed 社のK210搭載AI開発ボードです。2.4インチLCDとカメラモジュールがついて非常にお買い得な商品です。ESP32も搭載されております。

 

Arduinoのようにピンヘッダもついていますので入門としては最適ではないでしょうか。

参考

ファーム更新

Maixduinoのファームウェアアップデートはkflash_guiというソフトで実施します。私はバージョン1.5.3を用いました。

ファームウェアは以下より入手します。
 https://github.com/sipeed/MaixPy/releases

私はバージョン0.3.2を用いました。maixpy_v0.3.2_minimum.binをダウンロードしました。

先ほど入手したkflash_guiを起動しFileで.DLしたbinファイルを指定します。ボードとシリアルポートを設定後 “Download”クリックでファーム更新されます。

maixpy_v0.3.2_full.binを書き込むとメモリ不足で動きませんでした。

参考

MaixPyでカメラとLCDのテスト

MaixduinoにはMaixPyというK210向けのMicropython環境がすでに搭載されています。MaixduinoとPCをUSB接続してシリアル通信で実行可能です。

私はWin10PCでTera Termで楽しみました。ポートとボーレート(115200)を指定するのみで使用できます。

Pythonのように対話形式での利用も可能ですがctrl+eでコードまるごと貼り付けできctrl+dで実行されます。
 

以下のカメラで撮った画像をLCDに表示するコードを実行してみました。

LEGOでケース製作

ちょっとカメラやLCDのフレキがプラプラですごく扱いにくいのでLEGOでケースこしらえました。

かなり扱いやすくなりました♪

MaixPy IDE

シリアルでコード入力しつつけるのもつらいのでやはりIDEを導入したく。いろいろな開発方法があるようで何を使っていいかわからなかったのでツイッターでアンケートを取ってみました。

MaixPy IDEの人気が高かったので早速導入しました!

MaixPy IDE導入

バージョン0.2.3をインストールしました。

maixpy-ide-windows-0.2.3.exe をDLしてインストールしました。

  • MaixPy IDEを起動して”ツール”クリック -> “Select Board”選択 -> “Sipeed Maixduino”選択
     
  • 接続アイコンをクリックしてボードのUSBポートを指定します。接続後アイコンは緑から赤になります。

     
  • コードを記載してスクリプト実行アイコンクリックで開始されます。
     

     

     
  • コードをMaixduinoのフラッシュに書き込むには
    “ツール”クリック -> “Save open script to board(boot.py)”クリックで実施されます。

顔認識サンプルコード

顔認識コードを試してみました。

学習済み顔認識モデル face_model_at_0x300000.kfpkg をkflash_guiであらかじめ書き込んでおきます。 

ほぼサンプルコード通りに書き込みましたが、カメラとLCDディスプレイの位置関係によって表示画像の回転やミラー反転が必要でした。

lcd.direction(lcd.YX_RLUD)

上記をlcd.init()後に挿入しました。
R, LとU, Dの位置を変更することでLCD表示画像が回転したりミラー反転します。

 

参考

 


 

今後の夢

将来的には以下のようなシステムを構築したいと思います。雑でアレですが。。
金魚水槽にエッジAIを組み込んで素敵なシステムを実現したいです。

まだできるかどうかもわかりませんがこの道もひたむきに進むのみです。

参考