Ардуино, кнопка, светодиод slide

Управление светодиодом одной кнопкой

Описание Управление светодиодом одной кнопкой

Управление светодиодом одной кнопкой 
 

Наша задача в этом проекте состоит в том, чтобы «научить» кнопку выключать светодиод с некоторой задержкой после нажатия.
 
Алгоритм
 
1. Сначала проверяем, нажата кнопки или нет.
2. Если кнопка была нажата, то через полсекунды светодиод должен выключиться.
3. Если кнопка не была нажата, то ни чего не происходит.

 

 

Схема устройства

Arduino уроки

Резистор R1 – 360 Ом. R2 – 10 кОм.

Собираем устройство

Ардуино кнопка и светодиод



 

1.  Резистор и светодиод подключаем так же, как и в предыдущих примерах. Только светодиод в этом примере подключаем к контакту 7 платы Ардуино.

2. Резистор R2 подключаем одним выводом к питанию +5В, а второй вывод к контакту 12  Ардуино. Кнопку подключаем одним выводом к «земле» (GND), а другим выводом к контакту 12 Ардуино.

 
Пояснение.
При отжатой кнопке напряжение 5 Вольт через подтягивающий резистор R2 поступает на контакт 12. При нажатии на кнопку контакт 12 соединяется с GND и соответственно на нём будет 0 вольт.

 
Перед тем, как подключить плату Ардуино к компьютеру проверяем еще раз правильность сборки схемы.
 
После проверки схемы подключаем плату к компьютеру. Запускаем среду разработки Arduino IDE. Копируем текст программы в среду разработки и загружаем в Ардуино.




Код программы:

int LED = 7;

int BUTTON = 12;
void setup()
{
pinMode(LED, OUTPUT);
pinMode(BUTTON, INPUT);
}
void loop()
{
if ( digitalRead(BUTTON) == HIGH )
{
digitalWrite(LED, HIGH); // включаем светодиод
delay(500); // ждем 0,5 секунды
digitalWrite(LED, LOW); // выключаем светодиод
}

}

После загрузки кода проверьте порядок работы устройства.

После нажатия на кнопку светодиод выключится с задержкой 0,5 секунды.

 

В качестве эксперимента попробуйте изменить длительность задержки свечения светодиода.
 

Ниже еще один вариант кода программы для кнопки и светодиода.
 

int button = 2;

int led = 8;

void setup() {

pinMode(led, OUTPUT);

pinMode(button, INPUT);

}

void loop(){

if (digitalRead(button) == HIGH) {

digitalWrite(led, HIGH);

}

else {

digitalWrite(led, LOW);

}

}




 

Другие проекты