Подключение кнопки:
В этом уроке мы поэкспериментируем с кнопкой — передадим состояние кнопки в монитор порта и заставим загораться светодиод по нажатию на кнопку.
Необходимые компоненты
qплата для прототипирования;
qконтроллер ArduinoNano;
qпровода;
qкнопка;
qсветодиод;
qрезистор 220 Ом;
qрезистор 10 кОм.
Схема подключения:
Вариант 1:
Рис. У2.1. Схема подключения кнопки (вариант 1)
Порядок подключения: вариант 1
1. Один вход кнопки подключаем к 5V, другой — через подтягивающий резистор 10 КОм к GND, выход кнопки подключаем к D2 (рис. У2.1 и У2.2).
2. Загрузите скетч листинга У2.1. Этот код считывает состояние входа D2 и отправляет в порт: 1 — если кнопка нажата, и 0 — если не нажата. На рис. У2.3 показано отображение результатов нажатия кнопки.
Важно !
Вход Arduino должен иметь заранее известное состояние (1 или 0). В «подвешенном» состоянии он будет собирать внешние наводки (статические, электрические и электромагнитные излучения).
Чтобы привести вход в заранее известное состояние, используют подтягивающие резисторы. Они бывают двух видов: подтяжки верхние и нижние.
Верхние (pull-up) — подключаются к плюсу питания, а нижние (pull-down) — к минусу. В нашем примере мы используем подтягивающий резистор к минусу. Таким образом, когда кнопка отключена, вход будет подключен к «земле» через резистор, сопротивление которого заведомо меньше внутреннего сопротивления входа. Поэтому наводка, попавшая на вход, уйдет в GND. Если же подключен полезный сигнал (+5 В) то он будет стекать во вход (незначительная часть сигнала уйдет в GND через подтяжку). В итоге, при нажатой кнопке у нас будет стабильный сигнал (+5 В), а при отпущенной кнопке — стабильный ноль.
Программное обеспечение: вариант 1
Листинг У2.1
voidsetup()
{
Serial.begin(9600);
pinMode(2, INPUT);
}
void loop() {
int sensorValue = digitalRead(2);
Serial.println(sensorValue, DEC);
}
Рис. У2.2 Монтажная плата, подключение кнопки (Вариант 1)
Схема подключения: вариант 2
Усложним код и подключим светодиод, чтобы заставить его загораться по нажатию на кнопку.
Рис. У2.4. Схема подключения кнопки (вариант 2)
Программное обеспечение: вариант 2
Листинг У2.2
voidsetup() {
Serial.begin(9600);
pinMode(2, INPUT);
}
void loop() {
int sensorValue = digitalRead(2);
Serial.println(sensorValue, DEC);
if(digitalRead(2)==HIGH)
{
digitalWrite(9,HIGH);//включаем светодиод
}
else//если не нажата...
{
digitalWrite(9,LOW);//выключаем
}
}
Порядок подключения: вариант 2
- Подключим к схеме светодиод, как показано на рис. У2.4 и У2.5.
- Подключим анод к входу D9, а катод — через резистор 220 Ом к GND.
- Загрузим скетч листинга У2.2.
Теперь при нажатии на кнопку светодиод будет загораться.
Рис. У2.5. Монтажная плата подключения кнопки (вариант 2)