工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduino Unoで作る自動発射レゴ・スターウォーズ砲台

必要な部品と材料

部品数量備考
Arduino UNO1互換ボードでも可
SG90 マイクロサーボモーター4砲台のトリガーを引く用
ジャンパーワイヤー1式
レゴ・スターウォーズ 発射式キャノン4
ブレッドボード1

必要な工具と機器

使用するアプリとオンラインサービス

プロジェクト概要

レゴの大砲を自動で発射させるプロジェクトです。レゴ遊びとArduinoが好きなので、自由時間に作ってみました。サーボモーターのホーンが回転してレバーを叩き、キャノンを発射させます。初心者の最初の、あるいは2つ目・3つ目のプロジェクトとして最適です!

ステップバイステップで作り方を解説します。

ステップ1: ハードウェア

ステップ1 パート1: ハードウェアの基本

まずブレッドボードのプラス側レールに5V、マイナス側レールにGNDを接続します。

Arduino Unoで作る自動発射レゴ・スターウォーズ砲台

ステップ1 パート2: サーボ#1の接続

サーボには3本の線があります:

Arduino Unoで作る自動発射レゴ・スターウォーズ砲台

ステップ1 パート3: 残り3台のサーボ接続

コツを掴めば残りも簡単です。ただし、コード内で指定したデジタルピンと実際の配線を一致させる必要があります。例えばコードに secondCannon.attach(8); とあれば、2台目のサーボ信号線はD8に繋ぐ必要があります。同様に3台目はD6、4台目はD9です。順序は自由に変更可能ですが、ハードウェアとソフトウェアの両方を変更して整合性を保ってください。

提供コードに合わせた最終的な配線図は以下の通りです。

Arduino Unoで作る自動発射レゴ・スターウォーズ砲台

これでハードウェア部分は完了です!

ステップ2: ソフトウェア

ページ下部のコードをArduinoスケッチにコピペして書き込んでください。Servo.h ライブラリが必要です(未インストールの場合はライブラリマネージャから導入)。以下、コードの要点を解説します。


#include <Servo.h>
Servo firstCannon;  // 1台目をサーボとして定義
Servo secondCannon;
Servo thirdCannon;
Servo fourthCannon;

Servo.h をインクルードし、4門のキャノンをサーボオブジェクトとして定義。180度回転可能なモーターとして扱えます。


void setup() {
    Serial.begin(9600);
    Serial.println("Defend the Clones! Set up the defenses!");
    firstCannon.attach(7);   // D7に1台目接続
    secondCannon.attach(8);  // D8に2台目
    thirdCannon.attach(6);   // D6に3台目
    fourthCannon.attach(9);  // D9に4台目
}

setup() は起動時に1回だけ実行。シリアル通信開始、メッセージ出力、各サーボのピン割り当てを行います。


void loop() {
    Serial.println("Beginning firing sequence");
    firstCannon.write(180); delay(100); firstCannon.write(0); delay(1000);
    secondCannon.write(180); delay(100); secondCannon.write(0); delay(1000);
    thirdCannon.write(180); delay(100); thirdCannon.write(0); delay(1000);
    fourthCannon.write(180); delay(100); fourthCannon.write(0); delay(1000);
    Serial.println("All cannons fired");
    Serial.println("Prepare for reload");
    delay(10000); // 10秒リロード待機
    Serial.println("Reloading Complete. Preparing to fire again");
}

loop() は無限繰り返し。各サーボを順番に180度回転→元の位置へ戻す(発射→リロード動作)を実行し、全門発射後10秒待機して繰り返します。

コード書き込みで問題があればコメント欄で質問してください。動作確認できたら次のステップへ。

ステップ3: 取り付け

レゴキャノンとテープを用意します。キャノンはこんな形状です。

Arduino Unoで作る自動発射レゴ・スターウォーズ砲台

コードを実行し、サーボがどちらの方向に回るか確認してください。サーボをキャノンにテープで固定し、サーボホーンの軌道がキャノン上部のレバー(写真参照)に確実に当たるように位置合わせします。

お疲れ様でした!これでプロジェクト完成です。質問があればコメント欄へどうぞ。

気に入ったら、私の他のプロジェクトもチェックしてみてください:

ソースコード

Lego Gun Shooter Code (C/C++)


#include <Servo.h>
Servo firstCannon;
Servo secondCannon;
Servo thirdCannon;
Servo fourthCannon;
void setup() {
    Serial.begin(9600);
    Serial.println("Defend the Clones! Set up the defenses!");
    firstCannon.attach(7);
    secondCannon.attach(8);
    thirdCannon.attach(6);
    fourthCannon.attach(9);
}
void loop() {
    Serial.println("Beginning firing sequence");
    firstCannon.write(180); delay(100); firstCannon.write(0); delay(1000);
    secondCannon.write(180); delay(100); secondCannon.write(0); delay(1000);
    thirdCannon.write(180); delay(100); thirdCannon.write(0); delay(1000);
    fourthCannon.write(180); delay(100); fourthCannon.write(0); delay(1000);
    Serial.println("All cannons fired");
    Serial.println("Prepare for reload");
    delay(10000);
    Serial.println("Reloading Complete. Preparing to fire again");
}

回路図

Arduino Unoで作る自動発射レゴ・スターウォーズ砲台

製造プロセス

  1. 万能ダクトテープ:強度、柔軟性、日常用途
  2. セロハンテープ:歴史、製造、環境影響
  3. Bluetooth操作のArduinoスパイボットを自作する
  4. FlickMote:ジェスチャー操作のIRリモコンでスマートホームを制御
  5. 自作Arduino TV-B-Gone:全テレビ対応の万能リモコン
  6. 12メートル先から見える大型LEDマスタークロック(アラーム機能付き)を自作しよう
  7. 巨大レゴミニフィグ・アニマトロニクス「オペレーション」ゲームをArduinoで自作
  8. ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」
  9. SunGlass-BOT:光量に合わせて自動でレンズを開閉するスマートサングラス
  10. Arduinoプロジェクトのための最適化電源ソリューション
  11. Arduino三目並べ:MAX7219 LEDマトリクスと段ボールケースで自作