Образовательный конструктор Ерёма. Ученику
Наш конструктор Ерёма прежде всего создан для проектной деятельности, и поэтому всю работу с ним мы свели в 35 учебных проектов, сделав которые можно освоить базовый набор электронных компонентов и изучить на хорошем уровне основы программирования!
Мы постарались сделать проекты разными и интересными, насколько это возможно, чтобы максимально комфортно погрузить наших пользователей в сложный, но увлекательный мир программирования микроконтроллеров!
Успехов вам на этом пути!
Начало работы с Arduino
Установим Arduino IDE, поставим необходимые драйвера, скачаем и подключим библиотеки, а также настроим COM-порт. Кроме этого, рассмотрим панель инструментов и использование горячих клавиш для удобной работы в среде программирования.
Проект 1. Мигающий светодиод
В этом проекте мы изучим, как работает микроконтроллер, запрограммируем его выходы, для управления разными светодиодами.
Проект 2. Уличный светофор
Проект 3. Светофор с ручным управлением
Мы рассмотрим новый модуль — Keypad, научимся считывать данные с него и передавать в компьютер. Кроме этого сделаем светофор, который управляется при помощи этого модуля!
Проект 4. Ночной светильник
Мы сделаем автоматический ночник — устройство, которое включает подсветку, когда в помещении становится темно! Для этого нам нужно будет изучить оператор выбора if — один из самых часто используемых в программировании!
Проект 5. Счётчик
В этом проекте мы научимся считать количество нажатий кнопок на Keypad, и выводить это количество на семисегментный индикатор. Так, например, работает табло подсчёта забитых голов на спортивных соревнованиях!
Проект 6. Быстрокликер
Мы изучим новый элемент — сервомотор, и сделаем с помощью него небольшую игру. В ней будет два игрока, и задача каждого как можно быстрее кликать на кнопку. Сервомотор будет наклонять флажок в сторону более быстрого игрока, и как только флажок достигнет края, победителю засчитывается выигрыш!
Проект 7. Необычный синтезатор
Синтезатор — это устройство, которое при нажатию на кнопку/клавишу воспроизводит какой-либо звук. Наш синтезатор будет реализован на модуле Keypad, с помощью кнопок и их комбинаций мы будем проигрывать любую из 7 существующих нот! А при помощью регулятора можно будет подстроить тональность.
Проект 8. Кнопочные ковбои
Это небольшая, но довольно интересная игра на скорость реакции. Через некоторые случайные промежутки времени будет издаваться сигнал. По сигналу игроки должны нажать на свою кнопку, кто быстрее нажал тот и выиграл раунд. При этом ведётся подсчёт очков, и передаётся на компьютер.
Проект 9. Гитара
Мы сделаем особую гитару, где воспроизводимый звук будет задаваться датчиком расстояния. Передвигая одну руку перед датчиком и нажимая кнопку проигрывания другой рукой, мы сможем воспроизводить самые разные мелодии.
Проект 10. Сигнализация
В этом проекте будет разработана сигнализация, работающая на датчике расстояния. При включении сохраняется уровень расстояния на датчике, и если в активном состоянии сигнализации кто-то пройдёт мимо, например, войдёт через дверь, то сигнализация сработает и зазвучит сигнал тревоги!
Проект 11. Счетчик отжиманий
Это несложное устройство позволяет считать, сколько отжиманий вы выполнили! Вы также можете реализовать режим тренировки с выводом количества подходов и использовать устройство в качестве тренера!
Проект 12.
АвтофинишАвтофиниш будет полезен любому бегуну и его тренеру! Тренеру достаточно скомандовать “На старт, внимание, марш”, и нажать кнопку старта на пульте управления. После этого автофиниш начинает считать секунды, до тех пор, пока бегун не пробежит рядом. После этого на индикаторе выводится время забега.
Проект 13. Новогодний огонёк
В этом проекте мы научимся пульсировать светодиодами, управляя яркостью свечения с помощью цикла. Самое сложное — сделать переливающиеся огоньки, когда свет плавно перетекает из одного светодиода в другой.
Проект 14. Эквалайзер
В этом проекте мы научимся работать со звуком: посмотрим как выглядит звуковая волна, фиксируемая датчиком звука, и как изменить её форму, чтобы она выглядела как на настоящих эквалайзерах.
Проект 15. Рассерженный моторчик
В этом проекте мы научимся работать с обычными моторами: управлять их скоростью и направлением движения. А ещё мы сделаем управление мотором с помощью хлопков в ладоши: определённое количество хлопков будут задавать направление вращения или выключать мотор.
Проект 16. Управляемый сервомотор
Практически каждый человек в современном мире использует мобильный телефон. И используя технологию bluetooth, которая есть в каждом смартфоне, мы научимся управлять сервомотором, передавая угол для поворота с телефона по беспроводной связи!
Проект 17. Мотор с сенсорным управлением
Используя линейку датчиков освещённости в качестве сенсора, мы сделаем мотор с сенсорным управлением: проводя рукой в определённую сторону, мы можем задавать скорость вращения.
Проект 18. Счётчик оборотов
В этом проекте мы разработаем небольшой датчик, который позволит нам подсчитать, сколько оборотов выполнил мотор, и при необходимости вращать мотором определённое количество оборотов.
Проект 19.
Пейзаж на экранеМы изучим экран, который использовался в сотовых телефонах Nokia, и с помощью простых команд, которые рисуют различные фигуры, линии и точки, нарисуем небольшую картинку — пейзаж.
Проект 20. Художник
В этом задании рисунок будет рисоваться с помощью датчика наклона самим пользователем! Система работает очень просто: в какую сторону мы наклоняем датчик, в ту сторону и будет двигаться кисть на экранчике.
Проект 21. Пиксельная анимация
В этом проекте мы создадим простую картинку, сохраним её в формате bitmap в памяти микроконтроллера, и научимся выводить её из памяти на экран.
Проект 22. Тренажёр глазомера
Глазомер — это очень полезный и необходимый навык, который нужен во многих профессиях, самый простой пример это водитель, которому постоянно нужно определять на глаз расстояние между машинами на дороге. И мы создадим устройство, которое позволит тренировать глазомер.
Проект 23. Игра “Время собирать”
Это одна из простых игр, которая была популярна лет 40 назад. В неё с разных точек экрана будут падать предметы, и задачей игрока будет вовремя их ловить.
Проект 24. Сканер штрих-кодов
Мы разработаем простой сканер, который сможет распознавать специально созданный штрих-код, определяя последовательность черных и белых полос, и число которое закодировано ими.
Проект 25. Переводчик систем счисления
В этом проекте пользователем с помощью пульта управления будет вводиться число, а контроллер будет переводить это число в другие системы счисления и выводить результаты на экран.
Проект 26. Тестировщик знаний
Это устройство позволит вам проверить свои знания по английскому языку! Простая система тестирования, с тремя ответами. Выбери правильный ответ в каждом задании и набери как можно больше баллов!
Проект 27.
Игра «Угадайка»Контроллер загадывает число, а вы должны его угадать! Чтобы было проще угадывать, выводятся подсказки в какую сторону (большую или меньшую) отклоняется игрок. Попробуйте отгадать за минимальное количество попыток!
Проект 28. Тренажёр памяти
Небольшая игра, которая раньше называлась “Саймон говорит”. Компьютер проигрывает определённую последовательность звуков, подкрепляя это цветными сигналами. Задача игрока запомнить последовательность, и потом её воспроизвести, нажимая кнопки на Keypad.
Проект 29. Предсказатель
Это устройство наугад отвечает на ваш вопрос! Теперь необязательно подкидывать монетку для выбора. А ещё оно может выдать предсказание на сегодняшний день, из заранее сформированного массива предсказаний.
Проект 30. Дистанционный калькулятор
Простой калькулятор с дистанционной системой управления. Также можете реализовать режим обучения: на экране генерируется простой пример, и пользователь должен ввести ответ.
Проект 31. Странный плеер
Небольшой музыкальный плеер. На экране список мелодий, которые можно выбирать с помощью пульта управления, и запускать их на воспроизведение.
Проект 32. Мессенджер
Небольшой мессенджер на Arduino. Позволяет набрать сообщение и отправить его на телефон с помощью технологии Bluetooth.
Проект 33. Декодер Морзе
С помощью кнопки в устройство вводиться последовательность точек и тире — символов азбуки Морзе. Устройство дешифрует введённое слово, и выводит его на экран! А ещё там есть режим обучения азбуке Морзе!
Проект 34. Игра «Звёздный патруль»
Небольшая игра, в которой игрок управляет звездолётом. Его постоянно атакуют враги, и надо от них отстреливаться! Попробуй удержать линию обороны и не пустить врагов на границу!
Проект 35.
ЛидарЛидар — это небольшой радар, на основе вращающегося датчика расстояния. С помощью него можно нарисовать карту местности, отмечая расстояния до ближайших препятствий
Интеграция Arduino в детский конструктор Знаток ⋆ Журнал научно-технического творчества педагогов и школьников «Главный конструктор»
Итак, после успешной интеграции Arduino в конструктор Знаток проходит короткое время, а ребенок требует: «Ещё!». Трех входов/выходов как-то маловато. (I2C чур не предлагать:). И отправился папа в очередной раз в галантерейный магазин покупать одежные кнопки. Но предварительно провел теоретические изыскания и выяснил, что для Знатока подходят кнопки Альфа (еще их называютОмега — из-за формы прижимной пружины) диаметром 12.5мм. Кнопки состоят из четырех деталей, из которых мне нужна только одна. Деталь эта продается партиями по 1000шт за 20$, но продавцы с физиками не работают. Неожиданно, в магазине на четкие тактико-технические характеристики кнопки мне предлагают приемлемый ценник 1. 6$ за 10шт (в полном комплекте) под торговой маркой Гамма. Беру!
Подключаем семисегментный индикатор
В комплект нашего конструктора Знаток входит семисегментый индикатор. Если суметь подключить его к Arduino, то можно будет собрать:
электронный кубик — жмешь кнопку — высвечивается число от 1 до 6.
счетчик нажатий. Нажмешь на одну кнопку, уменьшиться, на другую — увеличится.
секундомер (не забыть подавить дребезг)
игрушку змейка — змейка ползет по кругу. Мигает точка — яблоко. Когда голова змейки проползает рядом нажать кнопку. Змейка увеличится. Если нажать кнопку когда точка не горит — уменьшиться
игру узнай цифру. На индикаторе включаются сегменты случайным образом. Как только появляется цифра — нужно нажать кнопку. Учесть: перевернутые цифры -правильны, зеркальные — неправильны.
Берем провода, подпаиваем их к детали кнопки с пружинкой. Так как у нас нет обжимателя для кнопок, натянули сверху термоусадку (d=14мм). Так получилось, что на левую колонку контактов индикатора усажена красная труба (левый борт — красный:), на правую — синяя (зеленой не было:). В усаженной трубке вырезаем отверстие для контакта.
Провода идущие к правой части индикатора должны быть длиннее на 5..6см. У нас получилось два четырехжильных кабеля на 20 и 25см.
Собрали схему. Ура! Заработало!
Бонус трек для тех, кто дочитал до конца, а также для тех у кого в состав конструктора Знаток не вошел семисегментный индикатор
Остались запчасти от кнопок. Куда бы их приспособить? Берем часть, которая фиксируется пружинкой и пару скрепок. (Вместо скрепок лучше взять прямые пины с квадратным сечением, но у нас их под рукой не нашлось.) Толщину скрепки лучше выбирать из спецификаций макетной платки (обычно 0.3..0.8мм).
Нарезаем скрепку на кусочки по 1см и запаиваем их вертикально в кнопку. Получились этакие грибочки — gender-race ченджеры.
У нас, к сожалению, не нашлось семисегментного индикатора, зато нашелся 36-ти точечный. Примерная схема на фотографии.
И да пребудет с вами фантазия!
Arduino,
обучение детей программированию,
конструктор знаток
Счетчик вверх-вниз с использованием Arduino и 7-сегментного дисплея
Подразделения:
Программное обеспечение:
Приветствуем вас в нашем новом проекте. В этом проекте мы собираемся сделать очень интересный проект, который представляет собой счетчик Up-Down. Большинство из нас, кто имеет опыт работы с электроникой или изучал цифровую электронику, должны знать счетчик. Счетчик — это простое устройство для подсчета чисел. Что касается цифровой электроники, существует два типа счетчиков: прямой счетчик, который ведет счет в порядке возрастания, и еще один счетчик, который ведет счет в порядке убывания. И у каждого счетчика есть предел сброса, при достижении которого счетчик сбрасывается до своего начального значения и снова начинает отсчет. Предел каждого счетчика зависит от битов счетчика. Например, у нас есть 8-битный счетчик вверх, что означает, что он будет считать до 255, а затем сбрасывается и снова начинает считать с нуля.
Программное обеспечение для установки
В этом проекте нам понадобятся два программного обеспечения. Во-первых, это Arduino IDE, которая используется для программирования Arduino. Поскольку мы собираемся сделать этот проект в моделировании, мы будем использовать программное обеспечение для моделирования Proteus. Proteus — это программа для моделирования электронных проектов. В этом программном обеспечении мы можем запускать моделирование электронных схем в реальном времени и отлаживать их, не повреждая реальных компонентов.
И хорошей практикой является создание любой схемы в симуляции первой, если мы делаем это в первый раз.
И Proteus имеет очень большую базу данных для электронных компонентов, но ему не хватает некоторых новых библиотек компонентов, для этого мы должны установить некоторые библиотеки для этих компонентов. В этом нам нужно установить библиотеку для модуля Arduino UNO.
Сначала мы должны загрузить библиотеку Arduino UNO.
Необходимые компоненты
Для этого проекта нам потребуются следующие компоненты
- Arduino UNO
- 7-сегментный светодиодный дисплей
- Две кнопки
- 2 резистора
Сведения о компонентах
Arduino UNO
- Arduino UNO — это плата разработки с открытым исходным кодом, разработанная Arduino.
- В нем используется микроконтроллер ATmega328 производства ATMEL.
- ATmega328 имеет 8-битное процессорное ядро на основе RISC с флэш-памятью 32 КБ.
- Arduino UNO имеет 14 цифровых входных/выходных контактов и 6 аналоговых входных/выходных контактов.
- Он имеет 1 UART, 1 SPI и 1 коммуникационное периферийное устройство I2C на борту.
- Имеет 10-битный АЦП, который может выдавать значения от 0 до 1023.
- Рабочее напряжение ATmega IC составляет 5 вольт, но на плате Arduino, используя разъем питания постоянного тока, мы можем подключить источник питания до 9-12 вольт.
- Мы можем запитать Arduino UNO, используя разъем питания постоянного тока или Vin на модуле Arduino UNO.
- Здесь мы использовали Arduino UNO в качестве основного контроллера, который здесь работает как счетчик и отображает то же самое на 7-сегментном светодиодном дисплее.
7-сегментный светодиодный дисплей
- Это модуль светодиодного дисплея, в котором есть семь светодиодов, расположенных в прямоугольной форме, на которых мы можем отображать однозначные числа от 0 до 9, а также некоторые буквы алфавита.
- Он имеет два типа: один с общим заземлением, а другой с общим Vcc.
- Имеется 7 разных контактов для каждого светодиода и один общий контакт, этот контакт может быть общей землей или общим Vcc в зависимости от типа дисплея.
- Контакты на дисплее обозначены как a,b,c,d,e,f,g.
- Общая земля также известна как общий катод, а общий Vcc также известен как общий анод.
- В дисплее с общим катодом светодиоды будут светиться, когда контакты светодиодов подключены к логическому HIGH.
- При отображении типа общего анода светодиоды будут светиться, когда контакты светодиодов подключены к логическому НИЗКОМУ уровню.
- Поскольку это простые светодиоды, поэтому при их использовании в схеме необходимо использовать несколько защитных резисторов с каждым из них, если мы используем дисплей с общим заземлением, и один резистор с выводом Common Vcc, если мы используем тип Common Vcc. отображать.
- Для счетчика мы будем следовать таблице истинности дисплея для отображения чисел.
Кнопки
- В этом примере мы использовали простую кнопку мгновенного действия для установки счетчика в режим счета ВВЕРХ или в режим ВНИЗ.
- В кнопке есть два контакта.
- Поскольку мы будем использовать кнопки в активном низком состоянии, это означает, что одна сторона будет подключена к земле, а другая клемма будет подключена к Arduino.
- Итак, когда мы нажмем кнопку, она замкнет цепь и установит штифт.
- При использовании любой кнопки обязательно использовать с ней подтягивающий или подтягивающий резистор, иначе будут некоторые сбои в работе.
- Поскольку, когда кнопка отпущена, цепь будет разомкнута, и если к другому контакту кнопки не подключены подтягивающие или подтягивающие устройства, то этот контакт будет в плавающем состоянии и будет подавать произвольное напряжение, что создаст проблему.
- Здесь, в этом проекте, мы использовали подтягивающий резистор, чтобы при отпускании кнопки состояние контакта было в логическом состоянии ВЫСОКИЙ.
Обзор проекта
Как известно, счетчики представляют собой простые электронные схемы, которые подсчитывают некоторые значения и после достижения максимального значения сбрасываются. В этом проекте мы создадим счетчик вверх-вниз, что означает, что наш счетчик будет считать от 0 до 9 и снова после 9-0.
Мы будем использовать 7-сегментный дисплей для отображения значений счетчика. В этом проекте мы использовали обычный светодиодный экран. И две кнопки для запуска счетчика в прямом или обратном счете. Когда мы нажимаем кнопку ВВЕРХ, Arduino активирует контакты в соответствии с прямым счетом, а светодиод отображает числа от 0 до 9. и когда мы нажимаем кнопку DOWN, Arduino активирует вывод в соответствии с обратным счетом, и светодиод будет отображать числа от 9 до 0.
Для управления светодиодами Arduino установит контакты как ВЫСОКИЙ и НИЗКИЙ в соответствии с таблицей истинности для отображения общего заземления.
Arduino установит контакты, а светодиод отобразит цифры.
Принципиальная схема и работа
Теперь мы знаем, как работает наш счетчик, поэтому давайте создадим схему для него:
- Откройте новый проект в Proteus и импортируйте все необходимые компоненты в рабочую область.
- Теперь давайте подключим кнопки к Arduino, для кнопки мы будем использовать цифровые контакты D11 и D12 Arduino UNO.
- Соедините одну сторону кнопок с Vcc, а другую сторону с Arduino UNO, и на этой стороне мы подключим подтягивающие резисторы.
- Соедините подтягивающие резисторы с землей.
- Теперь соедините контакты 7-сегментного дисплея с Arduino UNO.
- Подключите контакты светодиодного дисплея в том же порядке, что и 9.0003 А-2, В-3, С-4, Д-6, Е-7, Ф-8, Г-9 и ДП-5 . В противном случае на дисплее будут отображаться неверные данные.
Код Arduino для счетчика Up-Down
Теперь мы начнем писать код счетчика Up-Down. Код этого проекта будет разделен на три основные части. В первой части мы объявим все необходимые переменные и выводы. Во второй части мы установим режимы выводов и установим начальные состояния для выводов и при необходимости выполним необходимую настройку, а в последней части мы напишем нашу основную функциональность нашего проекта, которую мы хотим запускать постоянно.
- Итак, давайте объявим все необходимые переменные. Прежде всего, объявите переменные для контактов семисегментного дисплея и кнопки счетчика вверх и кнопки счетчика вниз.
- Теперь объявите все необходимые переменные, которые мы будем использовать в этом коде.
- Теперь мы объявили все необходимые переменные и выводы, так что давайте начнем с функции настройки void.
Void setup()
- Это одна из самых важных функций в структуре кода Arduino. Без этого наш код не будет успешно скомпилирован и покажет ошибку.
- Здесь мы установим режим вывода для каждого вывода и установим для них начальные значения.
- Эта функция запускается только один раз каждый раз, когда мы перезапускаем код, поэтому мы напишем только ту часть кода, которую хотим запустить
- Мы установим режим вывода семи сегментных светодиодов в режим вывода, так как мы хотим управлять светодиодами от них.
- И устанавливаем пин-режим кнопок в качестве ввода, так как мы хотим прочитать их состояние в приложении.
- В целях отладки также инициализируйте последовательный монитор.
- После этого мы напишем функцию цикла void.
Void loop()
- Это также одна из самых важных функций согласно структуре кода Arduino, мы не можем написать код без использования этой функции.
- В этой функции мы напишем код, который мы хотим запустить в непрерывном цикле, поэтому в этом разделе мы напишем наш основной код приложения.
- В соответствии с применением нашего кода, прежде всего, мы будем считывать состояния кнопок счетчика «Вверх» и «Вниз», а когда состояние изменится, мы активируем счетчик.
- Напишите условие для кнопки Up counter, при нажатии на кнопку состояние кнопки меняется и мы будем проверять состояние кнопки. Если он ВЫСОКИЙ, мы начнем увеличивать переменную счетчика и, используя «changeNumber ()», мы будем отображать числа на семисегментном светодиодном дисплее.
- Аналогично, для кнопки нижнего счетчика, когда кнопка нажата, состояние изменяется, а когда состояние кнопки высокое, мы начинаем уменьшать переменную счетчика и отображать число на семисегментном дисплее с помощью кнопки Функция «changeNumber()»
Void changeNumber(int buttonpress)
- Это определяемая пользователем функция.
- Мы будем использовать эту функцию для отображения числа на семисегментном светодиодном дисплее.
- Эта функция установит состояние контактов светодиода в соответствии с числом, которое мы хотим отобразить.
- Он принимает в качестве аргумента число и с помощью переключателя устанавливает состояние контактов в соответствии с соответствующим номером.
- Состояние контактов определяется таблицей истинности семисегментного светодиодного дисплея, упомянутой на приведенном выше изображении таблицы истинности.
Результат и тест
После схемы и части кодирования мы готовы запустить симуляцию:
- Чтобы запустить симуляцию, мы должны добавить шестнадцатеричный файл кода нашего приложения.
- Мы должны сгенерировать шестнадцатеричный файл из Arduino IDE.
- Чтобы создать шестнадцатеричный файл, перейдите в «Скетч >> Экспортировать скомпилированный двоичный файл», после чего он скомпилирует код нашего приложения, а шестнадцатеричный файл будет сгенерирован и сохранен в той же папке проекта.
- Теперь включите это в модуль Arduino UNO в моделировании.
- Чтобы добавить шестнадцатеричный файл, нажмите на модуль Arduino UNO, после чего откроется окно, оттуда перейдите к расположению шестнадцатеричного файла и добавьте его.
- Теперь запустите симуляцию.
- В начале на светодиодном дисплее отображается «0».
- Таким образом, когда мы нажимаем кнопку «Вверх», переменная счетчика будет увеличиваться на единицу при каждом нажатии, а когда мы нажимаем кнопку «Вниз», переменная счетчика будет уменьшаться на единицу при каждом нажатии, и то же самое будет отображаться на семисегментном светодиодном дисплее.
Заключение
Надеюсь, мы рассмотрели все вопросы, связанные с этим проектом. Я думаю, что это будет полезный проект для учебных целей и даст представление о работе счетчиков. Пожалуйста, сообщите нам в разделе комментариев, если вы столкнулись с какими-либо проблемами при создании этого проекта.
Спасибо, что прочитали эту статью. До встречи в следующем проекте.
Обнаружение изменения состояния Arduino, код счетчика кнопок Arduino,
Обнаружение изменения состояния Arduino
Код Arduino /* Обнаружение изменения состояния (обнаружение фронта) Часто вам не нужно постоянно знать состояние цифрового входа, вам просто нужно знать, когда вход переходит из одного состояния в другое. Например, вы хотите знать, когда кнопка переходит из положения OFF в состояние ON. Это называется обнаружением изменения состояния или обнаружением границ.
«Обнаружение изменения состояния» — это способ увидеть, когда кнопка нажата или отпущена. Вы можете использовать его для запуска различных действий при каждом нажатии кнопки. В этом руководстве также объясняется базовая структура кода (настройка, цикл) скрипта Arduino.
Обнаружение изменения состояния (обнаружение фронта) для кнопок После того, как кнопка заработала, часто требуется выполнить какое-либо действие в зависимости от того, сколько раз она была нажата. Для этого вам нужно знать, когда кнопка меняет состояние с выключенного на включенное, и посчитать, сколько раз происходит это изменение состояния.
Помните, аналоговый датчик на Arduino может иметь до 1024 возможных состояний. Простейшая форма обнаружения изменения аналогового состояния заключается в поиске датчика, превышающего заданный порог, чтобы принять меры.
Как записать изменение состояния (обнаружение края) с помощью AnalogRead() на Arduino? Обнаружение изменения потенциометра Arduino. 1. Вычисление во время AnalogRead на Arduino. 0.
/* Обнаружение изменения состояния (обнаружение фронта) Часто вам не нужно постоянно знать состояние цифрового входа, вам просто нужно знать, когда вход переходит из одного состояния в другое. Например, вы хотите знать, когда кнопка переходит из положения OFF в состояние ON. Это называется обнаружением изменения состояния или обнаружением границ.
Обнаружение изменения состояния (обнаружение фронта) Часто вам не нужно постоянно знать состояние цифрового входа, вам просто нужно знать, когда вход переходит из одного состояния в другое. Например, вы хотите знать, когда кнопка переходит из положения OFF в состояние ON. Это называется. обнаружение изменения состояния или обнаружение границ.
Счетчик кнопок Arduino код
Счетчик кнопок вверх-вниз Arduino. Устройство аналогично предыдущему, единственное отличие состоит в дополнительном входном переключателе и нескольких строках кода для добавления функции декремента к счетчику. Здесь одно нажатие переключателя увеличивает значение, тогда как секундный переключатель уменьшает значение.
Ниже приведен код счетчика кнопок Arduino. Концепция состоит в том, что есть 2 кнопки, кнопка «добавить» и кнопка «вычесть». Каждый раз, когда нажимается «Добавить», он добавляет 1 к счету, и наоборот, когда нажимается «Вычитание». Код работает нормально, пока мы не наткнемся на двузначное число. Как только вы вычтете 1 из 10, ЖК-дисплей отобразит 90, а не 9.
Эффект «подпрыгивания» заключается в том, что ваш Arduino быстрее вас, и если вы нажимаете кнопку в течение десятой доли секунды, Arduino несколько раз выполняет поиск кнопки. нажимал и считал много «нажатий». Чтобы избежать этого, когда вы обнаружите, что она нажата (состояние кнопки = 0), вы должны выполнить задачу освещения и подождать, пока состояние кнопки не станет != 0.
Подключаем три провода к плате Ардуино. Первый идет от одной ножки кнопки через подтягивающий резистор (здесь 2,2 кОм) к питанию 5 вольт.