Arduino.ru
Добрый вечар ребята! Подскажите пожалуйста не было ли на вашем форуме такой темы как для игры Кто Быстрее нажмет кнопку? Я нашел один сайт на котором был описан способ сборки такой игры на ардуино нано: https://usamodelkina.ru/11535-interaktivnye-tumby-dlja-meroprijatij-brainsystem.html А можно ли сделать такию схему безпроводной и какие лучше элементы из китая использовать, потому что видел на Ютубе что не все вайфай модули с китая хорошо работают.
- Войдите на сайт для отправки комментариев
- Войдите на сайт для отправки комментариев
А как это реализовать из каких деталей более мение качкственно, и схему сборки. За програмное обеспечение заплачу.
- Войдите на сайт для отправки комментариев
Начните с описательной части: какие расстояния, автономность/неавтономность, какая индикация, количество конкурирующих кнопок, время реакции. Без этого никакое программное обеспечение вам никто не напишет.
- Войдите на сайт для отправки комментариев
Расстояние не более 5-6 метров, автономность это работа от повербанка наверно или от бытареек крона, индакиция настольная светодиодная, 4 конкурирующих кнопки с «фальшстартом» до включения на головноп пульте, время реакции(нажатие человеческим пальцем)
- Войдите на сайт для отправки комментариев
Хотя, что-то я такое припоминаю — обсуждали тут подобную систему. По-моему основная загвоздка была как-раз в радиоканале. Частота рабочая одна, произойдёт наложение сигналов друг на друга и выиграет не первейший, а мощнейший передатчик. Или тот, кто попал в «дырку» между взаимоуничтожившимися посылками от двух передатчиков. Словом — неоднозначная история с беспроводкой.
- Войдите на сайт для отправки комментариев

тут только шировещательный режим использовать, отправляем на все кнопки разрешение, каждая кнопка записывает микрос, по нажатию кнопки фиксруется еще раз микрос, вычисляется разность и далее мастер опрашивает, как один из вариантов
- Войдите на сайт для отправки комментариев
Сложная ситуация. Тогда лучше через проводную систему сделать, она проще будет
- Войдите на сайт для отправки комментариев

это да, обойдётесь одной ардуинкой
- Войдите на сайт для отправки комментариев
Хотя, что-то я такое припоминаю — обсуждали тут подобную систему. По-моему основная загвоздка была как-раз в радиоканале. Частота рабочая одна, произойдёт наложение сигналов друг на друга и выиграет не первейший, а мощнейший передатчик. Или тот, кто попал в «дырку» между взаимоуничтожившимися посылками от двух передатчиков. Словом — неоднозначная история с беспроводкой.
В данной задаче достаточноо переслать полезной нагрузкой 1 байт. К байту прицепиться 5 байт преамбулы (можно уменьшить до трех) — она же адрес трубы. И в конце байт CRC. Вся эта посылка перешлется за единицы мкс. Уверяю вас — вы никогда и ни за что не нажмете вдвоем кнопки так, чтобы попасть в этот интервал времени. Ну т.е такое возможно один раз на миллион.
Есть другой вариант. Хост постоянно опрашивает тумбы. Тумба же в ACK ответе шлет состояние кнопки. Но в этом варианте шанс одновременного нажатия двух-трех кнопок увеличивается, зато не будет коллизий в радиоканале.
- Войдите на сайт для отправки комментариев
это да, обойдётесь одной ардуинкой
Можно так и вообще на 561 серии. И ардуина не нужна.
- Войдите на сайт для отправки комментариев
В данной задаче достаточноо переслать полезной нагрузкой 1 байт. К байту прицепиться 5 байт преамбулы (можно уменьшить до трех) — она же адрес трубы. И в конце байт CRC. Вся эта посылка перешлется за единицы мкс. Уверяю вас — вы никогда и ни за что не нажмете вдвоем кнопки так, чтобы попасть в этот интервал времени. Ну т.е такое возможно один раз на миллион.
Никто не говорит, что реализация данной системы невозможна.
Так, как никакие допуски, посадки ТС не озвучил, а так же не привёл данных о чистоте эфира, исходим из самых строгих требований и в предположении, что эфир засран. Т.е. отдельно взятая NRF может перепосылать пакет некоторое кол-во раз и не факт, что отправит вообще. Что, несоменнно, вносит неоднозначность в исход радио-гонки. А предполагать, что «хренли там не работать» может любой из нас с лёгкостью. Особенно, если ему не требуется впоследствии отвечать за результат.
Экспериментировать и налаживать систему самостоятельно ТС, как я понимаю, возможности не имеет.
- Войдите на сайт для отправки комментариев

