Оглавление:
- Шаг 1: Шаг 1: Датчик расстояния
- Шаг 2: Шаг 2: серводвигатель
- Шаг 3: Шаг 3: светодиод RGB
- Шаг 4: Шаг 4: ЖК-дисплей
- Шаг 5: Шаг 5: Код
Видео: Игра на быструю реакцию: дистанционная версия: 5 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Привет. Это руководство о том, как создать игру, которая проверяет время вашей реакции и чувство дистанции. Этот проект основан на моем старом проекте, в котором участвовали два игрока, соревнующихся, чтобы узнать, у кого было более быстрое время реакции, нажав кнопку, когда загорелся зеленый свет. У этого есть аналогичная цель, за исключением того, что он однопользовательский, и вместо того, чтобы гаснуть свет, игроку дается время, чтобы отвести свою руку на определенное расстояние от датчика расстояния.
Как и все проекты Arduino, эта игра потребует множества электрических компонентов в цепи Arduino. Основные компоненты, кроме проводки и самой Arduino, включают макетную плату, серводвигатель, ЖК-дисплей, светодиод RGB и датчик расстояния.
При использовании https://abra-electronics.com цена без учета проводов и Arduino составляет 32,12 канадских доллара.
Шаг 1: Шаг 1: Датчик расстояния
Первый шаг - установить ультразвуковой датчик расстояния на макетной плате и подключить его к Arduino. Точное положение датчика на самом деле не имеет значения, но в идеале это близко к краю, чтобы было место для других компонентов, как показано на рисунке выше. На датчике четыре контакта; GND, VCC, TRIG и ECHO. GND и VCC должны быть подключены к шинам заземления и питания соответственно, а два других контакта должны быть подключены к двум контактам на Arduino. Я использовал два вывода: 12 для ECHO и 11 для TRIG. Используйте два других провода для питания шины питания и заземления шины заземления, подключив шину питания к контакту 5 В, а шину заземления - к контакту GND.
Шаг 2: Шаг 2: серводвигатель
Следующим шагом является настройка серводвигателя. В этом проекте серводвигатель работает как таймер. Он будет начинаться с 1 градуса и за период времени, в течение которого пользователь должен расставлять руки, будет вращаться на 180 градусов. Я использовал 2 секунды, когда пользователь узнает, как далеко им нужно расставить руки, поэтому сервопривод поворачивается на 179 градусов за 2 секунды, вращаясь с короткими интервалами. Серводвигатель имеет три провода; обычно желтый, красный и коричневый. Красный идет в шину питания, которая уже подключена к 5 В, а коричневая входит в шину заземления, уже подключенную к GND. Последний провод подключается к контакту Arduino. Я выбрал для этого контакт №9. Затем вам понадобится конденсатор, соединяющий ту же шину, к которой подключены провода питания и заземления серводвигателя, как показано на рисунке выше.
Шаг 3: Шаг 3: светодиод RGB
Функция светодиода в этом случае - действовать как шкала для оценки. Когда счет игрока составляет около 0, индикатор будет белым и станет более красным, если счет игрока уменьшается, и зеленым, если счет игрока увеличивается. У этого светодиода четыре ножки; ветвь красного света, ветвь синего света, ветвь зеленого света и общий катод, общий для трех других ветвей. Общий катод, самая длинная ветвь, подключен к шине питания, поэтому на него подается 5 вольт. Присоедините резисторы 330 Ом к трем другим цветным ножкам, а другие концы этих резисторов подключите к цифровым выводам PWM на Arduino. Я использовал цифровые контакты 3, 5 и 6 для красной, зеленой и синей ножек соответственно.
Шаг 4: Шаг 4: ЖК-дисплей
Последний компонент - ЖК-дисплей, обозначающий жидкокристаллический дисплей. Цель этого - сообщить игроку его текущий счет, а также расстояние, на котором ему нужно убрать руки от датчика. Здесь четыре контакта; GND, VCC, SDA и SCL. GND и VCC будут подключены к шинам заземления и питания макетной платы соответственно. Вывод SDA должен быть подключен к аналоговому выводу A4, а вывод SCL должен быть подключен к аналоговому выводу A5. В отличие от других компонентов, вы должны подключить контакты SDA и SCL к A4 и A5.
Шаг 5: Шаг 5: Код
Теперь, когда мы подключили все компоненты, мы можем написать код. Первая часть кода - импортировать необходимые библиотеки и объявить наши переменные и то, к каким контактам подключены компоненты. Нам нужно импортировать библиотеки Wire, LiquidCrystal_I2C и Servo для этого кода.
#включают
#включают
#включают
Серво myServo;
int const trigPin = 11;
int const echoPin = 12;
int redPin = 3;
int greenPin = 5;
int bluePin = 6;
int score = 0;
int tim = 500;
int текущий = случайный (8, 16); // случайное значение, при котором пользователь должен убрать руку от датчика
LiquidCrystal_I2C lcd (0x27, 16, 2); // Настройка ЖК-дисплея
Теперь нам нужно использовать void setup (), чтобы объявить наши типы контактов и настроить другие необходимые компоненты.
недействительная настройка () {myServo.attach (9); Serial.begin (9600); pinMode (trigPin, ВЫХОД); pinMode (echoPin, ВХОД); pinMode pinMode (redPin, ВЫХОД); pinMode (greenPin, ВЫХОД); pinMode (bluePin, ВЫХОД); lcd.init (); lcd.backlight (); lcd.begin (16, 2); lcd.clear (); // Настройка ЖК-дисплея}
Теперь нам нужно настроить код светодиода RGB с помощью функции и ШИМ:
void setColor (int red, int green, int blue) {
red = 255 - красный;
green = 255 - зеленый;
blue = 255 - синий;
analogWrite (redPin, красный);
analogWrite (greenPin, зеленый);
analogWrite (bluePin, синий);
}
Теперь нам нужно добавить цикл void (). Здесь мы собираемся генерировать случайные целые числа и использовать серию операторов if для управления игрой для игрока. Текущая переменная, указанная выше, предназначена для текущего расстояния, на которое игрок должен дистанцироваться от датчика.
Поскольку код в void loop () очень длинный, я собираюсь вставить ссылку на документ с этим кодом:
docs.google.com/document/d/1DufS0wuX0N6gpv…
Наконец, нам нужно выполнить фактические вычисления, чтобы преобразовать значения ультразвукового датчика расстояния в дюймы. Ультразвуковой датчик расстояния не измеряет расстояние напрямую; он издает звук и записывает время, необходимое датчику, чтобы вернуть звук от любого объекта, от которого он отскакивает.
long microsecondsToInches (длинные микросекунды) {
вернуть микросекунды / 74/2;
}
Теперь мы подключаем проводную Arduino к компьютеру с кодом, настраиваем порты и запускаем! В этой игре есть два режима. Либо вы можете использовать только ЖК-дисплей, серводвигатель, датчик и светодиод RGB, и вы знаете только расстояние, которое вам нужно от датчика, что является более сложным режимом. Более простой режим предполагает использование монитора последовательного порта в меню «Инструменты»> «Монитор последовательного порта», который каждую секунду будет обновлять вам информацию о том, как далеко вы находитесь от датчика, чтобы вы могли внести необходимые корректировки.
Спасибо за прочтение!
Рекомендуемые:
Игра на реакцию таймера 555: 5 шагов
Игра на реакцию таймера 555: целевая аудитория Это руководство предназначено для людей, которые интересуются схемами (с небольшим опытом), которые ищут простую игру, которую вы можете построить с помощью всего лишь нескольких дешевых компонентов. Уровень сложности Это было бы сложно, если бы
Веселая игра на реакцию Arduino: 3 шага
Веселая игра на реакцию Arduino: веселая игра на реакцию Arduino для всей семьи;) Основана на кроссплатформенной связи по Bluetooth. Вам понадобятся только некоторые вещи Arduino, Android-смартфон и обувная коробка. Если у вас их нет, твердо верьте в это: нет ничего, что
Игра на реакцию - проект компьютерной инженерии: 3 шага
Игра на реакцию - Проект компьютерной инженерии: Игра на реакцию - это именно то, что написано в названии, она проверяет вашу скорость реакции. Вы можете спросить, какие преимущества может принести этот сервер помимо развлечений, ну, вы можете использовать его для людей, которые проходят реабилитацию после хирургических операций или несчастных случаев. Их реакция спе
Игра на реакцию Arduino: 9 шагов
Arduino Reaction Game: Я сделал эту игру для школьного задания. Нам нужно было сделать что-то интерактивное с помощью ардуино. Это мой первый проект Arduino, который я когда-либо делал, поэтому это было довольно сложно, но не невозможно
Игра на реакцию FPGA: 10 шагов
Игра на реакцию FPGA: Саммер Резерфорд и Регита Соетандар