Лабораторные работы     Технологии+Бизнес

Задача: научиться управлять реле

 

Сборка лабораторной установки


Для достижения поставленной задачи, подготовим все необходимые нам детали.

Компоненты лабораторной установки:

1. Контроллер
2. Макетная плата
3. Резистор 10 кОм 
4. Кнопка
5. Резистор 220 Ом
6. Реле
7. Светодиод
8. Провода

 

Схема лабораторной установки: 




 

Алгоритм выполения работы:

1. Подключаем кнопку
2. Подключаем напряжение и резистор от кнопки
3. Подключаем пин от кнопки ( 4 пин)
4. Подключаем светодиод
5.Подключаем ризистор и заземление от светодиода
6. Подключаем общее заземление и напряжение
7. Подключаем заземление, напряжение и пин от реле ( 2 пин)
8. Подключаем канал и напряжение для светодиода от реле
9. Подклчючаем микроконтроллер к сети


 

Подробное описание можно посмотреть в следующем видео:



Работа в среде программирования Arduino IDE

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

const int button = 4; //Кнопка на пине 4
const int relay = 2; //Реле на пине 2
boolean lastButton = LOW; //Флаг последнего значения кнопки
boolean stableButton = LOW; //Стабилизированное значение
boolean voltage = LOW; //Подано напряжение или нет

void setup()
{
  pinMode(button, INPUT);  //Кнопка на вход
  pinMode(relay, OUTPUT); //Реле на выход
}

void loop() 
{
  stableButton = stable(lastButton); //Стабилизированное значение кнопки
  if (stableButton == HIGH && lastButton == LOW) 
  { //Включаем кнопку
    voltage = !voltage; //Инвертировать напряжение (если оно было выключено –
    //то включить, если включено – то выключить)
    //Записать текущее напряжение или его отсутствие на реле
    digitalWrite(relay, voltage);
  }
  lastButton = stableButton; //Запомнить последнее значение кнопки
}

boolean stable(boolean valueIn)
 { //Функция стабилизации кнопки
  boolean valueButton = digitalRead(button); //Прочитать значение кнопки
  if (valueIn != valueButton) 
  {   //Если то, что пришло в функцию, отличается от того, что прочитали
      delay(5); //Задержка на 5 миллисекунд
      valueButton = digitalRead(button);  //Заново прочитать значение 
  }
  return valueButton; //Вернуть значение
}

Подробное описание кода смотрите в этом видео:

Вопросы:

1. Каким образом устраняется "дребезг" кнопки?

 

2. С помощью какой функции замыкается цепь в реле?

 


 

Лабораторные работы    Технологии+Бизнес