Освой Arduino играючи
/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000
Очень распространённый тип компонентов. Кнопки могут быть самых разных типов. С кнопкой связано понятие дребезга, не забывайте о нём.
Кнопки бывают двух видов:
Стандартная кнопка как на рисунках рассчитана на ток 50 mA, максимальное напряжение 24V.
ВАЖНО не перепутать контакты при подключении - какие контакты соединены, а какие замыкаются при нажатии. Посмотрите на кнопку внимательно: пары ножек расположены по бокам кнопки. Сама кнопка квадратная, но расстояния между парами контактов визуально заметны: можно сразу выделить два на одной стороне и два на другой. Так вот, именно между одной «парой» на стороне и будет реализован выключатель. Если не уверены, то лучше прозвонить кнопку.
На рисунке ниже представлены два варианта подключения кнопки. В первом варианте слева кнопка подключена правильно и при нажатии светодиод будет светиться. Во втором варианте справа светодиод будет светиться постоянно, независимо от нажатий, так как ток будет проходить свободно по замкнутой цепи.
Вы можете убедиться в этом в симуляторе, если не можете проверить лично. Запустите моделирование и увидите, что красный светодиод будет светиться сразу, а зелёный только после нажатия кнопки. Ссылка не вечная.
Кнопка также встречается в модульном исполнении, например, модуль KY-004. Имеет три вывода.
KY-004 | Arduino
-----------------
S | 3
middle | 5V
- | GND
Работаем как с обычными кнопками.
int led = 13; // светодиод
int buttonPin = 3; // кнопка
int val;
void setup()
{
pinMode(led, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop()
{
val = digitalRead(buttonPin); // состояние кнопки
if(val == HIGH) // включаем светодиод
{
digitalWrite(led, HIGH);
}
else
{
digitalWrite(led,LOW);
}
}