Кнопки и светодиод slide

Две кнопки и светодиод

Описание Две кнопки и светодиод

В данном примере мы будем управлять включением и выключением светодиода двумя кнопками.





Резистор R1- 360 Ом


Arduino. LED



Обозначение и внешний вид кнопки

 

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



 

1. Подключаем минус(GND)  питания Ардуино к минусовой шине макетной платы. Для этого устанавливаем один конец проволочной перемычки в гнездо GND на плате Ардуино, а второй конец перемычки устанавливаем в отверстие вдоль синей линии макетки.
2. Подключаем светодиод. Короткую ножку (Катод) светодиода устанавливаем в отверстие вдоль синей линии макетки, а длинную ножку в отверстие свободного поля. Затем устанавливаем резистор 360 Ом и перемычкой соединяем эту цепь с контактом D5 платы ардуино.
3. Устанавливаем одну ножку обеих кнопок в отверстие «минус» на макетке(отверстие вдоль синей линии), а вторую ножку в отверстие свободного поля. Далее проволочными перемычками соединяем кнопки с контактами D8 и D9 платы Ардуино.
 
Перед тем, как подключить плату Ардуино к компьютеру проверяем еще раз правильность сборки схемы.
 
После проверки схемы подключаем плату USB кабелем к компьютеру. Запускаем среду разработки Arduino IDE. Копируем текст программы и загружаем в Ардуино.



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

int ledPin = 5;
int buttonApin = 9;
int buttonBpin = 8;

byte leds = 0;

void setup()
{
  pinMode(ledPin, OUTPUT);
  pinMode(buttonApin, INPUT_PULLUP);  
  pinMode(buttonBpin, INPUT_PULLUP);  
}

void loop()
{
  if (digitalRead(buttonApin) == LOW)
  {
    digitalWrite(ledPin, HIGH);
  }
  if (digitalRead(buttonBpin) == LOW)
  {
    digitalWrite(ledPin, LOW);
  }
}


Скопируйте скетч в Arduino IDE и загрузите в контроллер.
Нажатие на конпку SW1 включает светодиод, нажатие на кнопку SW2 выключает светодиод.

 

Описание программы


Первая часть эскиза определяет три переменные для трех контактов, которые мы используем в схеме. Светодиод, которым мы будем управлять подключаем к контакту 5 ( LedPin = 5 ), кнопку SW1 подключаем контакту 9 ( buttonApin = 9 ), кнопку SW2 к контакту 8 ( buttonBpin = 8 ).

Процедура setup() определяет контакт 5 платы Ардуино, как ВЫХОД.
 

pinMode(ledPin, OUTPUT);

 

А порядок работы кнопок мы определяем следующей установкой: pinMode INPUT_PULLUP :


  pinMode(buttonApin, INPUT_PULLUP);  
  pinMode(buttonBpin, INPUT_PULLUP); 

 

Режим работы контактов контроллера INPUT_PULLUP означает, что этот контакт используется как вход, И если к этому входу в данный момент ничего не подключено, то на этом контакте должен быть ВЫСОКИЙ уровень.  Нажатие на кнопку устанавливает на этом контакте НИЗКИЙ уровень.
Поэтому один вывод кнопки мы подключаем к контакту Ардуино, а второй – к  контакту GND. При нажатии на кнопку, контакт контроллера соединяется с GND схемы и соответственно становится НИЗКИМ уровнем.

В процедуре loop() есть два условия "если". Каждое для своей кнопки. Выполнение этого условия для каждой кнопки переводит контакт LedPin в соответствующее состояние.
Т.е., если   
digitalRead(buttonApin) нажатием кнопки SW1 устанавливается в “0” (Низкий уровень), то светодиод включается. И если digitalRead(buttonBpin) нажатием кнопки SW2 устанавливается в “0” (Низкий уровень), то светодиод выключается.

 

void loop()
{
  if (digitalRead(buttonApin) == LOW)
  {
    digitalWrite(ledPin, HIGH);
  }
  if (digitalRead(buttonBpin) == LOW)
  {
    digitalWrite(ledPin, LOW);
  }
}


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