Arduino № 6 Событие кнопки. Условный оператор if.
Добро пожаловать на шестой урок по Arduino! В этом видео мы разберём, как работать с кнопкой и использовать условный оператор if для создания интерактивных проектов. Вы научитесь: ✅ Подключать кнопку к Arduino и считывать её состояние. ✅ Писать код с использованием оператора if для обработки нажатий. ✅ Управлять светодиодами в зависимости от действий пользователя. ✅ Бороться с дребезгом контактов — распространённой проблемой при работе с механическими кнопками. Этот урок станет основой для создания более сложных проектов, где Arduino реагирует на действия пользователя! 🔧 Что вам понадобится Для повторения эксперимента подготовьте: Плату Arduino (Uno, Nano или любую другую). Макетную плату (Breadboard). Кнопку (Push Button) — 1 шт. Светодиоды (LED) — 4 шт. (можно использовать 1 для демонстрации). Резисторы: 470 Ом — 4 шт. (для светодиодов). 10 кОм (опционально, если не используете внутреннюю подтяжку). Соединительные провода (Jumper Wires). 📝 Краткий конспект урока 1️⃣ Подключение кнопки Кнопка подключается к цифровому пину Arduino (например, пин 2). Один контакт кнопки соединяется с GND, а другой — с пином Arduino. Используем внутреннюю подтяжку (INPUT_PULLUP), чтобы избежать “плавающих” значений. 2️⃣ Условный оператор if Оператор if позволяет Arduino принимать решения на основе условий. Пример: cpp if (digitalRead(buttonPin) == LOW) { // Действие при нажатии кнопки (например, включить светодиод) digitalWrite(ledPin, HIGH); } Условие digitalRead(buttonPin) == LOW проверяет, нажата ли кнопка (так как при нажатии пин замыкается на GND). 3️⃣ Борьба с дребезгом контактов Дребезг — это кратковременные помехи при нажатии кнопки, из-за которых Arduino может зарегистрировать несколько нажатий вместо одного. Решение: добавляем задержку (debounceDelay) и проверяем стабильность сигнала. Пример кода с защитой от дребезга: cpp unsigned long lastDebounceTime = 0; unsigned long debounceDelay = 50; // Задержка 50 мс if ((millis() - lastDebounceTime) ﹥ debounceDelay) { if (digitalRead(buttonPin) == LOW) { // Действие при нажатии } lastDebounceTime = millis(); } 4️⃣ Практический пример: Управление светодиодами Подключаем 4 светодиода к пинам 8, 9, 10 и 11. При каждом нажатии кнопки загорается следующий светодиод. Код реализует счётчик нажатий и включает светодиоды по очереди. Проверяйте подключения: Убедитесь, что провода надёжно вставлены в макетную плату и Arduino. Используйте Serial Monitor: Для отладки выводите значения переменных в монитор порта (Serial.println()). Экспериментируйте: Не бойтесь менять код и смотреть, что получится! Не забудьте поставить лайк, подписаться на канал и поделиться видео с друзьями, если оно было полезным! 😊 #Arduino #Программирование #Электроника #УрокиArduino #DIY Другие каналы: KNL Games Boosty https://boosty.to/knlgames KNL Games Rutube rutube.ru/channel/30608816 KNL Games VK vk.com/video/@club227263013 KNL Games ЯндексДзен dzen.ru/id/66e2e8f9cb03ea2636273428 KNL Games Telegram t.me/ Ts7KHl4AWuw4NTc6 KNL Games TikTok tiktok.com/@knlgames?is_from_webapp=1&sender_device=pc KNL Games YouTube www.youtube.com/@KNL_Games
Добро пожаловать на шестой урок по Arduino! В этом видео мы разберём, как работать с кнопкой и использовать условный оператор if для создания интерактивных проектов. Вы научитесь: ✅ Подключать кнопку к Arduino и считывать её состояние. ✅ Писать код с использованием оператора if для обработки нажатий. ✅ Управлять светодиодами в зависимости от действий пользователя. ✅ Бороться с дребезгом контактов — распространённой проблемой при работе с механическими кнопками. Этот урок станет основой для создания более сложных проектов, где Arduino реагирует на действия пользователя! 🔧 Что вам понадобится Для повторения эксперимента подготовьте: Плату Arduino (Uno, Nano или любую другую). Макетную плату (Breadboard). Кнопку (Push Button) — 1 шт. Светодиоды (LED) — 4 шт. (можно использовать 1 для демонстрации). Резисторы: 470 Ом — 4 шт. (для светодиодов). 10 кОм (опционально, если не используете внутреннюю подтяжку). Соединительные провода (Jumper Wires). 📝 Краткий конспект урока 1️⃣ Подключение кнопки Кнопка подключается к цифровому пину Arduino (например, пин 2). Один контакт кнопки соединяется с GND, а другой — с пином Arduino. Используем внутреннюю подтяжку (INPUT_PULLUP), чтобы избежать “плавающих” значений. 2️⃣ Условный оператор if Оператор if позволяет Arduino принимать решения на основе условий. Пример: cpp if (digitalRead(buttonPin) == LOW) { // Действие при нажатии кнопки (например, включить светодиод) digitalWrite(ledPin, HIGH); } Условие digitalRead(buttonPin) == LOW проверяет, нажата ли кнопка (так как при нажатии пин замыкается на GND). 3️⃣ Борьба с дребезгом контактов Дребезг — это кратковременные помехи при нажатии кнопки, из-за которых Arduino может зарегистрировать несколько нажатий вместо одного. Решение: добавляем задержку (debounceDelay) и проверяем стабильность сигнала. Пример кода с защитой от дребезга: cpp unsigned long lastDebounceTime = 0; unsigned long debounceDelay = 50; // Задержка 50 мс if ((millis() - lastDebounceTime) ﹥ debounceDelay) { if (digitalRead(buttonPin) == LOW) { // Действие при нажатии } lastDebounceTime = millis(); } 4️⃣ Практический пример: Управление светодиодами Подключаем 4 светодиода к пинам 8, 9, 10 и 11. При каждом нажатии кнопки загорается следующий светодиод. Код реализует счётчик нажатий и включает светодиоды по очереди. Проверяйте подключения: Убедитесь, что провода надёжно вставлены в макетную плату и Arduino. Используйте Serial Monitor: Для отладки выводите значения переменных в монитор порта (Serial.println()). Экспериментируйте: Не бойтесь менять код и смотреть, что получится! Не забудьте поставить лайк, подписаться на канал и поделиться видео с друзьями, если оно было полезным! 😊 #Arduino #Программирование #Электроника #УрокиArduino #DIY Другие каналы: KNL Games Boosty https://boosty.to/knlgames KNL Games Rutube rutube.ru/channel/30608816 KNL Games VK vk.com/video/@club227263013 KNL Games ЯндексДзен dzen.ru/id/66e2e8f9cb03ea2636273428 KNL Games Telegram t.me/ Ts7KHl4AWuw4NTc6 KNL Games TikTok tiktok.com/@knlgames?is_from_webapp=1&sender_device=pc KNL Games YouTube www.youtube.com/@KNL_Games