В данной задаче достаточноо переслать полезной нагрузкой 1 байт. К байту прицепиться 5 байт преамбулы (можно уменьшить до трех) — она же адрес трубы. И в конце байт CRC. Вся эта посылка перешлется за единицы мкс. Уверяю вас — вы никогда и ни за что не нажмете вдвоем кнопки так, чтобы попасть в этот интервал времени. Ну т.е такое возможно один раз на миллион.
Никто не говорит, что реализация данной системы невозможна.
Так, как никакие допуски, посадки ТС не озвучил, а так же не привёл данных о чистоте эфира, исходим из самых строгих требований и в предположении, что эфир засран. Т.е. отдельно взятая NRF может перепосылать пакет некоторое кол-во раз и не факт, что отправит вообще. Что, несоменнно, вносит неоднозначность в исход радио-гонки. А предполагать, что «хренли там не работать» может любой из нас с лёгкостью. Особенно, если ему не требуется впоследствии отвечать за результат.
Экспериментировать и налаживать систему самостоятельно ТС, как я понимаю, возможности не имеет.
присоединяюсь, поэтому и предложил, что системы кнопок слушают эфир, получают сигнал разрешения и фиксируют время срабатывания, а уж потом мастер опрашивает слэйвов и вычисляет, кто там первый и, никаких коллизий )))
Проект на Ардуино Уно: Игра на реакцию
«Игра на реакцию» — это простой мини проект на Arduino Uno, где вам понадобятся только светодиоды, резисторы с кнопками, макетная плата и коннекторы. В этой статье мы разместили схему сборки игры с кнопками и функциональную программу с подробными комментариями. В параметрах можно изменить режим работы программы — изменить временные интервалы, количество попыток и количество кнопок в схеме.
Необходимые компоненты:
- Arduino Uno / Arduino Nano / Arduino Mega
- тактовые кнопки
- светодиоды и резисторы
- макетная плата
- коннекторы
Принцип игры довольно прост: после включения светодиодов (они включаются случайным образом) необходимо как можно быстрее нажать соответствующую кнопку. Временной интервал для загорания светодиода, время ожидания ответа и другие параметры можно изменить в скетче. После всех попыток количество правильных попыток, среднее время отклика и лучшее время отклика отображаются на мониторе порта Arduino IDE.
Проект: Игра на реакцию на Arduino Uno

