Arduino для начинающих. Урок 2. Подключение кнопки

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 для начинающих» закончен. Продолжение следует!

Смотрите также:

Посты по урокам:

  1. Первый урок: Светодиод
  2. Второй урок: Кнопка
  3. Третий урок: Потенциометр
  4. Четвертый урок: Сервопривод
  5. Пятый урок: Трехцветный светодиод
  6. Шестой урок: Пьезоэлемент
  7. Седьмой урок: Фоторезистор
  8. Восьмой урок: Датчика движения (PIR) и E-mail
  9. Девятый урок: Подключение датчика температуры и влажности 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)

📎📎📎📎📎📎📎📎📎📎