Androidのメモとか

ポキオの日記です。今日も遅延してない。

GeekservoでLEGOを自走させてみた

うごくぞー!

ポキオ Geekservo LEGO サーボモーター

LEGO、いいよLEGO

先日、LEGO互換のサーボモーターと手に入れてニヤニヤしていました(笑)

relativelayout.hatenablog.com

せっかくなので、これをLEGOで作ったクルマに取り付けてみて、走らせてみます。

車体はこんな感じ

もう購入から20年近く経っているLEGOをかき集めて、こんな感じの車体を作りました。

ポキオ Geekservo LEGO サーボモーター

サーボモーターに中くらいのタイヤを直付けしています。このタイヤはLEGO TECHNIC用のやつなので、シャフトが刺さるようになってます。

ポキオ Geekservo LEGO サーボモーター

フロントのタイヤは小さめのタイヤに、自由に回転するパーツを組み合わせることで、小回りが効くようになっています。ステアリング自体をサーボモーターで制御するのではなく、リアにある2つの独立したサーボモーターを制御することで左右に曲がれるようにしています。

マイコンを載せて、走り初め!

この車体に、Arduino UNOと、モバイルバッテリーを積んで、サーボモーターと接続してみます。

[asin:B0044X2E5S:detail]

この投稿をInstagramで見る

#LEGO を #Arduino で走らせてみた。なんかかわいい。

pokio(@pokiiiiio)がシェアした投稿 -

後述のコードをArduino UNOに焼くと、こんな感じで走ります。今回は、動き方自体をハードコードさせているので、ラジコンのように意のままに動かすことはできませんが、通信部材がついているような別のマイコンで動かせれば、ラジコン的な使い方も可能です。

というわけで、

とりあえず、チョッパやで作ってみました。

  • サーボモーターに個体差があり、回転速度が異なる
  • マイコンとモバイルバッテリーをオシャレに取り付けたい
  • USBケーブルが長くてダサい

など、いろいろ改善の余地はありますが、まずは動いたのでOKとさせてください(笑)

コードはこんな感じ

A0A1につないでますが、多分どのピンでも大丈夫なはずです。

#include <Servo.h>

Servo servo1;
Servo servo2;

void setup() {
  servo1.attach(A0);
  servo2.attach(A1);
}

void loop() {
  servo1.write(0);
  servo2.write(180);
  delay(2000);

  servo1.write(90);
  servo2.write(180);
  delay(2000);
  
  servo1.write(180);
  servo2.write(0);
  delay(2000);

  servo1.write(180);
  servo2.write(90);
  delay(2000);
}

レゴ(LEGO) テクニック ランドローバー・ディフェンダー 42110

レゴ(LEGO) テクニック ランドローバー・ディフェンダー 42110

  • 発売日: 2019/10/04
  • メディア: おもちゃ&ホビー

「Androidのメモとか」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。

このブログは個人的なメモ書きであったり、考えを書く場所であります。執筆者の所属する団体や企業のコメントや意向とは無関係であります。また、このブログは必ずしも正しいことが書かれているとは限らず、誤字脱字や意図せず誤った情報を載せる場合がありえます。それが原因で読者が不利益を被ったとしても、執筆者はいかなる責任も負いません。ありがとうございます。