Умен дом Arduino mega 2560. Направи си сам умен дом на Arduino

Светът не стои на едно място. Технологиите проникват в живота на хората. Всеки ден е все по-трудно да си представим ежедневието без електроника. И ако по-рано всичко това беше достъпно само за заможни хора, сега технологията е във всеки дом и прави живота по-лесен и по-интересен.

Между другото, сега всеки човек, който има основни познания, може самостоятелно да сглоби всяко устройство, което може да стане полезно в ежедневието в бъдеще. Интернет е пълен с тематични сайтове и форуми, снимки и видеоклипове на майсторски класове, съвети и инструкции. Така се създават устройства, които допринасят за по-лесен и приятен живот. Ако една къща или апартамент е оборудвана със специални сензори, които четат тази или онази информация и изпълняват определени функции, такава къща може да се нарече „умна“.

Може би в научнофантастичните филми за бъдещето мнозина вече са срещали подобна структура. Красив просторен апартамент, в който всичко е автоматизирано. Компютърът събужда семейството сутрин, приготвя закуска, пере и глади и поддържа къщата чиста. Най-просто казано, тя играе ролята на прислужница-готвач и дори повече.

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

  • Включване/изключване на светлината.
  • Консумация на енергия.
  • температура.
  • Влажност в къщата.

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

Технология на сглобяване

« Умна къща“ – просто е контролери със сензори, чиято основна цел е да чете информация и въз основа на това да изпълнява съответните команди. Например контрол на стайна температура. Ако температурата в помещението падне под предварително зададеното ниво, системата автоматично включва отоплението на помещението. Това е само един пример за функциите " умен дом". Такива контролни сензори са инсталирани в цялата къща и изпълняват голямо разнообразие от функции.

И така, как да направите дома си умен? Какво е необходимо за това? Първо трябва да направите закупуване на необходимите контролерикоито ще трябва да бъдат програмирани и коригирани. На пръв поглед всичко е доста просто, но всъщност може да има проблеми с работата на самата система, за чието сглобяване и управление са необходими определени познания. Затова компанията Arduino се опита да опрости системата си възможно най-много, с която дори дете може да се справи.

Какво е Arduino система?

Системата Arduino е платформа за разработване на собствени програми за комфорт. Системата е лесна за работа и рядко се поврежда или поврежда. Системата Arduino е с отворен код и може да бъде свързана с помощта на USB кабел. Първоначално системата има набор от програми, инсталирани по подразбиране, но благодарение на типа отворен код можете да инсталирате свои собствени разработки.

Принцип на действие Ардуино

Как работи системата Arduino? Много просто. Сензори, инсталирани в цялата къща или апартамент, четат информация за околен святи прехвърлете всички данни на компютъракойто сам взема решенията си. Тази система може да работи на компютър, лаптоп, таблет или дори телефон. Всички програми за arduino могат да бъдат намерени в публичното пространство. Производителят прави целия хардуер максимално стандартизиран за системни конектори.

Системни функции Ардуино

Arduino система за проект за интелигентен дом трябва да изпълнява следните функции:

Въпреки разнообразието от функции, има няколко важни причини, започвайки от това, което потребителите дават предпочитанията си на Arduino.

Предимства

  • Цена.
  • качество.
  • Удобство.
  • Лекота на монтаж и проект като цяло.
  • Ниска цена в случай на счупване или повреда на отделни компоненти.
  • Наличие на софтуер.

И отново здравейте, Хаброжци! Ежедневно четейки Habr, многократно съм попадал на статии за Arduino и DIY проекти, базирани на него. Заслужава да се отбележи, че нямах нищо общо с електрониката и целият ми опит беше посещение на радиоклуб, базиран на тийнейджърския клуб „Искра“ (Петрозаводск). Един ден се събрах и реших да направя гривна със сензори (температура, налягане, импулс) за смартфон (BT комуникация) на Arduino.Но след като направих грешка при поръчката, получих само самия Arduino и сензор за налягане. За да тествам платката, отидох до най-близкия магазин за радиочасти за светодиоди и там ми хвана окото с магнитен сензор за затваряне на врата. Той ми даде идеята, че би било възможно леко да подобря живота в стаята (да не се бърка с апартамента). Без да губя време, направих поръчка на Ali с куп сензори и Arduino Mega.

След като поръчах джентълменски комплект сензори (температура, влажност, реле, StarterKit, BT, часовник, далекомер, IR сензор), реших да потърся как другите представляват интелигентен дом. Повечето бяха ограничени до: управление на полилеи и топли подове, въпреки че имаше наистина яки статии. Някои от функциите, които са обичайни за апартаментите, бяха просто излишни в стаята: например сензор за изтичане на газ или изтичане. Реших сам да създам необходимата функционалност в интелигентна стая:

  • Контрол на светлината
  • Контрол на температурата
  • Управлявайте по много начини
  • Управление на вратите
  • Следене на температурата
  • Мониторинг на времето

