В этом проекте мы создадим игру "Ковбой" на платформе Arduino. В этой игре два игрока соревнуются на реакцию: кто первым нажмет кнопку после сигнала, получает 1 балл. Если игрок нажимает кнопку до сигнала или после соперника, ему не дается балл. Побеждает тот, кто первым наберет 5 баллов. Игра включает световую и звуковую индикацию состояния игры с помощью светодиодов и зуммера, а также отображение счета на ЖК-дисплее 1602 i2c.
Необходимые компоненты:
- Arduino Uno или Nano
- ЖК-дисплей 1602 i2c
- 2 кнопки
- 2 светодиода
- Зуммер
- Резисторы (10 кОм для кнопки и 220 Ом для светодиодов)
- Соединительные провода
- Макетная плата (breadboard)
Подключение компонентов:
-
Подключение ЖК-дисплея:
- SDA -> A4 (Uno/Nano)
- SCL -> A5 (Uno/Nano)
- VCC -> 5V
- GND -> GND
Шаги реализации:
- Подключите ЖК-дисплей, кнопки, светодиоды и зуммер к Arduino согласно схеме выше.
- Подключите библиотеку для Arduino.
Для это выполните следующие шаги:
-
Скачайте обе библиотеки с официального сайта или из репозитория GitHub:
-
Откройте программу Arduino IDE и перейдите в меню «Скетч» → «Подключить библиотеку» → «Добавить .ZIP библиотеку…».
-
В открывшемся окне выберите скачанный .zip файл и нажмите «Открыть».
-
Снизу Arduino IDE появится сообщение “Библиотека добавлена. Проверьте меню “Подключить библиотеку” ”.
-
Теперь библиотека будет доступна для использования в ваших проектах.
2. Создайте новый скетч.
3. Перепишите следующий код:
#include <Wire.h> // Инициализация LCD const int button1 = 2; // Пин первой кнопки int score1 = 0; // Счет первого игрока bool gameOn = false; // Флаг начала игры void setup() { lcd.init(); resetGame(); void loop() { if (signalGiven) { void startNewRound() { lcd.setCursor(0, 1); startTime = millis(); void handleButtonPress(int player) { if (player == 1) { lcd.setCursor(0, 1); void handleFalseStart(int player) { if (player == 1) { void resetGame() { void setTone(int pin, int note, int duration) { |
Заключение
В этом проекте вы научились создавать простую игру на реакцию для двух игроков с использованием Arduino. Мы использовали ЖК-дисплей для отображения состояния игры, светодиоды для индикации победы, и зуммер для подачи звуковых сигналов. Этот проект является отличным примером того, как можно комбинировать различные компоненты и библиотеки Arduino для создания увлекательных и интерактивных приложений. Наслаждайтесь игрой и продолжайте развивать свои навыки программирования и работы с электроникой!