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

Светодиодный индикатор "Ударь крота"

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

Arduino UNO
× 1
светодиоды
× 7
Резистор 221 Ом
× 7
Аналоговый джойстик (общий)
× 1
Перемычки (общие)
× 8
Провода перемычки "папа / мама"
× 4

Об этом проекте

Это был мой первый проект Arduino, я построил его на основе того, что я узнал из первых руководств по светодиодам и основным элементам управления.

В этой игре «Ударь крота» используются 7 светодиодов и джойстик. На моей доске есть 4 «родинки», представленные 2-м, 3-м, 4-м и 5-м огнями слева. Один из четырех индикаторов загорится случайным образом и даст заданное количество времени, чтобы поразить джойстик в соответствующем направлении. Я расположил свои источники света так, чтобы на джойстике можно было выбирать слева направо:влево, вверх, вниз, вправо. Это просто соглашение, которое я выбрал, так что творчески и пробуйте другие!

Два индикатора слева красного и зеленого цвета указывают на неправильный или правильный выбор. Желтый свет в крайнем правом углу мигает счетчиком текущего рекорда и показывает счет каждый раз, когда пробежка заканчивается (всякий раз, когда делается неправильный выбор). Естественно, новый рекорд заменяет старый.

Пожалуй, самая сложная часть этого проекта - аналоговый джойстик. Для обоих направлений джойстика есть максимальные значения 0 и 1024 (для меня мне пришлось использовать 1023, поэтому, если вы не получаете правильный выбор, вы можете попробовать это). Я считаю, что эти значения также можно измерить с помощью последовательного окна. Я упростил эти входные значения, используя операторы switch для входов x и y. Я не уверен, что это лучший способ сделать это, но поскольку мне нужны были только максимальные значения каждого направления (т.е. только 4 варианта, 4 светодиода), я присвоил целые значения каждой возможности:1, 2, 3, 4 соответствует левому, правому, верхнему, нижнему.

Уровни сложности, которые я записал в свой код как константы, - это время в миллисекундах, в течение которого человек должен сделать выбор. Вы можете повозиться с этим временем, чтобы изменить сложность по своему усмотрению. Я думал об интеграции выбора с помощью кнопок или, может быть, джойстика в начале поворота, но на самом деле это не стоило работы, поскольку я считаю, что это будет довольно сложно и не очень удобно для пользователя.

Обязательно дайте мне знать, какие модификации и улучшения можно сделать! :)

Код

  • АВАРИЙНЫЙ
ПОБЕДИТЕЛЬНЫЙ Arduino
 // Ударь по светодиоду // Переменные джойстика int sX =A0; // ось x джойстика, аналоговый ввод int sY =A1; // ось Y джойстика, аналоговый inputint sSX; // состояние x, чтение из sXint sSY; // состояние y, чтение из sYint sS; // преобразованное состояние (может быть не самым эффективным) // Игровые переменные int rNum; // random int выбирает случайный свет для включения int wins =0; // подсчет последовательных выигрышей int highScore =0; // сохранение наивысшего количества последовательных побед // Константы сложности, время на реакцию const int easy =1000; const int medium =500; const int hard =325; const int stupid =250; int ledPins [] ={5,2, 4,3,6,7,8}; // инициализация led'sint pinCount =7; // количество выводов светодиодовvoid setup () {Serial.begin (9600); pinMode (sX, INPUT); pinMode (sY, INPUT); for (int thisPin =0; thisPin  highScore) {// если последовательные победы больше предыдущего рекорда, устанавливается новый рекорд. highScore =выигрыши; выигрышей =0; } for (int i =0; i <=3; i ++) {// мигающий красный свет, указывающий на неправильный выбор digitalWrite (ledPins [5], HIGH); задержка (50); digitalWrite (ledPins [5], LOW); задержка (50); } for (int w =0; w  

Схема

Все должно соответствовать реальной картине проекта, кроме джойстика. У моего джойстика 5 контактов, 4 или которые я использовал:названные сверху вниз «GND», «+ 5V», «VRx» и «VRy». «GND» и «+ 5V» подключены к GND, а 5V на Arduino, «VRx» и «VRy» подключены к A0 и A1. Все должно соответствовать реальной картинке проекта, кроме джойстика. У моего джойстика 5 контактов, 4 или которые я использовал:названные сверху вниз «GND», «+ 5V», «VRx» и «VRy». «GND» и «+ 5V» подключены к GND и 5V на Arduino, «VRx» и «VRy» подключены к A0 и A1. whack_a_mole_schematic_CBciL9GiCP.fzz

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

  1. Газовый фонарь
  2. Лазерная указка
  3. Фонарик
  4. Калейдоскоп
  5. Полупроводниковый лазер
  6. Фотография
  7. Сигнал трафика
  8. Светоизлучающий диод (светодиод)
  9. Аксессуары для светодиодов – Аксессуары для светодиодных лент
  10. Понимание огней и индикаторов приборной панели автомобиля