На схеме показано подключение трех пар светодиодов и кнопок, но вы можете подключить до пяти пар, изменив соответствующие параметры в коде. Важно: Подключите светодиоды последовательно, начиная с цифрового пина Ардуино 4 до 9 пина включительно, а кнопки — с порта A0 до A5. Игра начинается, когда загораются все светодиоды. При желании можно подключить зуммер для подачи звукового сигнала к началу игры на рефлексы.
Скетч для Игры на реакцию на Ардуино Уно
Заключение. К плате можно подключить Arduino LCD 1602 и выводить результаты уже на экран. Кроме того, можно создавать различные варианты включения светодиодов, например, для одновременного включения двух светодиодов. Если у вас возникли вопросы по мини проекту, вы можете оставить их в комментариях к этой записи — мы всегда стараемся решать проблемы и отвечать на все комментарии пользователей.
Методическая разработка «Проект «Arduino. Игра «Кто быстрее»
В данной разработке представлена разработка небольшой игры на базе платы Arduino, светодиодов и пары кнопок. В методической разработке представлена схема сборки и листинг программы с комментариями.
Просмотр содержимого документа
«Методическая разработка «Проект «Arduino. Игра «Кто быстрее»»
МУНИЦИПАЛЬНОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ДОПОЛНИТЕЛЬНОГО ОБРАЗОВАНИЯ
«ЦЕНТР ДЕТСКОГО ТЕХНИЧЕСКОГО ТВОРЧЕСТВА»
Методическая разработка
«Проект «Arduino. Игра «Кто быстрее»
к дополнительной общеобразовательной
общеразвивающей программе
технической направленности
«Лаборатория робототехники»
Возраст детей: 10-15 лет
Автор: Костычев Вадим Александрович
г. Заречный Пензенской области
2022 г.
В ходе изучения робототехники, схемотехники и программирования на основе платформы Arduino большую роль играет разработка проектов. Они позволяют отработать как навыки программирования, так и сборки электрических цепей устройств. Данная разработка призвана отработать навыки разработки алгоритмов и работы с кнопками.
Целью данной разработки является повышение интереса учащихся к техническому творчеству посредством работы с платформой Arduino.
Данная методическая разработка используется как обучающий пример для работы по дополнительной общеобразовательной общеразвивающей программе технической направленности «Лаборатория робототехники». С их помощью учащиеся смогут геймифицировать процесс обучения, потренироваться в разработке алгоритмов, а также работой с кнопками и отработкой нажатий.
Данный проект представлен в виде игры: учащимся необходимо собрать устройство-игру. У каждого игрока есть кнопка, которую нужно нажимать как можно быстрее. Каждое нажатие зажигает следующий светодиод дальше от игрока. Нажимая, как можно быстрее, игроки стараются, чтобы свечение было как можно дальше от них. Выиграл тот, кто быстрее зажег последний светодиод, самый близкий к противнику.
При разработке алгоритма важно создать переменную, которая будет хранить счет игры, и одновременно зажигать светодиоды по пинам. Также, целесообразно использовать переменную, хранящую предыдущий счет, позволяющую отключать лишние светодиоды. Их первоначальное значение должно быть равно трем при подключении светодиодов с 1 по 5 пин.
Опрос кнопок целесообразно вынести в отдельные функции вне void loop() и вызывать по необходимости. В них важно построить алгоритмы, отработки кнопок, чтобы не было ложных срабатываний при удержании и нажатии. Для этого создаются переменные-флаги прошлого состояния (нажатия) кнопки – если кнопка нажата, а флаг не нажат, то вычитаем или прибавляем счет в зависимости от стороны игрока, и меняем состояние флага на «нажато». Если кнопка отпущена, а флаг «нажат», то меняем состояние флага на «отпущено». Остальные варианты мы обрабатывать не будем.
При победе любого игрока зажигаются все светодиоды, что обозначает конец игры. Данный алгоритм можно усовершенствовать, зажигая светодиоды от выигравшего игрока по очереди в сторону проигравшего.
Принципиальная схема

Листинг программы
int count = 3; // создадим перемнную, в которой будем хранить счет игры, подсвечивать номер пина светодиода
int last_count = 3; // прошлое значение счета игры, для отключения светодиодов при изменении счета
int lastR = 0; // создадим переменную lastR, для отработки нажатий
int lastL = 0; // создадим переменную lastL, для отработки нажатий
pinMode(i, OUTPUT); // светодиоды обозначаются как выходы
pinMode(8, INPUT); // 8 пин — правая кнопка — обозначается как вход
pinMode(9, INPUT); // 9 пин — левая кнопка — обозначается как вход
digitalWrite(last_count, 0); // выключаем светодиод, который горел до этого
last_count = count; // присваиваем прошлому значению игры новое значение счета
Кто быстрей игра ардуино
В этом видео соберем классный тренажер для повышения уровня реакции, для сборки вам потребуется:
— Контроллер Arduino Mega 2560: http://ali.pub/22kig6
— Экран LCD 1602 с модулем I2C: http://ali.pub/241bmo
— Кнопки со светодиодами 60мм: http://ali.pub/241c7a
— Матрица кнопок 4х4: http://ali.pub/241bo8
— Блок питания 12 вольт: http://ali.pub/241brc
— Пьезодинамик (пассивный спикер) 10шт: http://ali.pub/241cmg
— Телефонный кабель 4 жилы: http://fas.st/r-neDv
— Кабельный канал 100м: https://goo.gl/DfcHtY
Выключатели, коннекторы и прочая мелочевка.

