Схема:
![Схема включения светодиода по кнопке](https://raw.githubusercontent.com/hacksterio/Arduino_LED_Control/master/LED_Button_Resistor.png)
Компоненты:
* Светодиод
* Резистор 220 Ом
* Кнопка
* Макетная плата
* Соединительные провода
Инструкции по подключению:
1. Согните выводы светодиода в форме буквы «V».
2. Вставьте выводы светодиода в отверстия на макетной плате, убедившись, что длинный вывод (анод) находится слева, а короткий вывод (катод) — справа.
3. Подключите резистор 220 Ом к аноду светодиода (длинный вывод).
4. Подключите другой конец резистора к источнику питания 5 В на макетной плате.
5. Подключите одну сторону кнопки к тому же отверстию на макетной плате, к которому подключен резистор.
6. Подключите другую сторону кнопки к земле (GND) на макетной плате.
Код программы (Arduino):
«`C++
const int ledPin = 7; // Определите номер вывода для светодиода, например, 7
const int buttonPin = 2; // Определите номер вывода для кнопки, например, 2
void setup() {
// Установите вывод светодиода как выход
pinMode(ledPin, OUTPUT);
// Установите вывод кнопки как вход
pinMode(buttonPin, INPUT);
}
void loop() {
// Проверьте состояние кнопки
if (digitalRead(buttonPin) == HIGH) {
// Если кнопка нажата, включите светодиод
digitalWrite(ledPin, HIGH);
} else {
// Если кнопка не нажата, выключите светодиод
digitalWrite(ledPin, LOW);
}
}
«`
Как это работает:
* Когда кнопка не нажата, на вывод кнопки подается низкий уровень.
* Когда кнопка нажата, на вывод кнопки подается высокий уровень.
* Если на вывод кнопки подан высокий уровень, функция `digitalRead` возвращает `HIGH`, и светодиод включается, устанавливая вывод светодиода в `HIGH`.
* И наоборот, если на вывод кнопки подан низкий уровень, функция `digitalRead` возвращает `LOW`, и светодиод выключается, устанавливая вывод светодиода в `LOW`.