Автоматические шторы. Экспериментальная модель.

Сделал экспериментальную модель автоматики штор.

Задача стояла такая – при рассвете при достижении определенной освещенности открыть шторы, далее при восходе солнца и достижении определенной освещенности закрыть шторы, далее при уходе солнца от окна открыть шторы, далее при заходе солнца и потемнении закрыть шторы.

Установка пока одна и работает на одном окне. При достижении работоспособного состояния после отладок по освещенности и управлении такие устройства планирую установит на все 4 окна в зале. Работа их будет интересной, когда солнце будет переходить от одного окна к другому и автоматика будет реагировать и открывать и закрывать окна. Солнце ушло из окна, штора открылась, перешло на другое окно, а там штора закрылась.

Для эксперимента были взяты доступные и дешевые материалы.

Двигатели от игрушечных машин, блок от колеса этой машинки со снятой шиной

Управлением занимается ардуино нано через ШИМ порты, датчик света – фоторезистор, который был в наборе от конструктора.

Блок питания обычный 12В.

Управление двигателем через драйвер для двигателя. Пробовал медленную скорость установить, но мощности двигателя не хватает, а на полной скорости хватает, хоть и на пределе. Время работы двигателя при открытии и закрытии вычисляется экспериментально.

Ручное управление выполнено на передатчике и приемнике 433Мгц.

Приемник

Передатчик

Провел сопряжение приемника и передатчика.

Приемник подключил к ардуино.

Передатчик записал в  устройство BroadLink

И получил ручное управление шторой через приложение в телефоне.

Механика пока топорная.

Леска намотанная на блок на двигателе. Идет вверх через багету для штор. Крепится за последнее кольцо шторы. Леска работающая на закрытие перекинута через дальнюю часть крепления штор.

Конечно надо использовать не леску, а капроновый шнур и пробрасывать его через дополнительные блоки и использовать более мощный двигатель и блок на двигателе тоже надо получше установить, но пока сделано из того что есть, остальное идет по почте, по мере прихода будет установлено и система станет гораздо лучше.

Корпус из обычной распаечной коробки.

Видео работы

Программа в микроконтроллер выглядит вот так.

const int motorl2 = 5;
const int motorR2 = 6;
int o=0;
int z=1;
int svet = A0;
int svetS;
int otkr = 3;
int zakr = 4;
int avto = 7;
int otkrk;
int zakrk;
int avtok;
int avtoz;
void setup() {

pinMode(otkr, INPUT);
pinMode(zakr, INPUT);
pinMode(avto, INPUT);
pinMode(motorl2, OUTPUT);
pinMode(motorR2, OUTPUT);
pinMode(svet, INPUT);

Serial.begin(9600);
}

void forward() {
analogWrite(motorl2, 255);
analogWrite(motorR2, 0);
delay(2000); // время работы двигателя вычисляется экспериментально
analogWrite(motorl2, 0);
}
void back() {
analogWrite(motorl2, 0);
analogWrite(motorR2, 255);
delay(2000);
analogWrite(motorR2, 0);
}

void loop() {
delay(500);
svetS = analogRead(svet);
otkrk = digitalRead(otkr);
zakrk = digitalRead(zakr);
avtok = digitalRead(avto);
Serial.println(svetS);
Serial.println(z);
Serial.println(o);
Serial.println(otkrk);
Serial.println(zakrk);
Serial.println(avtok);
Serial.println(avtoz);
if(otkrk == HIGH and z == 1){avtoz = 0;z=0;o=1;forward();} // ручное открытие (z и o – переменные индикаторы открытого или закрытого положения шторы)
if(zakrk == HIGH and o == 1){avtoz = 0;z=1;o=0;back();} // ручное закрытие
if(avtok == HIGH){avtoz = 1;} // ввод в автоматический режим
if(avtoz == 1){
if(z==1){
if(svetS >= 300 and svetS <=500){forward(); // данные датчика при закрытии
o = 1;
z = 0;
}
}
if(o==1){
if(svetS >= 1000 or svetS <= 200){back(); // данные датчика при закрытии
o = 0;
z = 1;
}
}
}

}

Views All Time
Views All Time
297
Views Today
Views Today
1
0

Автор публикации

не в сети 2 дня

koordinator

0
Комментарии: 2Публикации: 230Регистрация: 02-12-2017

Оставьте комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Авторизация
*
*
Генерация пароля