Привет друзья, в этом видео мы сделаем игру для тренировки внимания, быстроты реакции и выносливости. Эта простая игра позволит проводить тренировки у себя дома и развиваться каждый день.
Итак, как некоторые уже знают у меня растут два хоккеиста: Фигуристович и Улиткович. Для того чтобы стать круче, им нужно ежедневно напрягать мышцы. Пару лет назад я наткнулся на крутейший канадский тренажер реакции. Говорить его название и показывать лого по новым правилам Ютуба низя – а то забанют нафиг, поэтому просто скажу, что чумодан с канадской игрой стоит ну че-то там — 20 тысяч долларов. Конечно тут беспроводные датчики, которые можно расставить, как угодно. Но сука мать его 20 тысяч долларов.
Поэтому и было решено сделать подобную игру для тренировки на платформе Ардуино. Беспроводные датчики — это конечно круто, но надо аккумулятор в каждый ставить, радиоканал организовывать. Получается к каждой кнопке нужно будет по контроллеру Ардуино, аккумулятору и радио модулю – ну его нафиг. Будем делать все по старинке – на проводах. Тупо и просто. Стационарный комплекс меня вполне устаивает.
Итак, для сборки тренажера нам понадобится: управляющий контроллер Ардуино Мега – это хороший и быстрый контроллер, почему Мега, а не Уно? Просто потому что у него много ПИНов для подключения.
Так, еще нужен стандартный LCD экран 1602 с модулем I2C для вывода информации. Куча больших китайских кнопок на 60 миллиметров со встроенной светодиодной подсветкой. Сколько кнопок брать – тут уж вы решаете сами, проект игры максимально поддерживает подключение до 15 кнопок.
Еще потребуется матрица кнопок 4 на 4. Кабельный канал на 100 миллиметров. Пьезодинамик, много метров телефонного кабеля на 4 жилы и дешевый блок питания на 12 вольт.
Собирать все нужно по такой схеме. Светодиоды от кнопок нужно подключать в ПИНы от 2 до 16. В 19й ПИН подключаем пьезодинамик. В 33й ПИН и ниже по прямой до 47го ПИНа подключаем матрицу кнопок 4 на 4.
На макетке это получается выглядит вот так. Тут для примера подключено 4 светодиода. И соответственно в коде программы задано что у нас игра на 4 кнопки.
Ну что на макете все работает и настало время её реализовать в нормальном виде.
Для начала нужно переделать все большие китайские кнопки. В них тупо установлен светодиод с резистором на 470 ом. Т.е. рассчитано под напряжение 12 вольт. Ардуино же выдает 5 вольт, поэтому светить они будут тускло. И желательно заменить резистор на любой от 150 до 220 Ом.
Матрица кнопок 4 на 4 используется по сути только для удобной разводки. Формально никто не будет нажимать на эти маленькие кнопочки рядом с Ардуино, и мы их будем удлинять, подключая большие кнопки. Конечно такую плату можно нарисовать и вытравить, но цена модуля с кнопками составляет всего 40 рублей – поэтому нет смысла заморачиваться. Я даже выпаивать кнопки оттуда не буду, просто припаяю к обратной стороне платы провода от больших кнопок. Порядок кнопок на матрице пронумерован с лицевой стороны. Номер К16 зарезервирован для перезагрузки игры для нового запуска.
Таким образом получается, что светодиод подключенный ко второму ПИНу Ардуино, соответствует кнопке К1 и далее по порядку. Последняя кнопка К15 это будет 16 порт Ардуино для подключения светодиода от нее.
Для монтажа всю игру будем устанавливать в кабельный канал на 100 миллиметров. Он отлично подходит для этой цели, и в нем будет место для установки самого контроллера и экрана.
Далее сверлим в лицевой панели перовым сверлом на 24 миллиметра отверстия под все кнопки, сверлим два дополнительных отверстия на 4 миллиметра и устанавливаем кнопки. Чтобы разместить кнопки нужно выломать центральную внутреннюю перегородку, она мешается по высоте установки.
Далее берем телефонный кабель на 4 жилы. Два провода подключаем к светодиоду, а другие два к кнопке. Имеет значение только плюсовой провод, идущий к светодиоду. У меня черный – это минус светодиода, красный плюс, а желтый и зеленый идут на контакты кнопки. В случае ошибки с плюсом, нужно будет снять кнопку и перевернуть в ней лампочку меняя полярность. Обязательно притяниет провод стяжкой к кнопке, это защитит от случайной поломки жилы провода. Далее все провода тащим к контроллеру Ардуино.
Сам контроллер и экран крепим на ту же лицевую панель с помощью стоек М3. Отдельно устанавливаем кнопку перезагрузки. Я купил в автомагазине первую попавшуюся кнопку на открытие багажника.
Питание всего этого колхоза будет от 12 вольтового блока питания. Подключаем его к сети 220 вольт через выключатель. Я использовал другой блок питания, но смысл от этого не меняется. Закрепил его на двухсторонний скотч предварительно обезжирив поверхности. Получилось намертво.
Для того чтобы игра не была на одной линии вдоль кабельного канала, и получался челночный бег туда-сюда. Несколько кнопок нужно вынеси на противоположную стену на том же телефонном кабеле. Я вынес две кнопки. Получилась каждая по метров 5 провода. Подключение этих двух кнопок сделано через один RJ45 разъем с розеткой для возможности отключения и разборки.
Теперь нужно подключить все большие кнопки. Черный провод земли кидаем на массу Ардуино, для этого отлично подошел корпус самого USB порта. Красный провод от светодиода кнопки по порядку подключаем в ПИНы начиная от номера 2 и до 16. ПИНы 0 и 1 на контроллере Ардуино Мега заняты под передачу данных, поэтому подключать надо именно со второго ПИНа. Зеленый и желтый провод от большой кнопки запаиваем на обратную сторону матрицы соблюдая порядок со светодиодом. На самой матрице кнопки подписаны, туда их и нужно подпаивать. По сути получается, что мы удлиняем кнопки матрицы вынося их наружу. Для компактного расположения рекомендую выгнуть разъем на матрице, тогда она очень компактно устанавливается прямо поверх Ардуино Мега.
Ну и не забываем про пьезодинамик, его надо подключить в 19 ПИН Ардуино плюсом и на массу. После пайки все провода нужно зафиксировать на стяжки, а контакты залить термоклеем чтобы они случайно не ломались и не выпадали, т.к. дети будут долбить по кнопкам.
И в конце сборки у нас получается вот такая красота. Осталось сделать последний шаг. Заходим на страницу проекта, ссылка есть в описании видео. Качаем архив с прошивкой – распаковываем – открываем файл проекта и настраиваем его под свою реализацию игры. Я старался максимально подробно комментировать код.
Вам нужно установить длительность игры. По умолчанию в проекте задано 30 секунд. Вообще бегать челночным бегом тяжело и быстро выдыхаешься. Рекомендую ставить не более 2х или 3х минут.
Далее нужно задать количество кнопок в вашей реализации игры, у меня тут установлено 4, а максимально игра поддерживает до 15 кнопок. Т.к 16 кнопка – это сброс и перезагрузка игры.
После этого выбираете контроллер – Ардуино Мега 2560, устанавливаете COM порт и загружаете прошивку в Ардуино. Запихиваем лицевую панель в смонтированный кабельный канал. Подключаем кнопки на противоположной стене. И теперь можно играть.
Данный тренажер получился очень полезным. У пацанов значительно возросла скорость реакции. Игра стоит у них в ежедневных обязательных тренировках. Еще полгода назад они долго тупили, бегали куда попало и неуверенно искали взглядом горящую кнопку, а сегодня сразу бегут куда нужно и мгновенно жмут кнопки, включающиеся рядом.
Подобный тренажер будет очень полезен всем, кто активно занимается спортом и хочет себя развивать дальше. Он однозначно будет полезен тем, кто играет в футбол, теннис, хоккей. Вратарям и полевым игрокам. Внешние кнопки можно не фиксировать и расставлять перед началом игры в нужных вам местам. Это сделает игру более интересной и разнообразной. Надеюсь вам понравился данный проект, и вы поддержите канал лайком.
И да, сразу скажу: Тренажер не продается. На заказ я их не собираю, сделать его можно только самостоятельно. Данное видео является инструкцией по его сборке. Собирается он буквально за один вечер. А список всех комплектующих есть в описании данного видео. Единственное что рекомендую – взять пару больших кнопок про запас. За полгода работы одна вышла из строя и стала не четко нажиматься, пришлось заменить.
ЧАСТЬ #1 основы
Я заказал себе arduino, «так себе игрушка» подумал я, комплект маленький (для пробы) о чем в последствии пожалел. Хотелось раскрыть потенциал, но из-за отсутствия дополнительных модулей этого не выходило, пришлось экспериментировать, подрубал arduino к системе безопасности и смотрел как датчики делают свою работу, потом решил сделать звуковую сигнализацию (используя пративную пищалку из комплекта), так сказать отучивал собак громко или неожиданно лаять и тут мои руки дошли до дисплея 1602. «Хм… это же настоящий дисплей» подумал я, но тут же разочаровался узнав что он сжирает почти половину всех контактов на самой arduino. Покопавшись я нашел странную плату в комплекте «i2C» и очень подозрительно было ТО! Что количество дырдочек совпало с количеством пимпочек на дисплее. «Хм, не с проста. » подумал я, и решил их спаять. Чуть позже я понял что сделал верную штуку и теперь мой дисплей съедает всего два канала. Начал изучать, что же это за дисплей и что он умеет. Изучив достаточное количество материала я узнал, что дисплей чисто текстовый, но о чудо! Он может обработать 8 новых символов, габаритами 5х8 пикселей. Ну что же, давайте начнем писать игру! Первое, это надо придумать что за игра будет, решил сделать подобие динозаврика гуугл хром, но с парочкой фишек так сказать, для начала я думаю сойдет но ведь надо еще чем-то управлять, причем многокнопочным, долго думать не пришлось. Взял ИК пульт из комплекта.

