Уроки по Arduino: Урок 7

Уроки по Arduino: Урок 7

Урок 7: Создание игры «Кроты»

 

 

Практическая часть

 

Смысл игры «Кроты» заключается в том, что через случайный промежуток времени (от 0.5с до 1с) зажигается случайный светодиод и горит секунду. За это время нужно успеть нажать находящуюся под ним кнопку. Когда кнопка была нажата, светодиод гаснет и загорается зеленый светодиод, который сигнализирует о попадании. Установка состоит из пяти кнопок, которые управляют пятью светодиодами и одного зеленого сигнального светодиода. Расположение элементов изображено на рисунке.

 Шаг 1. Соберем схему.

 

Шаг 2. Начинаем программу с блока «Когда щелкнут по» и прикрепляем к нему снизу блок «Всегда». Изначально нам нужно погасить все шесть светодиодов. Делаем это с помощью блоков digital off.
Шаг 3. Далее необходимо зажечь случайный светодиод через случайный промежуток времени. Для этого создаем переменные, которые будут генерироваться случайным образом. Переменная led будет определять номер светодиода, который необходимо зажечь. Переменная delay будет определять длительность задержки между тем, как потухнет один и зажжется другой светодиод. В зависимости от значения переменной led с помощью условного блока «Если» выполняем 5 проверок: если led = 10, то посылаем на 10 выход значение on, т.е. зажигаем первый светодиод. Для включения светодиодов, подключенных к аналоговым выходам, посылаем на этот выход значение 255. Заготовка для программы «Кроты», которая зажигает случайный светодиод, изображена на рисунке (мы использовали цифровые входы и выходы, если у Вас другая версия программы, можете заменять недостающие цифровые порты аналоговыми).

 

Шаг 4. Далее добавляем обработку нажатия кнопки. Создаем переменную repeat, которая будет определять, нужно ли выполнять проверку была ли нажата кнопка, и переменную checkcount, которая будет равна количеству проделанных проверок для одного светодиода. Обнуляем эти две переменные. Затем создаем обработку нажатия кнопки для первого светодиода. После того, как зажгли первый светодиод, вставляем блок «Повторить до» и вносим признак окончания выполнения repeat = 1, т.е. действия, находящиеся внутри цикла «Повторить до» будут выполняться до тех пор, пока переменная repeat не станет равна 1. Внутри цикла увеличиваем значение checkcount на 1. Далее вставляем условный блок «Если … или». В нем выполняем проверку: если была нажата кнопка, то выключаем горящий светодиод и зажигаем зеленый сигнальный. При этом ставим repeat равной 1, чтобы больше не выполнять цикл «Повторить до», а продолжать выполнять программу далее. Если кнопка не была нажата, то делаем задержку 0.1с и если цикл уже выполнился 10 раз, то ставим repeat в 1.

 

 

Перейти к 6-му уроку Перейти к 8-му уроку Перейти к оглавлению

Центр робототехники "BOTEON".
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: