Arduino является очень популярным для создания хобби проектов и игр, и мы ранее использовали Arduino построить игру Snake, пинг - понг, Космическая гонка игры и т.д. Сегодня мы строим еще одну популярную игру, используя Arduino- провода игры Базз или Steady игру рукой.
Для этого проекта мы будем использовать Arduino Uno, Buzzer и два алюминиевых провода. ЖК-дисплей 16x2 также предназначен для отображения статуса игры. Оба конца лабиринтного провода будут подключены к цифровым контактам 2 и 3 Arduino, а провод ручки подключен к контакту заземления Arduino. Цифровые выводы определены как выводы INPUT_PULLUP. Поэтому, когда провод ручки касается провода лабиринта, он меняет состояние цифровых контактов на низкий, и зуммер издает звук.
На конце провода лабиринта подключен диод, поэтому, когда вы пройдете мимо этого диода и коснетесь провода лабиринта проводом с круглой ручкой, только один контакт (контакт 3) станет низким. В этом состоянии на ЖК-дисплее будет отображаться текст поздравления («Молодец»).
Необходимые компоненты
- Ардуино Уно
- Алюминиевая проволока
- ЖК-дисплей 16x2
- Модуль I 2 C
- Макетная плата
- Зуммер
- Диод
Принципиальная электрическая схема
Принципиальная схема Arduino Buzz Wire Game приведена выше. Контакты SCL и SDA модуля I2C подключены к контактам A5 и A4 Arduino, а контакты V CC и GND модуля I2C подключены к контактам 5V и GND Arduino. Положительная шина зуммера подключена к цифровому выводу 4 Arduino, а отрицательная шина подключена к GND. Отрежьте алюминиевую проволоку и согните ее зигзагообразно. Припаяйте диод к одному концу провода. Затем отрежьте другую проволоку, чтобы получилась ручка, и согните один конец в петлю.
ЖК-дисплей 16x2 также может быть сопряжен с Arduino без использования модуля I2C.
Подключите контакты D2 и D3 Arduino к обоим концам зигзагообразного провода и подключите провод ручки к контакту GND Arduino.
Код Пояснение
Полный код для этой игры Arduino Buzz Wire приведен в конце документа.
Начните свой код с включения файла библиотеки для ЖК-модуля. Библиотека LiquidCrystal_I2C.h используется для связи I2C между Arduino и ЖК-модулями.
#включают
После этого определите контакты Arduino для зуммера, начальную точку провода и конечную точку провода.
const int startPin = 2; const int endPin = 3; const int buzzer = 4;
Затем определите две переменные start и end_. Эти переменные будут использоваться для сохранения показаний провода.
int start, end_;
Теперь определите вывод зуммера как выход и соедините выводы как INPUT_PULLUP . Ардуино имеет внутренние подтягивающие резисторы номиналом около 20 кОм. Эти резисторы могут быть подключены внутри с помощью INPUT_PULLUP . Определение INPUT_PULLUP функционально аналогично подключению резистора ~ 20 кОм между контактом и + 5 В.
pinMode (зуммер, ВЫХОД); pinMode (startPin, INPUT_PULLUP); pinMode (startPin, INPUT_PULLUP);
Внутри пустого цикла прочтите состояние контактов провода.
start = digitalRead (startPin); end_ = digitalRead (endPin);
Теперь сравните показания выводов проводов. Если оба контакта низкие, это означает, что вы коснулись провода, поэтому зуммер издаст звук, и если начальный контакт провода высокий, а концевой штифт низкий, это означает, что вы достигли конечной точки.
если (начало == НИЗКИЙ && конец _ == НИЗКИЙ) {digitalWrite (зуммер, ВЫСОКИЙ); задержка (1000); digitalWrite (зуммер, LOW); lcd.setCursor (0,0); lcd.print («Попробуйте еще раз»); Serial.print («Попробуйте еще раз»); } иначе если (начало == ВЫСОКИЙ && конец _ == НИЗКИЙ) {lcd.setCursor (0,0); lcd.print («Хорошо сделано»); Serial.print («Молодец»); }
Тестирование игры Buzz Wire
После подключения оборудования и загрузки данного кода вы можете начать играть в игру. Так что держите провод с кругом в руке и старайтесь протянуть провод с кругом полностью до диода, припаянного зигзагообразным проводом, не позволяя круглому проводу никуда соприкасаться. Если вы дотронетесь до проводов, раздастся зуммер, и на ЖК-дисплее отобразится « Попробуйте еще раз ». А если пройти игру, не касаясь провода, то появится надпись « Молодец ».
Вот как можно сделать игру Buzz Wire с Arduino. Ниже приведены рабочее видео и полный код.