«Вот и джойстик» подозрительно пробормотал я себе под нос, думая о задержке от пульта, четкости работы ИК датчика да и вообще об адекватности данной идеи, но делать было нечего, я мог бы обучить arduino работать с клавиатурой для компа, но было действительно лень это делать. Так что приступил я записывать коды пульта, что бы в дальнейшем с ними работать. Код для микроконтролера тут простейший:
Выглядит код сигнала пульта так: «FF18E7» у вас коды будут конечно другие, но суть вы должны понять, а когда будете делать к этому коду обращение, в начале дописываем «0х» и у нас получится (0хFF18E7).
После заливки сего в arduino и подключив его как надо, мы можем начать записывать с лога порта цифорки, после нажатия на кнопки ИК устройства. Но тут как раз я хочу вам уточнить про то, как надо подключать датчик ИК.
Если мы смотрим на датчик, мы видим три ножки, левая (аналоговый сигнал), средняя (масса), правая (плюс 5V).

Так как я еще мало представлял как это будет вообще работать, я начал эксперименты. Сначала делал код скетча шаговый, через (delay(time)) сначала я не подозревал что это плохая идея
В чем главный косяк. Данный микроконтроллер не умеет делать мультизадачность. Он считает код сверху вниз, проходя по всем веткам и функциям и после завершения, он начинает заново. И вот, когда у нас этих «delay» в коде становиться очень много, мы начинаем замечать явные задержки. Кстати да, зачем нам много «delay» вообще нужно. Когда мы делаем игру, у нас начинает расти количество проверок и взаимодействий. Например к нам движется враг а я хочу его перепрыгнуть, я нажимаю «прыжок» а по плану, я должен зависнуть в воздухе к примеру на 0.8f секунд в воздухе, вот и вся игра и зависает на эти 0.8f секунды. «Косяк» подумал я и начал думать над решением. Решение было найдено быстро. Сам микроконтроллер умеет достаточно быстро читать код от начала до конца, (если ему не мешать) и еще он умеет считать время с начала его включения. Вот это то нам и надо. Теперь мы всего лишь создаем переменные которые будут хранить время на то или иное действие и переменную которая сверяет разницу от того сколько сейчас время и во сколько надо активировать код. Arduino за секунду, берет 1000 миллисекунд, достаточно удобно. Вот фрагмент когда что бы стало понятнее:
Не трудно, правда?
После переписывания всего кода на новый лад, игра стала работать быстрео и четко, симулировать мультизадачные действия Я что-то далеко зашел. Ведь нам надо еще сделать персонажа, подобие интерфейса и анимации. Так как мы можем создавать всего восемь новых символов, нам надо как-то это все промутить по умному. На дисплее много объектов делать я пока что не планирую, следовательно, можно сделать так что бы у меня было как раз восемь активных объектов на экране за одну обработку кода. Что же это будет? Ну естественно главный герой, удар, злодей, сердечко и индикатор здоровья. Для начала этого с головой хватит. Да и у меня еще три уникальных объекта в запасе.
Главный герой будет у нас выглядеть так:

