«Кнопочные ковбои»
Проекты на Arduino и Slot Shield
Простая электронная игра по мотивам классической Wild Gunman. Кто первым нажмет кнопку по сигналу баззера, тот самый быстрый стрелок.
Игру можно собрать и с набором «Матрёшка».
- Язык программирования: Arduino (C++)
Видеоинструкция
Что потребуется
Полный сет компонентов проекта. В сет входят:
- красные и синяя светодиодные кнопки
Как собрать
Установите Troyka Slot Shield на Iskra Neo
Вставьте два модуля светодиодных кнопок в нижние угловые слоты, повернув их на 90 градусов по часовой стрелке.
Вставьте модуль зуммера в центральный верхний слот.
Скетч
Прошейте контроллер скетчем через Arduino IDE.
- Wild-Gunman.ino
// пин с пищалкой #define BUZZER_PIN 3 // количество игроков-ковбоев #define PLAYER_COUNT 2 // вместо перечисления всех пинов по-одному, мы объявляем пару списков: // один с номерами пинов с кнопками, другой — со светодиодами int buttonPins[PLAYER_COUNT] = {A3, A0}; int ledPins[PLAYER_COUNT] = {11, 13}; void setup() { pinMode(BUZZER_PIN, OUTPUT); for (int player = 0; player < PLAYER_COUNT; ++player) { // при помощи квадратных скобок получают значение в массиве // под указанным в них номером. Нумерация начинается с нуля pinMode(ledPins[player], OUTPUT); pinMode(buttonPins[player], INPUT_PULLUP); } } void loop() { // даём сигнал «пли!», выждав случайное время от 2 до 7 сек delay(random(2000, 7000)); tone(BUZZER_PIN, 3000, 250); // 3 килогерца, 250 миллисекунд for (int player = 0; ; player = (player+1) % PLAYER_COUNT) { // если игрок номер «player» нажал кнопку... if (!digitalRead(buttonPins[player])) { // ...включаем его светодиод и сигнал победы на 1 сек digitalWrite(ledPins[player], HIGH); tone(BUZZER_PIN, 4000, 1000); delay(1000); digitalWrite(ledPins[player], LOW); // есть победитель! Выходим из цикла break; } } }
Что дальше?
Хотите собрать другой девайс? Выберите своё будущее устройство из списка проектов на Slot Shield.