GSM-охоронна система для будинку на базі Arduino. Домашня сигналізація або використання датчика руху та LCD монітора з Arduino Схема сигналізації для дому на ардуїно

Сьогодні мова піде про те, як за допомогою Ардуїнозібрати охоронну систему. Наша «охорона» охоронятиме один контур і керуватиме одним оповісником.

Для Ардуїно це не проблема, і, як ви побачите за кодом програми і за схемою пристрою, можна легко збільшити кількість точок доступу, що охороняються, і кількість пристроїв оповіщення або індикації.
Охоронну системуможна застосувати для охорони як великих об'єктів (будівель та споруд), так і невеликих предметів (скриньок, сейфів), і навіть переносних кейсів та валіз. Хоча з останніми треба бути обережнішими, якщо ви встановите систему охорони, наприклад, на валізу, з якою вирішите вирушити в подорож, і система оповіщення спрацює в якомусь аеропорту, то, гадаю, вам належить серйозна бесіда з місцевою службою безпеки:-)

Спрощено принцип роботи пристрою має такий вигляд (рис. 1). Після включення живлення пристрій переходить у робочий режим і чекає на постановку на охорону. Постановка та зняття з охорони здійснюються однією кнопкою. Для підвищення безпеки цю кнопку краще розташувати всередині приміщення (сейфа або скриньки). Перед увімкненням режиму охорони двері потрібно прочинити. При включенні режиму охорони (натискання на кнопку) електронна схема чекає, поки ви не закриєте двері до приміщення (дверцята сейфа, кришку скриньки, тощо).

На дверях (або дверцятах) має бути встановлений кінцевий вимикач будь-якого типу, про це пізніше. Замикаючись (або розмикаючись), кінцевий вимикач повідомить пристрій, що контур, що охороняється, замкнений, і пристрій перейде в режим охорони. Про перехід у режим охорони система сповістить двома короткими сигналами (як автомобільних сигналізаціях). У цьому режимі пристрій ловить відкриття дверей. Після відкриття дверей система чекає кілька секунд (це величина, що налаштовується, для приміщень близько десяти секунд, для скриньки одна-дві) відключення режиму охорони, якщо цього не відбувається, включається сирена. Алгоритм і схема розроблені так, що відключити сирену можна тільки повністю розібравши корпус і відключивши живлення.

Пристрій охоронної системидуже просте (рис. 2). В основі плата Ардуїно. Кінцеві вимикачі підключаються, як звичайна кнопка, через резистори, що підтягують. На кінцевиках зупинюся окремо. Вони бувають нормально замкнуті та нормально розімкнені. Можна як кінцевик включити звичайну кнопку, тільки хід звичайної кнопки дуже великий, люфт дверей зазвичай більше. Тому необхідно придумати якийсь штовхач для кнопки і пружити, щоб не зламати кнопку дверима. Ну і якщо не ліньки, то можна дійти до магазину і купити магнітний вимикач (геркон) (мал. 3), він не боїться пилу та забруднень.

Підійде і кінцевий вимикач автосигналізації (рис. 4). Слід зазначити, що програма написана під геркон. При зачинених дверях його контакт замкнутий. Якщо використовувати вимикач від автосигналізації, то при зачинених дверях він буде швидше за все розімкнений, і у відповідних місцях коду потрібно буде поміняти 0 на 1 і навпаки.

Як сирена пропоную використовувати оповіщувач звукової ПКИ-1 ІВОЛГА білоруського виробництва (рис. 5). Напруга живлення 9 – 15 В, робочий струм 20 – 30 мА. Це дозволяє використовувати його з батарейним живленням. У цьому він «видає» 95 - 105 дБ.

За таких характеристик від батарейки «Крона» він звучатиме кілька десятків хвилин. Я знайшов його в інтернеті за 110 руб. Там же геркон із магнітом коштує близько 30 руб. Вимикач від автосигналізації в автозапчастинах був куплений за 28 руб. Транзистор КТ315 можна взяти з будь-якою літерою або замінити на будь-який сучасний малопотужний транзистор кремнієвий відповідної провідності. Якщо гучності одного оповіщувача не вистачить (хто знає, може, ви захочете, щоб було чути за багато кілометрів), можна підключити кілька оповіщувачів паралельно або взяти потужніший, тільки в цьому випадку транзистор потрібно замінити на потужніший (наприклад, знайому нам транзисторну) складання ULN2003). Як роз'єми для підключення геркона і сирени я застосував найпростіші роз'єми для аудіо / відеопристроїв - ціна на радіоринку 5 руб. за пару.

