Программирование Arduino урок 8 — кнопка

Со светодиодами разобрались, самое время приступить к подключению управляющего элемента — кнопки.

Контроль состояния нажатия кнопки будем реализовывать на основе серийного канала связи между платой и компьютером через USB кабель.

Для того, чтобы выполнить практическую часть проекта, нам понадобится:

Собираем схему

Два джампера будут обеспечивать питание схемы: 5 вольт и земля.

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

При нажатии на кнопку цепь замыкается. В момент отпускания (и дальнейшего «не нажатого» состояния) связь между её выводами отсутствует. Через подтягивающий резистор вывод заведён на землю и посылает сигнал в виде 0 (LOW). В момент нажатия (и дальнейшего «нажатого» состояния) два вывода замыкаются, формируя сигнал в виде 1 (HIGH).

Подтягивающий резистор нужен для того, чтобы микроконтроллер мог распознать моменты, когда кнопка не нажата. В нажатом состоянии всё понятно – цепь замкнута. Однако в случае, когда кнопка не нажата, определить её состояние проблематично. Это мы знаем, что она отпущена, а МК в негодовании – вот он и лупит случайные значения 0 или 1. Но когда отпущенная кнопка будет заводится на землю, МК точно будет знать что кнопка не нажата.

Алгоритм программы следующий:

  • Кнопка нажата — питание поступает в цепь;
  • Кнопка не нажата – вывод, через подтяжку (10 кОм резистор) будет заведён на землю.

Подключаем функцию для обмена данными. Скорость обмена 9600 бит в секунду.

Serial.begin(9600);

Конфигурим цифровой вывод 13, на вход.

pinMode(button,INPUT);

Объявляем переменную, в которой будет храниться данные о состоянии кнопки. Ей мы и будем присваивать значение, которое будет считано с 13 вывода.

int stateForButton = digitalRead(button);

Как только плата считает информацию, выводим её на компьютер с помощью команды Serial.println(stateForButton);

Откроем Serial Monitor в программной среде Arduino IDE. При нажатии кнопки будет выводиться значение «1», а при отпускании «0».

 

Урок 8

Продолжение следует..

Картотека программирования

 

ПОДЕЛИТЕСЬ С ДРУЗЬЯМИ!


About alexlevchenko

Ценю в людях честность и открытость. Люблю мастерить разные самоделки. Нравится переводить статьи, ведь кроме того, что узнаешь что-то новое - ещё и даришь другим возможность окунуться в мир самоделок.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

* Copy This Password *

* Type Or Paste Password Here *