Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Автоматическая LEGO Star Wars пушка на Arduino Uno

Компоненты и материалы

Компонент Количество Примечание
Arduino UNO 1 Использовал эту плату, но подойдёт любой Uno
Микросерво SG90 4 Двигатели для курков пушек
Перемычки 1 комплект
LEGO Star Wars Shootable Cannon 4 Сами пушки из наборов LEGO
Макетная плата 1

Необходимые инструменты

Приложения и онлайн-сервисы

О проекте

Проект о том, как заставить LEGO-пушки стрелять автоматически. Люблю LEGO и Arduino — решил совместить в свободное время. Сервоприводы с крепёжными рычагами вращаются, задевают курок и выстреливают. Отличный первый/второй/третий проект для новичков!

Пошаговое руководство.

Шаг 1: Железо

Часть 1: Основы питания

На макетке: 5В на положительную шину, GND на отрицательную.

Автоматическая LEGO Star Wars пушка на Arduino Uno

Часть 2: Подключение серво №1

У сервы 3 провода: оранжевый/жёлтый (сигнал) — на PWM-пин (D7), красный (питание) — на VIN (любой пин положительной шины), чёрный/коричневый (земля) — на отрицательную шину (GND).

Автоматическая LEGO Star Wars пушка на Arduino Uno

Часть 3: Остальные сервы

Принцип тот же. Важно: нумерация пинов в коде должна совпадать с подключением.

В коде (внизу страницы):

secondCannon.attach(8);
thirdCannon.attach(6);
fourthCannon.attach(9);

Значит: серво 2 → D8, серво 3 → D6, серво 4 → D9. Порядок можно менять, но и в железе, и в коде одновременно.

Итоговая схема для данного кода:

Автоматическая LEGO Star Wars пушка на Arduino Uno

Железо готово!

Шаг 2: Софт

Скопируйте код ниже в Arduino IDE, загрузите. Обязательно установите библиотеку Servo.h (идёт в комплекте).

Разбор кода:

#include <Servo.h>
Servo firstCannon, secondCannon, thirdCannon, fourthCannon;

Подключаем библиотеку, объявляем 4 серво.

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);
}

setup() выполняется раз: запуск Serial, вывод сообщения, привязка серв к пинам.

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");
}

loop() бесконечно: по очереди поворачивает каждую серву на 180° (выстрел), возвращает в 0° (перезарядка), пауза 1 сек между выстрелами, 10 сек — перезарядка всего комплекта.

Если проблемы с загрузкой — пишите в комментариях.

Шаг 3: Монтаж

Нужны LEGO-пушки и обычная лента. Пушка выглядит так:

Автоматическая LEGO Star Wars пушка на Arduino Uno

Запустите код. Посмотрите, куда поворачивается серва. Приклейте серву к пушке так, чтобы её рычаг ударял в курок (как на фото).

Готово! Вопросы — в комментариях.

Если понравилось, посмотрите мои другие проекты:

Код

Lego Gun Shooter Code (C/C++)

#include <Servo.h>
Servo firstCannon, secondCannon, thirdCannon, 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");
}

Схемы

Автоматическая LEGO Star Wars пушка на Arduino Uno

Производственный процесс

  1. Универсальный скотч: прочность, гибкость и бытовое применение
  2. Скотч: история, производство и экологическое воздействие
  3. Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
  4. FlickMote: жестовое IR-пульт для умного дома на Arduino 101 и ультразвуковом датчике
  5. DIY Arduino TV-B-Gone: универсальный пульт для выключения любого телевизора
  6. Создание пользовательских LED-часов с будильником — видно с 12 метров
  7. Гигантский анимированный LEGO-человечек: игра «Операция» на Arduino
  8. Find Me: Умный поисковик вещей на Arduino и Bluetooth
  9. SunGlass-BOT: Умные солнцезащитные очки с авто-подстройкой под свет
  10. Оптимизированные решения питания для проектов на Arduino