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

Arduino-пинбол: постройте свой игровой автомат своими руками

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

Arduino Mega 25601
LCD-дисплей 2-pin (I2C/Serial, Adafruit)1Для счёта и номера шара
Блок питания 24V1Для флипперов, бамперов, слайнгшотов
Датчик силы (Force Sensor, Adafruit)1Определение потери шара
Pop Bumper Assembly (сборка поп-бампера)1
Pop Bumper Switch (контакт бампера)1
Target Switch (мишень)1
Rollover Switch (ролловер)1
Flipper Assembly (флиппер)1
LED-лампы (пинбольные)1 набор

О проекте

Построение пинбола на Arduino — совмещение столярки, механики, электроники и программирования. Заняло ~6 месяцев частичной работы. Информации в сети мало, поэтому автор делится опытом. Главное правило: прототипируйте каждый узел на лишнем фанере перед монтажом в корпус.

Корпус

Электроника и Arduino

Arduino Mega 2560 выполняет 4 задачи:

  1. Опрос контактов (targets, rollovers, pop bumpers, slingshots).
  2. Управление лампами (включение при попадании).
  3. Подсчёт очков и бонусов (при закрытии всех мишеней одного типа — мигание и повышение ценности).
  4. Вывод счёта и номера шара на LCD (SoftwareSerial на TX Pin 17).

Подключение контактов

Простые контакты (таргеты, ролловеры) — к цифровым входам с INPUT_PULLUP. Срабатывание = LOW.

Pop Bumper питание 24V, контакт даёт высокое напряжение → нужен делитель напряжения на аналоговый вход Arduino (порог >500 из 1023).

Питание

24V БП → шины (bus bars) под игровым полем. 16 AWG для 24V, 22 AWG для сигналов Arduino.

Механические узлы (закупаются как запчасти для пинбола)

Код (Arduino)

Основной цикл опрашивает 8 таргетов, 3 ролловера, 4 поп-бампера (аналогово), 2 контакта пуска шара, датчик силы. Обрабатывает очки, бонусы, мигание ламп, конец игры (5 шаров). Вывод на LCD через SoftwareSerial.

// Ключевые константы и массивы
const int TxPin = 17;
long Score = 0, OldScore = 0;
long TargetVal = 1, PopVal = 1, RollVal = 10;
int Targets[8], Rolls[3], Pops[4];
int Ball = 0, Shot = 0, Lost = 0, Pressure = 1024;
#include <SoftwareSerial.h>
SoftwareSerial mySerial(255, TxPin);

void setup() {
  // пины таргетов 2-9, ролловеров 10-12, пуск 15-16, LCD 17
  // лампы таргетов 32-39, ролловеров 40-42, попов 50-53
  mySerial.begin(9600); mySerial.write(12); mySerial.write(17); // clear, backlight on
  // pinMode для всех входов INPUT_PULLUP, выходов OUTPUT
}

void loop() {
  // Опрос таргетов (2-9)
  for (int i=0;i<8;i++) if (digitalRead(i+2)==LOW) { Targets[i]=1; Score+=TargetVal; digitalWrite(i+32,HIGH); delay(10); break; }
  // Проверка все ли таргеты зажжены -> мигание, TargetVal*=5
  // Опрос ролловеров (10-12) -> Score+=RollVal, лампы 40-42, бонус Score*=2, RollVal*=10
  // Опрос поп-бамперов (аналог 0-3 >500) -> Score+=PopVal, лампы 50-53, бонус PopVal*=2
  // Пуск шара (пины 15,16) -> Ball++, сброс при Ball==6
  // Датчик силы (A7) -> потеря шара, Game Over при Ball==5: мигание всех ламп, "Game Over!!!" на LCD
  // Вывод счёта и Ball на LCD при изменении
}

Полный код в разделе Code.

Схема подключения

Упрощённая схема (PNG) — показано подключение одного элемента каждого типа. Полная схема слишком громоздка.

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

  1. Умный выключатель питания AC под управлением SMS с Raspberry Pi и Hologram
  2. Создание Bluetooth-робота на Raspberry Pi с аудио-обратной связью
  3. Настольная RGB-лампа с управлением жестами – Интерактивное беспроводное освещение
  4. Создание ультразвукового левитатора на Arduino: пошаговое руководство
  5. Управление светодиодами через Alexa с помощью Raspberry Pi – простое пошаговое руководство
  6. Превращаем старую радиоуправляемую машину в джойстик-контролируемый болид на Arduino
  7. Роботизированная рука 6 степеней свободы на Arduino Mega с управлением через Nunchuk
  8. Умный беспроводной выключатель света: Arduino-контроллер для удаленного управления
  9. Голосовой робот на Arduino Nano: Управление речью через Bluetooth
  10. DIY Arduino Smartwatch: самодельные умные часы в стиле Apple Watch