В прошлых экспериментах мы научились управлять несколькими светодиодами и плавно менять их яркость. Давайте теперь научимся обрабатывать в скетче нажатие кнопки.
В прошлых экспериментах мы научились управлять несколькими светодиодами и плавно менять их яркость. Давайте теперь научимся обрабатывать в скетче нажатие кнопки.
Ранее мы напрямую подключали кнопку к питанию 5 В платы Arduino для включения светодиода. В этом эксперименте мы будем подключать кнопку к цифровому выводу контроллера.
Пока кнопка не нажата, на входе платы Uno будет высокий уровень сигнала 5 В. Как только вы нажмете кнопку, сигнал на входе станет низкого уровня (0 В). Резисторы R1 и R2 нужны для ограничения тока в момент нажатия кнопки. Также можно собрать схему по-другому, как показано на рисунке:
Будем использовать цифровой вывод D12 для контроля состояния кнопки и вывод D9 для подключения светодиода.
Давайте напишем код для контроля состояния кнопки и включения светодиода при её нажатии:
int buttonPin = 12; int ledPin = 9; void setup() { pinMode(buttonPin, INPUT); pinMode(ledPin, OUTPUT); } void loop() { if (digitalRead(buttonPin) == HIGH) { digitalWrite(ledPin, LOW); } else { digitalWrite(ledPin, HIGH); } }
Функция digitalRead(pin) считывает значение с заданного входа – HIGH или LOW.
Скомпилируйте и загрузите скетч на плату. После этого нажмите на кнопку и посмотрите на результат.