Оказа се, че всички необходими сензори вече са поръчани и остава само да чакаме. И сега всички сензори са пристигнали!

Първа стъпка

Когато вече мигахте светодиоди и решихте да построите интелигентен дом, би било логична стъпка да мигате светлините в стаята, но ранните жеги ви принудиха да се погрижите за контрола на температурата. За начало току-що се опитах да свържа dht11 от StarterKita. Какво може да бъде по-лесно, ако интернет е пълен с инструкции? Както се оказа, има много библиотеки за свързване на dht11 и не всички от тях са съвместими с най-новите версии IDE, но след няколко часа се възхищавах на температурата, показана в конзолата, и след няколко минути светодиодът мига в зависимост от нея. (Изключете сензора, поставете го в хладилника, извадете го от хладилника, включете го...)

Първият проблем беше ниската точност на избрания dht11: той излъга с 2-3 градуса в двете посоки - трябваше да го заменя (след това се опитвам да поръчам сензори в няколко версии).

Тогава отидох в Leroy Merlin и си купих най-простия вентилатор там. След няколко минути игра с кабели и щепсел, вентилаторът беше сглобен. Заедно със съсед свалиха прозореца и го монтираха (вентилатор, а не съсед) на свободната седалка. Включихме щепсела и... Вентилаторът започна да се върти. Бавно. Толкова бавно.
Излишно е да казвам, че инсталирахме щепсела неправилно и вентилаторът се въртеше от вятъра?


Разбира се, налично е ръчно изключване на тока. Но какъв е най-добрият начин за управление на вентилатор чрез реле? Свързване директно към вентилатора? Реших да свържа вентилатора към релето през гнездото: това дава гъвкавост на системата (можете да замените вентилатора с нещо друго).

Тестване на вентилацията

И ето кода, пренаписан от светодиода към релето. Фърмуерът е зареден, следя температурата в очакване на необходимото за старт - и ето го момента! Релето щраква и COM портът изчезва. Очевидно в момента на превключване натоварването на USB се увеличава и има смущения в данните. Първо си помислих, че е от смущения от 220V проводници, но те са на достатъчно разстояние от платката. По-късно това ми създаде много проблеми: когато се опитам да кача нова скица, Arduino се рестартира, превключва релето и по този начин премахва COM порта и следователно процеса на актуализиране. Не успях да преодолея този проблем.

Дистанционно

Разбира се, постоянната работа на вентилатора скоро се отегчи и изключването му чрез превключвателя не беше готино! Така че извадих стартовия комплект и дистанционното управление оттам. Всъщност от този момент започнаха проблемите: нямах представа как изглежда приемникът. Но няколко минути гугълне ми помогнаха да го намеря и час по-късно вече се забавлявах, управлявайки вентилатора от дистанционното управление.

Първоначално беше сложен алгоритъм с няколко флага, но накрая измислих малък

алгоритъм на таймера

Ако (дойде сигнал) (
време_ръчен_контрол = 1800;
fan_mode =! fan_mode;
}
Ако (ръчно_време!= 0)(
време_ръчен_контрол--;
)в противен случай(
Ако (температура< 26){
fan_mode = невярно;
)в противен случай(
fan_mode = вярно;
}
}


Но дори и тук имаше някои проблеми: актуализирах кабелите, приложих 5V към DATA и много бързо загубих приемника. Това ме накара да направя следващата стъпка...

Управление чрез BT модул

Скоро свързах модула HC-06 BT, пренасочих изхода там и добавих четене на команда. Мислех, че ще бъде много по-трудно, но благодарение на статията за robocraft.

Се случи



Съсед и фен

Мислех, че като науча съсед да управлява системата от смартфон, ще реша проблема „Хей, студено ми е“, но ... Ако можех да издържа да изключа захранването на вентилатора през превключвателя, но затварям прозореца просто ме ядоса. Защо? Вентилаторът духаше в стъклото на няколко сантиметра и бръмчеше ужасно. За щастие имах магнитни сензори наоколо, което ме подтикна да създам система. Затворен сензор сигнализира на Arduino, че вентилаторът не трябва да се включва. Уви, понякога имаше смущения, така че трябваше да направя проста проверка: ако сигналът за затваряне идва няколко пъти подред, прозорецът наистина е затворен.


Контрол на светлината

Сега беше време да поеме контрол над светлината. След вентилатора няма нищо сложно: кутия, чифт клемни блокове - и светлината вече се управлява чрез Arduino (разбира се, с възможност за изключване през стария ключ). Единственото ми притеснение е, че релетата не са най-добрият начин за управление на крушки.