Корпус пристрою можна склеїти із пластику або фанери; якщо охороняється серйозний об'єкт, його краще зробити металевим. Батареї або акумулятори живлення для підвищення надійності та безпеки бажано розмістити всередині корпусу.

Для спрощення програмного коду були використані елементи енергозбереження, і батарейок надовго бракує. Можна оптимізувати код, а ще краще радикально переробити, застосувавши обробку подій з переривань і режим сну. У цьому випадку живлення від двох квадратних батарейок, включених послідовно (9 В), має вистачити на кілька місяців.

Тепер код

// постійні
const int button = 12; // пін для кнопки
const int gerkon = 3; // пін для геркона
const int sirena = 2; // пін упр-ня сиреною
const int led = 13; // пін індикатора
// змінні
int buttonState = 0; // стан кнопки
int gerkonState = 0; // Стан геркона
int N = 0; // лічильник кнопки відключення охорони
void setup() (
// управління сиреною та індикатором - вихід
pinMode(sirena, OUTPUT);
pinMode(led, OUTPUT); // кнопка та геркон - входи
pinMode(gerkon, INPUT);
pinMode(button, INPUT);
}
void loop()(
digitalWrite(led, HIGH);
while(buttonState= =0)( // цикл очікування, доки натиснемо кнопку
buttonState = digitalRead(button); // для переходу в режим охорони
}
digitalWrite(led, LOW);
buttonState = 0; // обнулюємо значення кнопки
while(gerkonState= =0)( // цикл, доки зачинимо двері
}
delay (500); // :-)
digitalWrite(sirena, HIGH); // Код
delay (100); // індикації
digitalWrite(sirena, LOW); // включення
delay (70); // режиму
digitalWrite(sirena, HIGH); // охорони
delay (100); // оповіщення
digitalWrite(sirena, LOW); // звукове
while(gerkonState= =1)( // чекаємо відкриття дверей
gerkonState = digitalRead(gerkon);
}
for (int i=0; i<= 5; i++){ // 7,5 секунды на нажатие
buttonState = digitalRead(button); // секретної кнопки
if (buttonState = = HIGH) ( // відстежуємо свій - чужий
N=N+1;
}
delay (1500); // секретна фіча:-)))
}
if (N > 0) (// найголовніше
digitalWrite(sirena, LOW); // не включаємо сирену
}
else (
digitalWrite(sirena, HIGH); // або включаємо сирену
}
digitalWrite(led, HIGH); // Включаємо індикатор N = 0;
buttonState = 0;
delay(15000); // нагадування «чайникам», яким подобається
digitalWrite(led, LOW); // тиснути на кнопки без перерви delay (1000);

Доброго часу доби 🙂 Сьогодні поговоримо про сигналізацію. На ринку послуг повно фірм, організацією, що займаються встановленням та обслуговуванням охоронних систем. Ці компанії пропонують покупцеві широкий вибір сигналізацією. Однак їхня вартість далеко не копійчана. Але що ж робити людині, у якої не так вже й багато власних коштів, що можна витратити на охоронну сигналізацію? Думаю, висновок напрошується сам собою - зробитисигналізацію своїми руками. У цій статті наведено приклад того, як можна зробити свою власну кодову охоронну систему, використовуючи плату Arduino uno і кілька магнітних датчиків.

Систему можна дезактивувати введенням пароля з клавіатури та натисканням кнопки ‘ * ‘. Якщо хочете змінити поточний пароль, можете це зробити натиснувши на клавішу ‘ B', а якщо хочете пропустити або перервати операцію, можете зробити це, натиснувши на клавішу ‘#’. У системі є зумер для відтворення різних звуків і під час тієї чи іншої операції.

Активується система натисканням кнопки A. Система дає 10 секунд на те, щоб залишити приміщення. Після 10 секунд сигналізацію буде активовано. Кількість магнітних датчиків залежить від вашого власного бажання. У проекті задіяні 3 датчики (для двох вікон та дверей). Коли вікно відкривається система активується, і включається сигнал тривоги, що йде з зумеру. Систему можна дезактивувати за допомогою набору пароля. Коли відчиняються двері, сигналізація дає 20 секунд для введення пароля. Система використовує ультразвуковий датчик, який може виявляти рух.

Відео роботи пристрою

Вирібвиготовлена ​​в ознайомлювальних/навчальних цілях. Якщо хочете використовувати її у себе вдома, потрібно буде її доопрацювати. Укласти керуючий блок у металевий корпус та убезпечити лінію живлення від можливого пошкодження.

Починайте!

Крок 1: Що нам буде потрібно

  • плата Arduino uno;
  • висококонтрастний дисплей LCD 16×2;
  • клавіатура 4×4;
  • 10~20кОм потенціометр;
  • 3 магнітні датчики (вони ж геркони);
  • 3 2-х пінових гвинтових клеми;
  • HC-SR04 ультразвуковий датчик;

Якщо ви хочете зібрати систему без використання Arduino, вам також знадобиться таке:

  • DIP роз'єм для atmega328 + мікроконтролер atmega328;
  • 16MГц кварцовий резонатор;
  • 2 шт. 22pF керамічні, 2 шт. 0.22uF електролітичного конденсатора;
  • 1 шт. 10кОм резистор;
  • гніздо живлення (DC power jack);
  • макетна плата;
  • 5В блок живлення;

І одна коробка, щоб все це запакувати!

Інструменти:

  • Щось, чим можна розрізати пластикову коробку;
  • Термоклейовий пістолет;
  • Дрель шуруповерт.

Крок 2: Схема сигналізації

Схема з'єднання досить проста.

Невелике уточнення:

Висококонтрастний LCD:

  • Pin1 - Vdd до GND;
  • Pin2 - Vss до 5В;
  • Pin3 - Vo (до центрального висновку потенціометра);
  • Pin4 - RS до 8 висновку Arduino;
  • Pin5 - RW до GND;
  • Pin6 - EN до 7 висновку Arduino;
  • Pin11 - D4 до 6 висновку Arduino;
  • Pin12 - D5 до 5 висновку Arduino;
  • Pin13 - D6 до 4 висновку Arduino;
  • Pin14 - D7 до 3 висновку Arduino;
  • Pin15 - Vee (до правого або лівого виведення потенціометра).

Клавіатура 4×4:

Від лівого до правого:

  • Pin1 до A5 виводу Arduino;
  • Pin2 до A4 виводу Arduino;
  • Pin3 до A3 виводу Arduino;
  • Pin4 до A2 виводу Arduino;
  • Pin5 до 13 висновку Arduino;
  • Pin6 до 12 висновку Arduino;
  • Pin7 до 11 висновку Arduino;
  • Pin8 до 10 висновку Arduino.

Крок 3: Прошивка

На кроці представлений код, що використовується вбудованим !

Завантажте плагін codebender. Натисніть на кнопку Run в Arduino і прошийте свою плату цією програмою. На цьому все. Ви щойно запрограмували Arduino! Якщо хочете змінити код, натисніть кнопку «Edit».

Примітка: Якщо ви не будете використовувати Codebender IDE для програмування плати Arduino, вам потрібно буде встановити додаткові бібліотеки в Arduino IDE.

Крок 4: Виготовляємо власну керуючу плату

Після того, як вдало зібрали та протестували новий проект на базі Arduino uno, можете розпочати виготовлення власної плати.

Декілька порад, для успішнішого завершення затіяного:

  • 10кОм резистор повинен монтуватися між 1 (reset) та 7 (Vcc) висновками мікроконтролера Atmega328.
  • 16MГц кварцовий резонатор повинен приєднуються до висновків 9 і 10, зазначеними як XTAL1 і XTAL2
  • З'єднайте кожен вивід резонатора з конденсаторами 22pF. Вільні висновки конденсаторів заведіть на 8-й висновок (GND) мікроконтролера.
  • Не забудьте з'єднати другу лінію живлення ATmega328 із блоком живлення, висновки 20-Vcc та 22-GND.
  • Додаткову інформацію щодо висновків мікроконтролера можна знайти на другому зображенні.
  • Якщо плануєте використовувати блок живлення з напругою вище 6В, необхідно скористатися лінійним регулятором LM7805 та двома 0.22uF електролітичними конденсаторами, які слід змонтувати на вході та виході регулятора. Це важливо! Не подавайте більше, ніж 6В на плату! В іншому випадку ви спалите свій мікроконтролер Atmega та LCD дисплей.

Крок 5: Розміщуємо схему у корпусі

Інфрачервоні (ІЧ, IR) датчики зазвичай використовуються для вимірювання відстаней, але їх також можна використовувати для виявлення об'єктів. Підключивши кілька інфрачервоних датчиків до Arduino, ми можете створити охоронну сигналізацію.

Огляд

Інфрачервоні (ІЧ, IR) датчики зазвичай використовуються для вимірювання відстаней, але їх також можна використовувати для виявлення об'єктів. ІЧ-датчики складаються з інфрачервоного передавача та інфрачервоного приймача. Передавач видає імпульси інфрачервоного випромінювання тоді, як приймач детектує будь-які відбиття. Якщо приймач виявляє відображення, це означає, що перед датчиком певній відстані є якийсь об'єкт. Якщо відображення немає, немає об'єкта.

IR-датчик, який ми будемо використовувати у цьому проекті, виявляє відображення у певному діапазоні. Ці датчики мають невеликий лінійний пристрій із зарядовим зв'язком (CCD), який детектує кут, з яким ІЧ-випромінювання повертається до датчика. Як показано на малюнку нижче, датчик передає інфрачервоний імпульс у простір, а коли перед датчиком з'являється об'єкт, імпульс відбивається назад до датчика під кутом, пропорційним відстані між об'єктом та датчиком. Приймач датчика детектує та виводить кут, і, використовуючи це значення, ви можете розрахувати відстань.

Підключивши пару інфрачервоних датчиків до Arduino, ми можемо зробити просту охоронну сигналізацію. Ми встановимо датчики на одвірок, і, правильно вирівнявши датчики, ми зможемо виявити, коли хтось проходить через двері. Коли це станеться, сигнал на виході ІЧ-датчика зміниться, а ми виявимо цю зміну постійно зчитуючи вихідний сигнал датчиків за допомогою Arduino. У цьому прикладі ми знаємо, що об'єкт проходить через двері, коли показ на виході ІЧ-датчика перевищує 400. Коли це станеться, Arduino увімкне сигнал тривоги. Щоб скинути спрацювання сигналізації, користувач може натиснути кнопку.

Комплектуючі

  • 2 x ІЧ-датчик відстані;
  • 1 x Arduino Mega 2560;
  • 1 x зумер;
  • 1 x кнопка;
  • 1 x резистор 470 Ом;
  • 1 x транзистор NPN;
  • перемички.

Схема з'єднань

Схема для цього проекту показана на малюнку нижче. Виходи двох ІЧ-датчиків підключені до висновків A0 та A1. Два інших висновки підключені до висновків 5V та GND. 12-вольтовий зумер підключений до виведення 3 через транзистор, а кнопка, яка використовується для відключення сигналізації, підключена до виводу 4.


На наведеній нижче фотографії показано, як ми наклеїли датчики на одвірок для цього експерименту. Зрозуміло, у разі постійного використання ви встановили датчики по-іншому.


Встановлення

  1. Підключіть висновки 5V та GND плати Arduino до виводів живлення та GND датчиків. Ви також можете подавати на них зовнішнє живлення.
  2. Підключіть вихідні висновки датчиків до висновків A0 та A1 плати Arduino.
  3. Підключіть виведення 3 Arduino до бази транзистора через резистор 1 ком.
  4. Подайте напругу 12 на колектор транзистора.
  5. Підключіть позитивний висновок 12-вольтового зумера до емітера, а негативний - до шини землі.
  6. Підключіть висновок 4 до 5V виведення через кнопку. З метою безпеки, щоб уникнути протікання великого струму, це завжди краще робити через додатковий невеликий резистор.
  7. Підключіть плату Arduino до комп'ютера через кабель USB і завантажте програму в мікроконтролер, використовуючи Arduino IDE.
  8. Подайте на плату Arduino живлення, використовуючи блок живлення, акумулятор або кабель USB/

Код

const int buzzer=3; // висновок 3 – це вихід зумер const int pushbutton=4; // висновок 4 – це вхід для кнопки void setup() ( pinMode(buzzer,OUTPUT); // налаштувати виведення 3 на вихід pinMode(pushbutton,INPUT); // налаштувати висновок 4 на вхід ) void loop() ( // прочитати вихідний сигнал обох датчиків і порівняти результат з пороговим значенням int sensor1_value = analogRead(A0);int sensor2_value = analogRead(A1); // включити сигнал тривоги if(digitalRead(pushbutton) == HIGH) break;)) else (digitalWrite(buzzer,LOW); // вимкнути сигнал тривоги)))

Відео

Минулої статті ми вчилися користуватися GSM модулем SIM800L і зробили простеньку конструкцію управління навантаженням віддалено, сьогодні ми зробимо вже щось цікавіше, а саме охоронну GSM сигналізацію на модулі SIM800L з Aliexpress і Arduino, яку можна застосувати для охорони квартири, дачі. інших об'єктів, а при її спрацьовуванні вона сповістить дзвінком або SMS повідомленням.

Що нам знадобиться щоб зробити GSM сигналізацію:

  • GSM/GPRS модуль SIM800L;
  • Arduino Nano, UNO або інша Ардуїнка;
  • Знижуючий DC-DC перетворювач;
  • Акумулятор 3,7;
  • Резистори на 10 до - 7 шт;
  • Блок живлення.

Як зробити охоронну GSM сигналізацію на модулі SIM800L та Arduino, опис роботи:

Підключаємо модуль SIM800L, Arduino, датчики та ін. за схемою нижче, все збирається на макетній платі, щоб у будь-який час можна було щось поміняти, розміщуємо в будь-який відповідний корпус і виводимо дроти з корпусу для охоронних датчиків і на БП. Акумулятор теж розміщуємо в корпусі, він потрібен щоб коли зникає в будинку електроенергія, то пристрій переходило в автономний режим живлячись від акумуляторної батареї. На перетворювачі, що підвищує, налаштовуємо на виході 4,2 ​​вольта, при такій напрузі працює GSM SIM модуль і при цьому заряджається акумулятор, а також цієї напруги вистачає для роботи Arduino Nano.

До схеми можна підключити 5 будь-яких датчиків, як геркони, датчик вологості, диму, руху і т.п. які підтримують релейне спрацьовування, так як дана схема налаштована на спрацьовування сигналізації на розрив ланцюга будь-якого з п'яти датчиків, але при бажанні скетч можна переробити на замикання.

При спрацьовуванні першого датчика йде дзвінок на вказаний номер, потім скидає дзвінок і дзвінок на другий номер, це зроблено у випадку якщо перший номер на даний момент не буде доступний. При спрацюванні решти 4-х охоронних датчиків надсилається тільки СМС повідомлення в якому прописується номер або назва зони, що спрацювала, також це повідомлення буде надіслано на два телефонні номери.

У скетчі можна вписати номери телефонів і дати свої імена зонам, що охороняються, замість «Alarm! Zone1», «Alarm! Zone2», «Alarm! Zone3»… Ви можете написати назву об'єкта, куди поставили конкретний датчик, наприклад «Alarm! Okno», «Alarm! Dverj» та ін., пишіть назви зони лише на латиниці. Також у скетчі виставляється час дзвінки власнику, тобто через скільки годин повідомляти Вам про те, що вся система працює і все гаразд, за замовчуванням встановлено передзвонювати через кожні 144 години.

Все, ми зробили нескладну охоронну GSM сигналізацію на модулі SIM800L і Arduino, скетч і схему можна доопрацьовувати, наприклад, модуль SIM800L підтримує можливість підключення до нього гучномовця і мікрофона, що дозволить прослуховувати приміщення, що охороняється, а також вивести на гучномовець свій голос.

Скачати скетч для Ардуїно.

Її автор хотів виконати саморобку, щоб вона була дешевою та бездротовою.
Ця саморобка використовує PIR датчик руху, а передача інформації відбувається за допомогою модуля RF.

Автор хотів скористатися інфрачервоним модулем, але оскільки він має обмежену дальність дії, плюс може працювати тількина лінії прямої видимості приймачем, тому він вибрав RF модуль, за допомогою якого можна досягти дальності приблизно 100 метрів.


Для того, щоб відвідувачам було зручніше переглядати складання сигналізації, я вирішив поділити статтю на 5 етапів:
Етап 1: Створення передавача.
Етап 2: Створення приймача.
Етап 3: Встановлення програмного забезпечення.
Етап 4: Тестування зібраних модулів.
Етап 5: Складання корпусу та встановлення в нього модуля.

Все, що знадобилося автору, це:
- 2 плати ARDUINO UNO/ARDUINO MINI/ARDUINO NANO для приймача та передавача;
- RF приймальний модуль (433 MHZ);
- PIR датчик руху;
- 9В батарейки (2 штуки) та конектори до них;
- Зумер;
- світлодіод;
- резистор з опором 220 Ом;
- Макетна плата;
- Джампери/проводи/перемички;
- Монтажна плата;
- міжплатні штирьові з'єднувачі;
- перемикачі;
- Корпуси для приймача та передавача;
- Кольоровий папір;
- монтажний скотч;
- набірний скальпель;
- термоклейовий пістолет;
- паяльник;
- шматочки / інструмент для зняття ізоляції;
- Ножиці по металу.


Етап 1.
Починаємо створення передавача.
Нижче надано схему роботи датчика руху.


Сам передавач складається з:
- датчика руху;
- плати Arduino;
- модуль передавача.


Сам датчик має три висновки:
- VCC;
- GND;
- OUT.

Після чого перевірив роботу датчика


Увага!!!
Перед завантаженням прошивки автор переконується в тому, що в налаштуваннях Arduino IDE вірно встановлено поточну плату і послідовний порт. Після чого завантажив скетч:

Пізніше, як датчик руху зафіксує рух перед собою, світиться світлодіод, а також у моніторі ви зможете побачити відповідне повідомлення.


За схемою трохи нижче.


Передавач має 3 висновки (VCC, GND і Data), з'єднуємо їх:
- VCC > 5В виведенням на платі;
- GND > GND;
- Data > 12 виведенням на платі.

Етап 2.


Сам приймач складається з:
- Модуля RF приймача;
- Плати Arduino
- Зумера (динаміка).

Схема приймача:


Приймач, як і передавач, має 3 висновки (VCC, GND і Data), з'єднуємо їх:
- VCC > 5В виведенням на платі;
- GND > GND;
- Data > 12 виведенням на платі.


Етап 3.
Основою усієї прошивки автор вибрав файл-бібліотеки. Скачав, що він, і помістив його в папку з бібліотеками Arduino.

ПЗ для передавача.
Перед тим, як завантажувати код прошивки в плату, автор виставив такі параметри:
- Board -> Arduino Nano (або та плата, яку ви використовуєте);
- Serial Port ->


Після встановлення параметрів, автор скачав файл прошивки Wireless_tx і завантажив його на плату:

ПЗ для приймача
Автор повторює ті ж дії і для плати, що приймає:
- Board -> Arduino UNO (або та плата, яку ви використовуєте);
- Serial Port -> COM XX (перевірте com порт, до якого підключено вашу плату).



Після того, як автор встановив параметри, завантажує файл wireless_rx і завантажує його в плату:


Після, за допомогою програми, яку можна завантажити, автор згенерував звук для зумера.

Етап 4.
Далі, після завантаження програмного забезпечення автор вирішив перевірити, чи все працює належним чином. Автор під'єднав джерела живлення, і провів рукою перед датчиком, і в нього запрацював зумер, а отже, все працює як треба.


Етап 5.
Фінальна збірка передавача
Спочатку автор зрізав виступаючі висновки з приймача, передавача, плат arduino, тощо.


Після цього з'єднав плату arduino з датчиком руху і RF передавачем за допомогою джамперів.


Далі автор почав робити корпус передавача.

Спочатку він вирізав: отвір для вимикача, а також круглий отвір для датчика руху після чого приклеїв його до корпусу.




Потім автор згорнув аркуш кольорового паперу, і приклеїв на лицьову кришку образу, щоб приховати внутрішні частини саморобки.


Після цього автор почав вставляти електронну начинку всередину корпусу, за допомогою двостороннього скотчу.



Фінальна збірка приймача
Автор вирішив поєднати плату Arduino з монтажною платою гумовою стрічкою, а також встановимо RF приймач.


Далі автор вирізає на іншому корпусі два отвори, один для зумера, інший для вимикача.


І приклеює.
Схожі статті

2023 parki48.ru. Будуємо каркасний будинок. Ландшафтний дизайн. Будівництво. Фундамент.