Има улично осветление пред домовете ни, на балкони или в градини, които трябва да се включват или изключват ръчно. Можем да направим система, използваща Arduino и LDR, която ще включва тези светлини през нощта и ще ги изключва автоматично през деня, без да е необходимо човек да излиза навън и да ги включва или изключва ръчно.
Превключване с помощта на LDR
Как да използвам Arduino за автоматизиране на светлините?
Нека сега започнем да събираме малко информация за проекта и да започнем да работим.
Стъпка 1: Събиране на компоненти
Преди да започнем да работим по проекта, нека направим списък на компонентите, които ще използваме, и ще проучим работата на тези компоненти.
- Arduino UNO
- Релеен модул
- Макет / Veroboard
- Мъжки / женски джъмперни проводници
Стъпка 2: Изучаване на компонентите
Arduino Uno е платка за микроконтролер, която управлява различни вериги. Казваме му какво да правим, като изгаряме C код на тази платка чрез Arduino IDE. Ако Arduino UNO не е наличен, можете да използвате Arduino NANO вместо това.
LDR е светлозависим резистор, който променя съпротивлението си в зависимост от интензивността на светлината. LDR модулът може да има аналогов изходен щифт, цифров изходен щифт или и двата. съпротивлението на LDR е обратно пропорционално на интензивността на светлината, което означава по-голяма интензивност на светлината, по-ниско съпротивление на LDR. Чувствителността на LDR модула може да бъде променена с помощта на копчето за потенциометър на модула.
Релейният модул е устройство, което се използва във верига за превключване. Работи в два режима, Нормално отворен (НЕ) и Нормално затворен (NC). Когато се използва в режим NO, веригата се прекъсва първоначално, а когато се използва в режим NC, веригата се затваря първоначално.
Стъпка 3: Осъществяване на веригата
Сега, тъй като знаем достатъчно за компонентите, които ще използваме в нашия проект, нека започнем да правим веригата, както е показано по-долу.
Електрическа схема
В тази верига щифтът A0 на модула LDR е свързан към щифта A0 на Arduino, а релето е свързано към щифт 7 на Arduino. Когато светлината падне върху LDR, съпротивлението ще се промени и ще изпрати някои аналогови стойности към Arduino. Тогава Arduino ще обработи тези стойности и ще изпрати сигнал до релето и ще му каже да се включи или изключи. И релето, и LDR модулът се захранват от 5V щифт на Arduino. Направих схемата на борда, но можете да направите тази схема и на Veroboard. На veroboard се уверете, че правите тесни връзки с помощта на спойка. След запояване не забравяйте да проведете тест за непрекъснатост.
Стъпка 4: Първи стъпки с Arduino
Ако не сте запознати с Arduino IDE преди, не се притеснявайте, защото по-долу можете да видите ясни стъпки за записване на код на платката на микроконтролера с помощта на Arduino IDE. Изтеглете най-новата версия на Arduino IDE от Arduino и следвайте стъпките по-долу.
- Когато платката Arduino е свързана с вашия компютър, отворете „Контролен панел“ и кликнете върху „Хардуер и звук“. След това кликнете върху „Устройства и принтери“. Намерете името на порта, към който е свързана вашата платка Arduino. В моя случай това е “COM14”, но може да е различно на вашия компютър.
Намерете порт
- Сега отворете IDE на Arduino. От Инструменти задайте дъската Arduino на Arduino / Genuino UNO.
Съвет за настройка
- От същото меню на инструмента задайте номера на порта, който видяхте в контролния панел.
Настройка на порт
- Копирайте кода тук на екрана и го качете на вашата дъска Arduino.
Качване
Стъпка 5: Код
Изтеглете кода от Тук
Кодът е много прост и разбираем, но някои общи обяснения на кода са дадени по-долу.
1). В началото се инициализират щифтове, които ще бъдат използвани в кода.
const int R1 = 7; // реле const int ldrPin = A0; // LDR щифт
2). настройка за празнота () е функция, която щифтовете да се използват като ИЗХОД или ВХОД. Той също така определя скоростта на предаване на платката на микроконтролера. Скоростта на предаване е скоростта, с която Arduino комуникира.
void setup () {Serial.begin (9600); pinMode (R1, OUTPUT); pinMode (ldrPin, INPUT); }
3). цикъл void () е функция, която се изпълнява отново и отново в цикъл. Тук той чете аналоговата стойност от модула LDR и проверява дали да включи или изключи светлината.
цикъл void () {int ldrStatus = analogRead (ldrPin); if (ldrStatus<= 200) { digitalWrite(R1, HIGH); Serial.print('Its DARK, Turn on the LED : '); Serial.println(ldrStatus); } else { digitalWrite(R1, LOW); Serial.print('Its BRIGHT, Turn off the LED : '); Serial.println(ldrStatus); } }
Сега, тъй като знаете как работи веригата и разбирате кода. Вече можете да започнете да правите своя собствена схема и да автоматизирате светлините, които са на вашата улица, балкон или дори във вашата градина.