Процесс вписывания нового символа, я произвожу двоичным кодом (мне так удобно)
выглядеть он будет так:
01110
01110
00100
01110
10101
00100
01110
01010
Если всмотреться, то из единичек, мы увидим нашего персонажа, но что бы он без дела не стоял, давайте сделаем ему анимацию.

Теперь к нашему коду, добавиться еще один набор двоичных цифорок, а именно такой:
00000
01110
01110
00100
11111
00100
01110
01010
Как сделать анимацию на этом дисплее, логику я указал выше, а теперь перейдем к практике, в данный момент, расположим его на центр экрана, и заставим просто стоять на месте, и помните, наша задача использовать только одну ячейку памяти на два спрайта анимации. Это легче чем кажется:
После запуска, мы видим чУловечка, который находиться в центре экрана, на 2й строке и качается, так сказать.
Вывод: сегодня я рассказал как узнать данные через ИК порт, как обойти задержку работы кода микроконтроллера и как сделать начальную анимацию.
Остальное скоро писать еще очень много чего, так что гляну как это вообще будет вам интересно и если да, то завтра же приступлю к написанию продолжения.
Arduino.ru
Добрый вечар ребята! Подскажите пожалуйста не было ли на вашем форуме такой темы как для игры Кто Быстрее нажмет кнопку? Я нашел один сайт на котором был описан способ сборки такой игры на ардуино нано: https://usamodelkina.ru/11535-interaktivnye-tumby-dlja-meroprijatij-brainsystem.html А можно ли сделать такию схему безпроводной и какие лучше элементы из китая использовать, потому что видел на Ютубе что не все вайфай модули с китая хорошо работают.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
А как это реализовать из каких деталей более мение качкственно, и схему сборки. За програмное обеспечение заплачу.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Начните с описательной части: какие расстояния, автономность/неавтономность, какая индикация, количество конкурирующих кнопок, время реакции. Без этого никакое программное обеспечение вам никто не напишет.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Расстояние не более 5-6 метров, автономность это работа от повербанка наверно или от бытареек крона, индакиция настольная светодиодная, 4 конкурирующих кнопки с «фальшстартом» до включения на головноп пульте, время реакции(нажатие человеческим пальцем)
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Хотя, что-то я такое припоминаю — обсуждали тут подобную систему. По-моему основная загвоздка была как-раз в радиоканале. Частота рабочая одна, произойдёт наложение сигналов друг на друга и выиграет не первейший, а мощнейший передатчик. Или тот, кто попал в «дырку» между взаимоуничтожившимися посылками от двух передатчиков. Словом — неоднозначная история с беспроводкой.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