Проблеми със звука

Е, какъв контрол на светлината без изскачане? Поръчах микрофон. Така че си помислих... Спомняте ли си неопитността? Всъщност поръчах звуков детектор с ръчна настройка на прага. Изглежда, че работи за моята цел? Но имаше няколко "но":
  • Малък радиус на действие: памуците се обработват само от десетина сантиметра
  • Кратка продължителност на сигнала: с дълго време за изпълнение на кода сигналът от сензора просто нямаше време да бъде фиксиран от Arduino

Връщането на дистанционното

Малко гугъл, пътуване до магазина - и вместо изгорелия VS1838B, закупих по-надежден TSOP1836. Този път инсталацията беше успешна и всичко заработи веднага.


Изход към улицата

Разбрах през прозореца, но какво има зад него? Въоръжен с поялник, запоих сензор за дъжд и друг dht11 към петметров VGA кабел. Няколко U-образни крепежни елементи, черна електрическа лента, мъх и системата отива на бойно дежурство.


Освен това научих, че можете да показвате руски текст.

Стана



Малко удобство

Изглежда, че смартфонът винаги е под ръка, но докато го намерите, докато го свържете ... Понякога е по-бързо да изключите светлината или вентилатора през превключвателя, но това прави невъзможно управлението чрез Arduino (импулсните релета са твърде скъпо), затова добавих два обикновени бутона.

Малко сигурност

Къде без пожарна аларма в общежитие за техници? Поради липса на опит купих детектор за пожар, а не детектор за дим. Определянето на горящ мач на разстояние до 30 см е, разбира се, готино, но не достатъчно. Така че за сега се справих без него.

Говорейки за противопожарни аларми в общежитието...


  • Говорител, който понякога издава сирена или хрипове на мъртвец
  • Локален детектор за дим
  • Мрежов детектор за дим (свързан към конзолата за сигурност)

Обща форма







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

Код на скица

Сегашно състояние

#включи
#включи
#включи
#включи
#define DHT_PIN 2 // щифт на термометъра...
#define DHT2_PIN 52 //щифт за външен термометър...
#define RAIN_PIN 53 // щифт на сензор за дъжд
#define RECV_PIN 3 // щифт за свързване на IR приемник
#define FAN_PIN 4 //пин за свързване на реле
#define LAMP_PIN 5 //щифт за свързване на реле
#define SOUND_PIN A0 // щифт за свързване на микрофона
#define WINDOW_PIN A1 //щифт за прозорец

#define LAMP_BUT_PIN 50 // щифт за свързване на микрофона
#define FAN_BUT_PIN 51 //щифт за прозорец

#define DHTTYPE DHT11

#define TIMER_FAN 0
#define TIMER_WINDOW 1

IRrecv irrecv(RECV_PIN);
decode_results;
int таймери;
bool FAN_FLAG = невярно;
bool LAMP_FLAG = вярно;
int WINDOW_VAL = 0;

bool WINDOW_OPEN = невярно;
bool WINDOW_FLAG = невярно;
bool RAIN_FLAG = невярно;

Char incomingByte;

DHT dht(DHT_PIN, DHTTYPE);
DHT dht2(DHT2_PIN, DHTTYPE);

