Image

Проект 1. Интелигентна лампа

В настоящето видео ще Ви представим два проекта за създаване на интелигентна лампа.
При първият проект чрез фотосензор ще създадем лампа, която автоматично се включва след залез слънце и и ни позволява да автоматизираме нашето градинско осветление
С вторият проект ще демонстрираме как да включваме осветлението, когато се отчете човешко присъствие в стаята.
Въпреки, че с настоящият проект демонстрираме само включване на лампа, с малко повече въображение проекта може да се модифицира и за други цели на домашната автоматизация.
Настоящият проект демонстрира функционалността на локално автономно изграждане на умен дом.
При желание от Ваша страна, този проект с лекота може да се адаптира и за облачно управление на умния дом.

Резолюция: 1280x720
Формат: MP4
Продължителност: 00:08:42

Лиценз

Безплатно за лично ползване и за образователни цели с некомерсиален елемент.
Моля посочвайте източникът при ползване!

Схема на проекта

Image
Image

Необходими елементи

Проект 1. Интелигентна лампа с фотосензор
1. Arduino Uno
2. Бредборд
3. Фотосензор
4. Резистор 10 килоома
5. Светодиод
6. Свързващи кабели


Проект 2. Интелигентна лампа с датчик за присъствие
1. Arduino Uno
2. Бредборд
3. Сензор за движение (PIR сензор)
4. Резистор 10 килоома
5. Светодиод
6. Свързващи кабели


Код на проекта

Проект 1. Интелигентна лампа с фотосензор

const int LIGHT_SENSOR_PIN = A0;
const int LED_PIN = 13;
const int ANALOG_THRESHOLD = 500;
int analogValue;
void setup() {
pinMode(LED_PIN, OUTPUT);}
void loop() {
analogValue = analogRead(LIGHT_SENSOR_PIN);
if(analogValue < ANALOG_THRESHOLD){
digitalWrite(LED_PIN, HIGH);
}
else {
digitalWrite(LED_PIN, LOW);
}
}



Проект 2. Интелигентна лампа с датчик за присъствие
int calibrationTime = 30;
int lowIn;
int pause = 5000;
boolean lockLow = true;
boolean takeLowTime;
int pirPin = 3; //the digital pin connected to the PIR sensor's output
int ledPin = 13;
void setup(){
pinMode(pirPin, INPUT);
pinMode(ledPin, OUTPUT);
digitalWrite(pirPin, LOW);
for(int i = 0; i < calibrationTime; i++){
delay(1000);
}
delay(50);
}
void loop(){
if(digitalRead(pirPin) == HIGH){
digitalWrite(ledPin, HIGH);
if(lockLow){
lockLow = false;
delay(50);
}
takeLowTime = true;
}
if(digitalRead(pirPin) == LOW){
digitalWrite(ledPin, LOW);
if(takeLowTime){ lowIn = millis();
takeLowTime = false;
}
if(!lockLow && millis() - lowIn > pause){
lockLow = true;
delay(50);
}
}
}