тут только шировещательный режим использовать, отправляем на все кнопки разрешение, каждая кнопка записывает микрос, по нажатию кнопки фиксруется еще раз микрос, вычисляется разность и далее мастер опрашивает, как один из вариантов
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Сложная ситуация. Тогда лучше через проводную систему сделать, она проще будет
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

это да, обойдётесь одной ардуинкой
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Хотя, что-то я такое припоминаю — обсуждали тут подобную систему. По-моему основная загвоздка была как-раз в радиоканале. Частота рабочая одна, произойдёт наложение сигналов друг на друга и выиграет не первейший, а мощнейший передатчик. Или тот, кто попал в «дырку» между взаимоуничтожившимися посылками от двух передатчиков. Словом — неоднозначная история с беспроводкой.
В данной задаче достаточноо переслать полезной нагрузкой 1 байт. К байту прицепиться 5 байт преамбулы (можно уменьшить до трех) — она же адрес трубы. И в конце байт CRC. Вся эта посылка перешлется за единицы мкс. Уверяю вас — вы никогда и ни за что не нажмете вдвоем кнопки так, чтобы попасть в этот интервал времени. Ну т.е такое возможно один раз на миллион.
Есть другой вариант. Хост постоянно опрашивает тумбы. Тумба же в ACK ответе шлет состояние кнопки. Но в этом варианте шанс одновременного нажатия двух-трех кнопок увеличивается, зато не будет коллизий в радиоканале.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
это да, обойдётесь одной ардуинкой
Можно так и вообще на 561 серии. И ардуина не нужна.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
В данной задаче достаточноо переслать полезной нагрузкой 1 байт. К байту прицепиться 5 байт преамбулы (можно уменьшить до трех) — она же адрес трубы. И в конце байт CRC. Вся эта посылка перешлется за единицы мкс. Уверяю вас — вы никогда и ни за что не нажмете вдвоем кнопки так, чтобы попасть в этот интервал времени. Ну т.е такое возможно один раз на миллион.
Никто не говорит, что реализация данной системы невозможна.
Так, как никакие допуски, посадки ТС не озвучил, а так же не привёл данных о чистоте эфира, исходим из самых строгих требований и в предположении, что эфир засран. Т.е. отдельно взятая NRF может перепосылать пакет некоторое кол-во раз и не факт, что отправит вообще. Что, несоменнно, вносит неоднозначность в исход радио-гонки. А предполагать, что «хренли там не работать» может любой из нас с лёгкостью. Особенно, если ему не требуется впоследствии отвечать за результат.
Экспериментировать и налаживать систему самостоятельно ТС, как я понимаю, возможности не имеет.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