DS1302 rtc (49, 46, 48);
void setup()(
Serial1.begin(9600);

rtc.halt(false);
rtc.writeProtect(false);
//rtc.setDOW(НЕДЕЛЯ); // Задайте ден от седмицата на ПЕТЪК
//rtc.setTime(0, 37, 40); // Задайте часа на 0:37:00 (24-часов формат)
//rtc.setDate(25, 5, 2014); // Задайте датата на 25 май

Таймер = 0;
таймер = 0;

PinMode(RAIN_PIN, INPUT);
pinMode(LAMP_BUT_PIN, INPUT);
pinMode(FAN_BUT_PIN, INPUT);

PinMode(FAN_PIN,OUTPUT);
pinMode(LAMP_PIN,ИЗХОД);

DigitalWrite(FAN_PIN,LOW);
irrecv.enableIRIn(); // Включете приемника

Dht.begin();
dht2.begin();
}
int обем;
void loop() (
WINDOW_VAL = analogRead(WINDOW_PIN); // магнитен сензор
if(WINDOW_VAL > 950)(
ако (WINDOW_FLAG)(
таймери++;
ако (таймери>10)(
WINDOW_OPEN=false;
}
)друго(
WINDOW_FLAG=вярно;
}
)друго(
WINDOW_OPEN = вярно;
WINDOW_FLAG=false;
таймери=0;
}

If(digitalRead(RAIN_PIN)==HIGH)(
RAIN_FLAG=вярно;
)друго(
RAIN_FLAG=false;
}

Сила на звука = analogRead(SOUND_PIN);
ако (обем<40){
LAMP_FLAG = !LAMP_FLAG;
}

If(digitalRead(LAMP_BUT_PIN)==HIGH)(
входен_сигнал(1);
}
if(digitalRead(FAN_BUT_PIN)==HIGH)(
входен_сигнал(0);
}

Ако (irrecv.decode(&results))
{
if (results.value == 16750695) //Код на бутон
{
входен_сигнал(0);
}
if (results.value == 16756815) //Код на бутон
{
входен_сигнал(1);
}
irrecv.resume(); // Получаване на следващата стойност
}
//Serial.println(rtc.getTime().hour);
//Serial.println(rtc.getTime().min);
Serial1.print(rtc.getDOWStr());
Serial1.print(" ");
Serial1.print(rtc.getDateStr());
Serial1.print("-");
Serial1.println(rtc.getTimeStr());

Ако (Serial1.available() > 0) (
incomingByte = Serial1.read();
if(incomingByte == "0") (
Serial1.println("Ръчният режим е деактивиран");
входен_сигнал(0);
)else if(incomingByte == "1") (
Serial1.println("Разрешен ръчен режим");
входен_сигнал(0);
)else if(incomingByte == "2") (
входен_сигнал(1);
}
}

Floath = dht.readHumidity();
float t = dht.readTemperature();

Ако (isnan(t) || isnan(h)) (
Serial1.println("Грешка при отчитане от вътрешен термометър");
) иначе (
ако (таймери<=0){
ако (т<26){
FAN_FLAG=false;
)иначе ако (t>26)(
FAN_FLAG = вярно;
}
)друго(
таймер--;
}
Serial1 print(h);
Serial1.println(" %\t");
Serial1.print(t);
Serial1.println("*C");
}

ако (таймери>0)(
Serial1.print("Ръчен режим остава да работи: „);
Serial1.print(таймери);
Serial1.println("сек");
)друго(
Serial1.println("Ръчният режим е деактивиран");
}
if (FAN_FLAG && WINDOW_OPEN)(
digitalWrite(FAN_PIN,HIGH);
Serial1.println("Вентилаторът е включен");
)друго(
digitalWrite(FAN_PIN,LOW);
Serial1.println("Вентилаторът е изключен");
}

Ако (WINDOW_OPEN)(
Serial1.println("Прозорецът е отворен");
)друго(
Serial1.println("Прозорецът е затворен");
}

Ако (LAMP_FLAG)(
digitalWrite(LAMP_PIN, HIGH);
)друго(
digitalWrite(LAMP_PIN,LOW);
}

H = dht2.readHumidity();
t = dht2.readTemperature();
Serial1.println("Извън прозореца:");
if (isnan(t) || isnan(h)) (
Serial1.println("Грешка при отчитане от външния термометър");
) иначе (
Serial1.print("Влажност: ");
Serial1 print(h);
Serial1.println(" %\t");
Serial1.print("Температура: ");
Serial1.print(t);
Serial1.println("*C");
}
ако (RAIN_FLAG) (
Serial1.println("Няма дъжд");
)друго(
Serial1.println("Дъжд");
}

Serial1.println("*****");
забавяне (100);
}

Void input_signal(int signal)(
превключвател (сигнал)(
случай 0:
if(rtc.getTime().hour> 1 && rtc.getTime().hour< 8){
таймер = 1800;
)друго(
таймер = 18000;
}
FAN_FLAG = !FAN_FLAG;

Serial1.println("Превключен вентилатор");
прекъсване;
случай 1:
LAMP_FLAG = !LAMP_FLAG;
Serial1.println("Превключена светлина");
прекъсване;
}
}

Ами ако има грешка в кода?

Използвам нормално затворено реле. Тоест всичко е включено по подразбиране: можете да изключите Arduino от мрежата и да използвате прости превключватели.

Планове за развитие

Това, което изброих, е само основата за една наистина интелигентна стая. В крайна сметка целият му AI включва и изключва вентилатора в зависимост от температурата. Планирам следното, за да направя стаята по-удобна и "автономна".
Аларма
След добавяне на часовника към системата, следващият по ред е будилникът. Като сигнал предполагам: пиезо пищялка, мигаща светлина и включване на вентилатора. И разбира се, събудете се рано, ако навън вали (-10 скорост на движение).

Добавете система за запазване на аларми на SD карта с помощта на този модул (в случай на прекъсване на захранването).

Приложение за компютър и смартфон + джаджи
Какво е интелигентен дом без управление от смартфон или компютър?

Предполагам нещо подобно:


Защо не WiFi? Много скъпо.

Изход собствена мощност на Arduino
Мисля, че коментарите са ненужни: опасността от изгаряне на USB и постоянна намеса в други устройства. Освен това искам да прехвърля захранването от платката към специален адаптер.
Управление на рутер през контакт
Добрият стар Asus RT56U обича да се топли, особено през лятото. Затова искам да направя автоматично изключване за няколко часа през нощта, за да се охлади.
Добавете наблюдение на присъствие
Сега имам добър стар пироелектрик инфрачервени сензории двойка ултразвукови сензори за разстояние. Това може да е достатъчно за най-простия контрол на присъствието.

В стаята живеят двама души. Всеки има четири състояния:

  • На компютър
  • Разходи
  • Лежа на леглото
  • Липсва

Инфрачервените датчици определят присъствието в помещението, а ултразвуковите присъствието в зоните (легло/маса) и следят броя на входящите/изходящите.

Това ще ви позволи да реализирате най-простите сценарии:

  • Дойдох вечерта и съседът не спи: запали светлината
  • Всички са вън: изгасете светлините
  • Всички лежат и не мърдат: изгасете светлината
Добавете фоточувствителен резистор
Класика на жанра: автоматично включване на светлината, ако има някой в ​​зоните „На компютъра“ в стаята и стаята е тъмна.
Добавете електромеханична брава и затварящо устройство
Не знам за вас, но аз съм твърде мързелив, за да търся ключове през цялото време, така че наистина искам да инсталирам електромеханична ключалка, съчетана с четец на карти за близост или сензор за пръстови отпечатъци. Входът в хостела е с електронни пропуски - знам честотата и мога лесно да си поръчам Arduino четец, но картите се клонират много лесно (аз самият имам устройство за това), така че когато му дойде времето, най-много вероятно се задоволява с пръстови отпечатъци.

Съседът често отива в кухнята / тоалетната / банята и не затваря вратата. Седя пред входа и не ми харесва, че всички, които минават, виждат шортите ми и съзерцават разположението в стаята. Контролиран затварящ механизъм би бил чудесно решение за такива ситуации.

Надстройте прозореца
Както вече писах, ако температурата е над определена граница, вентилаторът се включва. Но какво ще стане, ако в стаята няма никой и температурата вече е под 20? Бих искал да добавя към системата отварянето / затварянето на прозореца. Може би това ще бъдат прости двигатели + въдица.

Известно е, че ако охладите електрическата крушка и я включите, с голяма степен на вероятност тя ще избухне. Така ще спести и нерви и електрически крушки.

електрическа крушка, която не отговаря на системата за контрол на температурата


Сменете DHT11
Както вече писах не разбирам от сензори и т.н. Така че купих първите температурни сензори, на които попаднах: dht11. Сега искам да ги сменя с dht22 за стаята и dht21 за улицата. dht22 има по-малка грешка, а dht21 има поддръжка за отрицателни температури и защитен корпус, което е важно за улицата. Street dht11 вече започна да се губи понякога.
студенти Добавете тагове

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

Сега почти всеки човек, с определени основни познания, има възможност да сглоби всяко електронно устройство, което е полезно в ежедневието със собствените си ръце. Интернет има огромен брой тематични форуми, сайтове с подробни препоръки, готови планове, програмни кодове, споделени от опитни дизайнери. По принцип такива домашно направени разработки са създадени, за да улеснят собствения им живот, техния дом. Следователно те се превръщат в различни контролери - устройства, които могат да четат всяка специфична информация и въз основа на нея да изпълняват определени функции. Ако една къща (апартамент, стая) е снабдена с такива сензори, които ви позволяват да контролирате широк спектър от аспекти на ежедневието, тогава такава къща се нарича "умна".

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


Какво е "умен" дом?

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


Как да го направя?

Трябва да се разбере, че „интелигентният“ дом е просто набор от контролери със свързани сензори, които четат информация и въз основа на нея изпълняват някои специфични команди. Например контролер за отопление. Когато засече спад на температурата под определено ниво, той ще включи подаването на топлина в помещението. На този принцип работят автоматичните климатици. И в „интелигентен“ дом такива контролери със сензори са навсякъде, което ви позволява да контролирате максималния брой задачи. Естествено, за да направите своя „умен“ дом, първо ще разработите малък проект в главата си, като вземете предвид в него кои области от живота си искате да подобрите и от какво се нуждаете за това.

Така че, за да направите дома си по-самостоятелен, имате нужда от контролери, които можете да използвате. Факт е, че не е достатъчно да ги купите - все още трябва да ги програмирате, да свържете външни източници на информация и да ги настроите за правилната работа. Тук възниква проблемът с липсата на знания в дадена област, тъй като много от тези устройства са доста трудни за работа и малко хора могат да работят с тях. Но когато има търсене (кой не би искал да сглоби работещо електронно устройство със собствените си ръце?), има и съответното предложение. Една компания е най-популярният доставчик на лесни за използване и разбиране електронни устройства в момента. Това е компанията Arduino.

Преди да започнете разглеждането на тази система, е необходимо да се вземе предвид, че няма универсален проект за интелигентен дом за тази система. Всеки потребител прави свой собствен специален проект, който изпълнява по свой начин, използвайки свои собствени уникални технически решения. Това е едно от предимствата на системата, което ще разгледаме по-долу.

Какво представляват Arduino системите?

Arduino вече е удобен електронен дизайнер, разбираема среда за програмиране и като цяло удобен инструмент за създаване на собствен дизайн както за начинаещи, така и за професионалисти. Популярността на платформата Arduino се дължи на факта, че тя се програмира на прост и разбираем език, програмите се прехвърлят през USB (нямате нужда от програматор, с други думи, програмен предавател, за да желаното устройство), също отворен код (базата, върху която е създадена платформата, нейното софтуерно ядро, с помощта на което всички желаните програми). отворен кодполезен за потребителите, тъй като въз основа на него те могат да създават свои собствени "домашно направени" програми, а не само да използват тези, предоставени от самия Arduino.


Каква е същността на технологията Arduino? Той позволява на обикновен компютър, така да се каже, да „излезе“ в реалното пространство, да започне да „чувства“. Това се постига чрез сензори, които чрез някакви средства (най-често безжични) му предават информация за околната среда и въз основа на които той може да взема самостоятелни решения за управлението на някои управляващи устройства. По този начин можете да конфигурирате работата на тази технология за почти всичко. В същото време продуктите на Arduino са универсални и могат да взаимодействат с голям брой системи, както на персонален компютър, така и на мобилни устройства. Самият пълнеж от малка дъска и допълнения към нея, конкретен потребител може или да закупи в сглобяема версия, или да го сглоби сам от компонентите, от които се нуждае. Всички конектори на платките Arduino са стандартизирани, доколкото е възможно, което улеснява производителите на трети страни да произвеждат съвместими части. всичко софтуере достъпен за безплатно изтегляне, което значително увеличава популярността на Arduino в мрежата.

„Гъвкавостта на Arduino ще ви помогне да спестите собствените си пари, време и нерви – три в едно“, казват опитни домашни инженери в различни форуми и общности. Всъщност проектът на вашия "умен" дом наистина ще бъде много по-лесен, защото не е нужно да купувате скъпи редки компоненти с богат избор от по-прости и по-евтини части, които не са по-ниски по функционалност. Освен това популярността на системата също ви служи добре - за нея днес активно се разработват готови кодове, планове и проекти, които се правят както от професионалисти, така и от аматьори. Всичко това е комбинирано в огромни библиотеки, където можете да намерите функционалност за всеки вкус.


Какво трябва да може да "интелигентен" дом?

Що се отнася до създаването на собствен „умен“ дом, arduino отдавна се е превърнал в почти нарицателно име, използването на тази технология за автоматизиране и дистанционно управление на собствения ви живот е толкова популярно. Вече са възникнали огромен брой разработки на "домашни" потребители, които се основават на тази технология и тяхната цел варира от просто включване и изключване на светлината до такива сложни системи като управляващи компютри.


На първо място, трябва да определите какви качества трябва и може да притежава един „умен“ дом, ако оставим настрана научната фантастика? В края на краищата в проекта на вашата къща можете да предвидите такива неща, които в действителност едва ли са осъществими. Едва ли ще успеете да намерите система, която да подбере вашите дрехи за работа. След известно проучване на форуми и сайтове можем да стигнем до извода, че такава къща трябва да може:

  1. Той трябва да контролира включването/изключването на светлината. С най-прогресивния вектор на развитие не е лесно да изключите електрическите крушки чрез сигнал от дистанционното управление или звуков сигнал (пляскане), но, например, автоматично изключване на светлината, когато никой не е у дома или когато всички в къщата спят.
  2. Контрол на температурата вътре в къщата. Това е взаимодействието на автоматизиран компютър с вентилационни, отоплителни и подобни системи. Принципът на работа тук е доста прост: когато температурата се промени, която фиксира сензора, системата автоматично включва или изключва всяка необходимите уреди. Тук също има перспективи, например създаване на такъв набор от команди, така че след като си легнете, температурата бавно да спада (по-удобно е да спите в дълбоката фаза в хладна стая), а след събуждане (аларма сигнал), напротив, той се издига (по-приятно е да се събудите в стаята по-топло).
  3. Мониторинг външна среда. Зад тези научни термини се крие дефиницията на уличната температура, индикацията за дъжд, сняг и други подобни. По правило цялата метеорологична информация трябва да се предава на някакъв екран и може да бъде придружена от звукови сигнали. Един от дизайнерите предложи идеята да се събуждаме по-рано в случай на дъжд, тъй като когато вали, човек по-бавно събира багажа и му трябва повече време, за да стигне до работа/училище.
  4. Контрол на врати и вход/изход. Тази категория включва доста широка гама от различни устройства, като напр система за сигурност(често това е набор от ултразвукови и инфрачервени сензори, които откриват присъствието на хора в помещенията в момент, когато те не трябва да бъдат там), автоматични брави, електронни брави с различни модификации (например въз основа на четене на пръстови отпечатъци) и доста прости устройства като автоматично затваряне на вратата, когато хора живеят с вас, които забравят да я затворят след себе си.
  5. Система за предупреждение за различни течове, течове, това включва и функцията за откриване на дим и открит огън в помещението. Възможно е да се модифицира такава система до степен да започне да се обажда на пожарната.
  6. Други системи, от които може да има огромно разнообразие. От често използваните може да се открои управлението на оборудването (например автоматично включване на музикални инструменти, телевизор), различни системи за събиране на данни (например устройството показва информация за температурата на водата в аквариума на всеки няколко минути).


Всички тези системи, които на пръв поглед изглеждат сложни и доста фантастични, вече се внедряват от потребителите в собствените им домове с помощта на Arduino системи. В настоящата епоха на смартфоните идеята за управление на дом чрез Мобилни телефони, и най-често такива системи се създават на базата на мобилната операционна система Android, като най-отворена и удобна за разработчика. Така човек може например да нахрани животни с помощта на Twitter или да включи отоплението на стаята преди пристигането си, просто като се обади.

По този начин можем да кажем, че Arduino ви позволява да реализирате проекта за почти всяко подобрение в живота си. Широките възможности и, най-важното, гъвкавостта на системата, която може да взаимодейства с различни софтуерни продукти, служат като отличен инструмент за реализиране на вашите идеи.

„Arduino всъщност е идеалният инструмент за реализиране на вашите проекти и мечти“, казват опитни дизайнери във форумите, които сами представят проекти на собствените си градски и селски къщи, които удивляват въображението на неопитен човек, който са разработили и се реализираха сами.


Защо Arduino?

Възниква логичен въпрос: възможно е да закупите всички такива системи и да поръчате инсталирането им от професионалисти, които в допълнение към инсталацията ще могат красиво да проектират такива системи (например да скрият същите проводници). Защо да ги правите сами Ардуино? Отговорът е лесен – става дума за цена и удобство. По правило фирмите, които се занимават професионално с инсталирането на такива системи, правят много, много значителна надценка както върху цената на самите компоненти и подобни устройства, така и върху цената на тяхното инсталиране.

Разбира се, те ще направят всичко вместо вас и ще бъде достатъчно бързо, но, първо, ще загубите възможността да промените нещо по ваш вкус и заедно с това да поправите нещо в случай на някаква повреда (както тези компаниите използват други системи, които далеч не са толкова добре и удобно стандартизирани и унифицирани и далеч не са толкова лесни за използване). Платката Arduino и нейните аксесоари, както и допълнителните части, от които се нуждаете, ще ви струват много по-малко и като се има предвид, че просто трябва да разберете как работи, ако е необходимо, можете да коригирате повредата и да замените желаната част и да коригирате система за себе си.


В същото време платформата Arduino, поради оправданата си популярност, има огромен брой различни библиотеки, към които опитни потребители вече са добавили необходимите, добре модифицирани програмни кодове, които несъмнено ще улеснят решаването на всякакви проблеми и въпроси, които възникват в процеса на поставяне на тези системи във вашия "умен" проект.у дома.

Здравейте всички. Отдавна нищо не е писано. Днес ще говорим за бази данни. Да, за тях става въпрос. Защо тази тема стана актуална? В процеса на внедряване на система за интелигентен дом се натъкнах на голям проблем: Добавяне на нови сензори към моята система. Това от своя страна води до добавяне на нови параметри и данни, които трябва да бъдат предадени от ...

Честита Нова Година на всички! В навечерието на празника ще говорим за новогодишен гирлянд, управляван от таблет или смартфон чрез bluetooth. Списък на компонентите на проекта: RGB LED лента (гирлянд) с контролен чип Arduino про мини Bluetooth модул Таблет (смартфон) базиран на Android Има много различни RGB ленти, на различни микросхеми. По-долу е даден списък с микросхеми, с които можем...

DHT сензор за влажност В последната статия разгледахме управлението на вентилатор за баня с помощта на конвенционален фоторезистор. Време е да добавим към нашата схема за интелигентен дом нов типсензор. Сензор за влажност и температура - DHT (пинове 9.10). Описание и пример за работа със сензора можете да намерите в статията С помощта на DHT сензора ще измерим влажността в банята...

Ще направим автоматично нощно осветление в банята с помощта на сензор за движение и сензор за светлина (фоторезистор). Като светещ елемент ще използваме LED лента 12v.Профил с led лентаСензор за движение в кутията Фоторезистор (временна инсталация) Алгоритъмът за управление е доста прост. Ако е тъмно и сензорът за движение се задейства, включете подсветката за известно време. Също така е необходимо да се предвиди случаят, когато излизате ...

След написването на последната статия имаше проблем с прегряване на един от сензорите DS18B20. В различно време след включване започнах да наблюдавам, че данните от DS сензорите не идват. След рестартиране на цялата система един от сензорите показваше 35-40 градуса и за 15 минути температурата падна до реалната. Опитах се да сменя сензора с нов, нищо не помогна. Как тогава...

Следващата стъпка в дизайна на нашия интелигентен дом ще бъде проектирането на управление на вентилацията. Разполагаме с 3 вентилатора, захранвани от мрежа 220 с натоварване 180W - Вентилатор в банята, комбинирана с баня - Вентилатор в кухнята за вентилация на тавана - Вентилатор за интелигентния домашен контролен блок и десктоп (PC, зона за запояване) Вентилаторът се управлява чрез реле, което...

В този проект ще ви покажа как да изградите интелигентен дом. Може да следи температурата навън и в помещението, да записва дали прозорецът е отворен или затворен, да показва дали вали, както и да подава алармен сигнал при задействане на PIR сензора за движение. Създадох приложение за Android за показване на всички данни (данните могат да се видят и през браузър). Ще можете да видите температурата във вашия дом и друга информация от всяка точка на света! Приложението е преведено на английски и полски. Създадох това устройство, защото исках да имам собствен интелигентен дом, който може да се контролира. Можете също да изградите интелигентен дом с компонентите, препоръчани по-долу. Тогава да започваме.

Обяснение на съкращенията за начинаещи:

GND - земя
VCC - Мощност
PIR - сензор за движение

Стъпка 1: Компоненти

Цената на всички компоненти не надвишава $90

  • Датчик за температура DS18B20 х 2 бр
  • Рид ключ
  • Резистор 4,7 kOhm
  • кабел, усукана двойка
  • ethernet кабел
  • инструменти (поялник, отвертка)

Стъпка 2: Връзки


Схемата на свързване е показана по-горе.

Стъпка 3: Код

Първо трябва да изтеглите, разархивирате и импортирате тази библиотека във вашата среда за разработка Arduino IDE. След това трябва да изтеглите тази програмав Ардуино. Коментарите обясняват кода.

Стъпка 4: Как работи


Ако щракнете върху бутона за опресняване във вашето приложение или браузър, Arduino ще изпрати данните към смартфона/браузъра. Приложението получава програмния код от всяка страница (/tempin, /tempout, /rain, /window, /alarm) и го показва на вашия смартфон.

Стъпка 5: Приложения за Android.

За да инсталирате приложението на вашия смартфон с Android OS, трябва да направите следното (това се вижда на снимките по-горе):

1. Първо изтеглете файла smartHome.apk
2. Изпратете apk файла на телефона си
3. Отворете файловия мениджър и поставете файла smarthHome.apk
4. Кликнете върху него и щракнете върху инсталиране (трябва да поставите отметка в квадратчето, което ви позволява да инсталирате приложения извън пазара на Google Play)
5. След инсталирането е необходимо да активирате приложението

Стъпка 6: Конфигуриране на приложението

Ще обясня накратко как работи приложението. Той показва всички данни от вашия дом. Можете да щракнете върху иконата за настройки, за да редактирате своя IP адрес и да активирате или деактивирате алармата. Когато включите алармата, приложението получава данни от активния PIR сензор за движение. Ако сензорът засече чуждо движение в къщата, той изпраща известие. Приложението получава данни от сензора всяка минута. Въведете своя IP адрес в полето IP.

Стъпка 7: Браузър



Въведете вашия ip адрес / всички в адресната лента на вашия браузър. В този случай ще видите всички данни и ще можете да включвате и изключвате светлината.

Можете също да използвате приложението за Android за тези функции.

Стъпка 8: Пренасочване на порт

Трябва да отворите порт на вашия рутер. Въведете конфигурацията на рутера, задайте ip адреса на arduino и отворете порт 80. Процедурата е показана на снимката по-горе.

Стъпка 9: Присвояване на NO IP име на домейн (по избор)

можете да персонализирате сметкакъм no ip, но това не е задължително. Картината по-горе показва процеса на конфигуриране.

Стъпка 10: Тестване

Ако искате да видите данните на вашия компютър, въведете своя IP адрес / всички (напр. 12.345.678.901/всички) в адресната лента на вашия браузър или използвайте приложението за Android.

Стъпка 11: Редактиране: Изходен код на приложението за Android

По-долу е изходният код за Android.

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