Подключение кнопки:

В этом уроке мы поэкспериментируем с кнопкой — передадим состояние кнопки в монитор порта и заставим загораться светодиод по нажатию на кнопку.

Необходимые компоненты

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

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

 

Screenshot 6

Рис. У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

  1. Подключим к схеме светодиод, как показано на рис. У2.4 и У2.5.
  2. Подключим анод к входу D9, а катод — через резистор 220 Ом к GND.
  3. Загрузим скетч листинга У2.2.

Теперь при нажатии на кнопку светодиод будет загораться.

Screenshot 7

Рис. У2.5. Монтажная плата подключения кнопки (вариант 2)