Ничего не найдено :(
    В гостях у Самоделкина! » Форум » Идеи самоделок » Игра «кнопочные ковбои» на ардуино

    Игра «кнопочные ковбои» на ардуино

    DeNiS GeeK PRO100
    Доброго времени суток читатель моей стать, сегодня мне бы хотелось рассказать тебе как собрать игру «кнопочные ковбои» на ардуино

    ВОТ ЧТО ТЕБЕ ПОНАДОБИТСЯ;
    1.Ардуино (в моем случае Uno)
    2.2 резистора на 220 ом
    3.2 светодиода (желательно разного цвета)
    4.2 тактовые кнопки
    5.пьезопищалка
    6.Breadboard или беспаечная макетная плата
    7.провода-перемычки



    для начала запрограммируем ардуину



    вот скетч:

    #define BUZZER_PIN   12  // пин с пищалкой
    #define PLAYER_COUNT 2   // количество игроков-ковбоев
    // вместо перечисления всех пинов по-одному, мы объявляем пару
    // списков: один с номерами пинов с кнопками, другой — со
    // светодиодами. Списки также называют массивами (англ. array)
    int buttonPins[PLAYER_COUNT] = {3, 13};
    int ledPins[PLAYER_COUNT] = {9, 11};
     
    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; // Есть победитель! Выходим (англ. break) из цикла
        }
      }
    }


    далее собираем все по этой схеме

    Игра «кнопочные ковбои» на ардуино


    У Вас должно получиться как то так



    и теперь игра готова к использованию
    кто быстрее нажмет тот и победил
    а на этом у меня на сегодня пожалуй все


    И ДА, ПОУЧАСТВУЙТЕ В ОПРОСЕ НИЖЕ
    у вас получилось повторить?
    вы повторили
    Всего проголосовало: 69
    10 ответов

    Добавить комментарий

    Mudrik #92932
    iSPEED,


    У Вас она точно заработала?

    В четвёртой строке whistle  не правильно интеграл продифференцирован, а в остальном вроде всё в норме, должно работать. 


    iSPEED #92907

    запустил конструкцию в Tinkercad, жалуется на строку "for (int player = 0; player < PLAYER_COUNT; ++player) { ".  У Вас она точно заработала?

    DeNiS GeeK PRO100 #27564 Автор
    Cпасибо за ваши критерии
    Иван_Похмельев #27514
    Нет обработки фальстартов.((
    Если после сброса светодиода победителя, не дожидаясь звукового сигнала, нажать кнопку, то после сигнала сразу включится светодиод игрока, нажавшего кнопку. Если оба игрока будут такими хитрыми, то всегда будет выигрывать нулевой игрок.
    feonor12 #27501
    Воу воу, ребята, полегче. Парень учиться ардуинку программировать, не надо так жестко, пусть учится. В то же время Денис, без обид, но мало кому интересны твои проекты типа "Hello World" и мигание светодиодиком, для тебя это интересно, но остальным, поверь, не очень. Учись сам, но не надо пытаться учить других. И раз уж решил стать публичной персоной, то есть публиковаться, будь готов к критике, уж тем более когда она уместна, а она уместна на данном этапе твоего опыта. У меня у самого есть ведерко результатов жизнедеятельности человека, которые я мог бы вылить на твою статью, но не в коем случае не стану, ибо юных техников нужно поощрять, подсказывать, наставлять, а не критиковать. Босяцкие выражения "ЧТО? ты мне мозг сломаешь щас" тебя показывают не в лучшем свете, умей держать удар и отвечать на него достойно.

    P.S. И проверяй текста перед публикацией хотя бы в ворде.
    Korolev #27496
    ты мне мозг сломаешь щас
    А есть что сломать - то? smile
    DeNiS GeeK PRO100 #27495 Автор
    ЧТО? ты мне мозг сломаешь щас
    Korolev #27486
    она обрабатывает сигнал, является важной частью этого проекта
    А кнопки с двумя парами контактов, нормально замкнутые контакты одной кнопки при нажатии размыкают цепь нормально разомкнутых другой? smile
    DeNiS GeeK PRO100 #27471 Автор
    она обрабатывает сигнал, является важной частью этого проекта,
    Korolev #27451
    кто быстрее нажмет тот и победил
    Ну а Arduino - то тут зачем? scratch

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние ответы

    Все ответы