Arduino для начинающих. Урок 2. Подключение кнопки
Продолжаем серию уроков “Arduino для начинающих”. Сегодня подключаем к ардуино кнопку и светодиод (при нажатой кнопке светодиод будет гореть, при отжатой — не гореть). Это одна из базовых схем, которая неоднократно пригодиться вам в будущем и может использоваться для управления роботом на Arduino. В вашем будущем роботе по нажатию кнопки могут происходить самые разные действия.
В посте помимо видео-инструкции приводим листинг программы и схему подключения.
Видео-инструкция сборки модели кнопки на Arduino:
Для сборки модели нам потребуется:
- плата Arduino
- Breadboard
- 5 проводов и/или перемычек «папа-папа»
- светодиод
- кнопка
- резисторы на 10 кОм и 220 Ом.
Что понадобится для подключения кнопки на Arduino?
Схема подключения модели Arduino с кнопкой и светодиодом:
Схема подключения кнопки и светодиода на Arduino
Также вам потребуется программа Arduino IDE, которую можно скачать с сайта Arduino.
Для работы этой модели подойдет следующая программа (программу вы можете просто скопировать в Arduino IDE): int button = 2; int led = 8; void setup() void loop()
Так выглядит собранная модель Arduino кнопки со светодиодом:
Готовая модель с кнопкой и светодиодом на Arduino
На этом второй урок «Arduino для начинающих» закончен. Продолжение следует!
Смотрите также:
Посты по урокам:
- Первый урок: Светодиод
- Второй урок: Кнопка
- Третий урок: Потенциометр
- Четвертый урок: Сервопривод
- Пятый урок: Трехцветный светодиод
- Шестой урок: Пьезоэлемент
- Седьмой урок: Фоторезистор
- Восьмой урок: Датчика движения (PIR) и E-mail
- Девятый урок: Подключение датчика температуры и влажности DHT11 или DHT22
Все посты сайта «Занимательная робототехника» по тегу Arduino.
Наш YouTube канал, где публикуются видео-уроки.
Не знаете, где купить Arduino? Все используемые в уроке комплектующие входят в большинство готовых комплектов Arduino, их также можно приобрести по отдельности. Подробная инструкция по выбору здесь. Низкие цены, спецпредложения и бесплатная доставка на сайтах AliExpress и DealExtreme. Если нет времени ждать посылку из Китая — рекомендуем интернет-магазины Амперка и DESSY. Низкие цены и быструю доставку предлагает интернет-магазин ROBstore. Смотри также список магазинов.
Автор: Александр Гагарин
Читайте также 50 комментариев к статье “Arduino для начинающих. Урок 2. Подключение кнопки”Мне очень понравилось с фоторезистором. А сделайте пожалуйста навесным монтажом.
С +5V провод идет на кнопку и через резистор на землю? Это же почти к.з.?
Резистор на 10 ком достаточно ограничивает ток.
Добрый день! Подскажите пожалуйста уже 100500 раз собирал эту схему у вас в видео светодиод не горит, а после нажатия кнопки горит, у меня он горит всегда только после нажатия кнопки он горит чуть ярче. в чем может быть дело?
Добрый день. Если просто соединить выводы кнопки через резистор с пином контроллера и землей, то это не работает. При нажатии кнопки пин соединяется с землей, и digitalRead будет считывать логический 0, но при отпущенной кнопке пин не будет соединен ни с какой линией и будет «висить в воздухе», и программа будет считать с вывода и 0 и 1 случайным образом. Правильное подключение предполагает, что в разомкнутом состоянии пин должен быть соединен через резистор с шиной питания, а в замкнутом — с землей, либо наоборот. Попробуйте и так, и так. Внутри микроконтроллера есть подтягивающие резисторы. Но они могут быть программно включены или выключены. Попробуйте включить и выключить подтягивающие резисторы программно. После того, как пин установлен в режим входа, чтобы включить на нем подтягивающий резистор нужно «записать в него 1» с помощью digitalWrite.
void setup() void loop()
int LED=0; void setup()
Была такая же проблема, долго не понимала в чем дело. Оказалось, просто не до конца воткнула кнопку :)
Что нужно изменить в вашем коде, чтобы было так : нажал на кнопку один раз — лампочка включилась, нажал второй раз — выключилась… и так далее.. ?
Есть множество вариантов решения данной задачи. Например такой:
const int buttonPin = 2; const int ledPin = 13;
void setup()
void loop()
Спасибо что так быстро ответили но что то не получается( Выдает ошибку!
В синтаксисе ошибки нет. Распишите ситуацию подробнее. Какая ошибка выдается?
Помогите пожалуйста. 100 раз все проверил — светодиод не загорается. Такое ощущение, что не идет питание 5V с платы. Как можно просто диагностировать эту неисправность?
Во-первых, нужно убедиться, что пины правильные. Далее, лучше всего проверить мультиметром. Еще для простоты можно светодиод воткнуть напрямую к 5в и земле. Если будет гореть (может и взорвется), то питание идет и проблема в подключении. Чтобы проверить подключение собственно кнопки можно загрузить код int pushButton = 2;
void setup()
void loop()
И зайти в монитор порта. Если выдает при нажатии 1, то кнопка работает.
Почему не удаётся плавно запустить светодиод?
//Свет плавно загорается после нажатия кнопки, кнопка нажимается ещё раз, свет моргает и гаснет. int button = 2; int led = 9; int i = 0;
void loop()
Во-первых, неправильный цикл (http://arduino.ru/Reference/DoWhile), во-вторых, после каждого увеличения i нудно поставить delay
Благодарю, Денис! Сейчас въехал, у меня проверка условия была не верна. Сделал вот так, сейчас всё красиво. //Свет плавно загорается после нажатия кнопки, кнопка нажимается ещё раз, свет моргает и гаснет. int button = 2; int led = 9; int i = 0;
void loop()
Объясните пожалуйста неучу=) кнопка соединена с с +5v и с землей через резистор. Зачем вообще нужно соединять с землей кнопку? Может я что то недопонимаю в принципе работы кнопки?
Когда кнопка разомкнута, то если не было бы резистора, то на вход могли бы поступать хаотичные сигналы вместо ожидаемого нами отсутствия напряжения. Можно встретить терминологию «оставить вход в «подвешенном» состоянии». Причина — шумы, образующиеся вокруг провода производят электричество из электромагнитных волн среды. Стягивающий резистор рядом со входом гарантирует отсутствие напряжения при разомкнутой цепи (кнопка не нажата — цепь разомкнута).
Подтягивающий резистор всегда ставится к +5в а тут наоборот . Почему? Почему не используется внутренний подтягивающий резистор?
Здравствуйте.Как можно проделать этот алгоритм .По кнопке меняется режим скорости переключения диодов (5с 2c 1c 0.5c)
Подскажите как создать светильник из ARDUINO UNO У меня набор «Матрёшка» НО он выводит ОЩИБКЮ. когда вожу код
Скажите пожалуйста, насколько я понимаю, перед записью нового кода, нужно удалить старый с памяти платы. Как это сделать?
Нет, не верно. Просто загружаете новый скетч с помощью Arduino IDE
помогите пожалуйста нужно чтобы при зажатии кнопка тоесть нажал и не отпускаеш загорелся светодиод и проигрался на mini MP3 1 трек и мр3 выключился а светодиод продолжал гореть если отпустить кнопку то все должно выключится у меня просто получается что Mp3 гоняет один трек по кругу и я не совсем понимаю как мр3 должен выйти из цикла
#include #include int switchPin = 9; int ledPin = 7;
void setup()
if (digitalRead(switchPin) == HIGH) else if (digitalRead(switchPin) == HIGH)