Циљ вежбе:
Научити како се користи релеј и како се он повезује са Arduinom
Задаци вежбе:
1. Повезивање шеме
2. Писање програма
Инструменти које ћемо користити у вежби:
1. Контролер
2. Макетна платформа
3. Отпорник од 10 кило ома
4. Дугме
5. Отпорник од 220 ома
6. Релеј
7. Диода
8. Каблови
Израда вежбе:
1. Повезивање шеме
Шему треба овезати на следећи начин:
1. Утачињемо дугме
2. Утаћи отпорник на једну ножицу дугмета, а на другу извести кабал који ће касније ићи на 5 волти
3. Ножицу дугмета где је отпорник треба повезати са 4тим пином
4. Утаћи диоду
5. Повезујемо отпорник и уземљење са диодом
6. Повезујемо општу земљу и напон са Аrduinom
7. Повезујемо уземљење, напон и други пин са релејем
8. Повезујемо канал и напон за диоду са релеја
9. Укључујемо микроконтролер
Ево видео где је лепо објашњено и приказано како се повезује наша шема:
2. Писање програма
Код програма:
const int button = 4; //Дугме на пину 4
const int relay = 2; //Релеј на пину 2
boolean lastButton = LOW; //Последња вредност дугмета
boolean stableButton = LOW; //Стабилизирована вредност
boolean voltage = LOW; //Предани напон или не
void setup()
{
pinMode(button, INPUT); //Дугме је INPUT
pinMode(relay, OUTPUT); //Релеј је OUTPUT
}
void loop()
{
stableButton = stable(lastButton); //Стабилизированa вредност дугмета
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; //Вратити вредност
}
Детаљан опис кода погледајте у следећем видеу:
Питање: Како се решити пометње контаката дугметa?