В данной задаче достаточноо переслать полезной нагрузкой 1 байт. К байту прицепиться 5 байт преамбулы (можно уменьшить до трех) — она же адрес трубы. И в конце байт CRC. Вся эта посылка перешлется за единицы мкс. Уверяю вас — вы никогда и ни за что не нажмете вдвоем кнопки так, чтобы попасть в этот интервал времени. Ну т.е такое возможно один раз на миллион.
Никто не говорит, что реализация данной системы невозможна.
Так, как никакие допуски, посадки ТС не озвучил, а так же не привёл данных о чистоте эфира, исходим из самых строгих требований и в предположении, что эфир засран. Т.е. отдельно взятая NRF может перепосылать пакет некоторое кол-во раз и не факт, что отправит вообще. Что, несоменнно, вносит неоднозначность в исход радио-гонки. А предполагать, что «хренли там не работать» может любой из нас с лёгкостью. Особенно, если ему не требуется впоследствии отвечать за результат.
Экспериментировать и налаживать систему самостоятельно ТС, как я понимаю, возможности не имеет.
присоединяюсь, поэтому и предложил, что системы кнопок слушают эфир, получают сигнал разрешения и фиксируют время срабатывания, а уж потом мастер опрашивает слэйвов и вычисляет, кто там первый и, никаких коллизий )))
