# Руководство по Симуляции Проекта "Умная Теплица" в Tinkercad
Этот документ описывает полный процесс создания, настройки и использования интерактивной симуляции проекта "Умная Теплица" в среде Autodesk Tinkercad. Руководство включает в себя аргументацию по замене компонентов, подробную схему подключения с цветовой кодировкой проводов и инструкции по работе с симуляцией.
---
## 1. Что такое Tinkercad и как начать?
**Autodesk Tinkercad** — это бесплатная и простая в использовании онлайн-платформа для 3D-моделирования, электроники и программирования. Её раздел **Circuits (Цепи)** позволяет создавать и симулировать электронные схемы прямо в браузере, что идеально подходит для проверки и отладки нашего проекта без реального оборудования.
### Создание нового проекта
1. **Войдите в свой аккаунт Tinkercad** или создайте новый на сайте [tinkercad.com](https://www.tinkercad.com).
2. На главном экране нажмите на кнопку **Create**. В предложенном списке выберите **Circuits**.
3. Откроется пустая рабочая область, где вы сможете собрать схему по этому руководству.
---
## 2. Компоненты и их Замена
Не все компоненты для реального проекта доступны в стандартной библиотеке Tinkercad. Ниже приведена таблица замен и объяснение, почему мы их используем.
| Реальный компонент | Компонент в Tinkercad | Аргументация / Причина замены |
| :--- | :--- | :--- |
| Макетная плата | **Макетная плата (Breadboard)** | Основной компонент для соединения всех частей схемы. |
| Датчик DHT22 | **Датчик TMP36** | В Tinkercad отсутствует или труднодоступен датчик DHT22. TMP36 — это простая и надежная альтернатива для измерения температуры. Он не измеряет влажность, что учтено в коде для симуляции. |
| Модуль драйвера L298N | **Микросхема L293D** | Готовый модуль L298N отсутствует. L293D — это базовый H-мост, который выполняет ту же функцию управления мотором. Его подключение сложнее, но результат идентичен. |
| Готовый модуль реле | **Реле (Relay SPDT) + Транзистор NPN + Диод + Резистор** | Готовый модуль реле отсутствует. Мы собираем его эквивалентную схему управления из базовых компонентов, что также является полезным упражнением. |
| Аккумулятор + DC-DC Преобразователь | **Два источника питания (Power Supply)** | В симуляторе проще и нагляднее использовать два идеальных источника, чтобы сымитировать две линии питания (12В для мотора, 5В для логики), которые в реальности создаются связкой аккумулятора и преобразователя. |
| Кнопки (2 шт.) | **Кнопка (Pushbutton) (2 шт.)** | Стандартные тактовые кнопки для пользовательского ввода. |
| Кнопка питания | **Ползунковый переключатель (Slide Switch)** | Имитирует главный выключатель питания, разрывающий основную цепь 12В. |
---
## 3. Сборка Схемы
Ниже приведена пошаговая инструкция по сборке схемы с рекомендуемой цветовой кодировкой проводов.
**Основные цвета:**
* **КРАСНЫЙ:** Питание 5В и 12В.
* **ЧЕРНЫЙ:** Земля (GND).
* **ЖЕЛТЫЙ/СИНИЙ:** Шина I2C (SCL/SDA).
* **ЗЕЛЕНЫЙ:** Управляющие сигналы (к драйверу, реле).
* **ОРАНЖЕВЫЙ:** Сигналы от датчиков.
* **БЕЛЫЙ:** Сигналы от кнопок.
### Шаг 1: Основные компоненты
Найдите и перетащите на рабочую область из списка компонентов справа:
* **Arduino Uno R3**
* **Макетная плата** (называется **Breadboard**)
### Шаг 2: Питание и Главный Выключатель
1. Добавьте на схему два **Источника Питания** (**Power Supply**) и один **Ползунковый переключатель** (**Slide Switch**).
2. **Источник №1 (12В):** Настройте на **12В**.
3. **Источник №2 (5В):** Настройте на **5В**.
4. **Подключение Главного Выключателя:**
* Подключите **красный (+) провод** от **Источника №1 (12В)** к **левому контакту (Terminal 1)** ползункового переключателя.
* От **центрального контакта (Common)** переключателя проведите **красный провод** к шине питания `+` на макетной плате. Это будет ваша **шина 12В**.
* Подключите **черный (-) провод** от **Источника №1 (12В)** напрямую к шине питания `-` (земля) на макетной плате.
5. **Подключение питания 5В:**
* Подключите **красный (+) провод** от **Источника №2 (5В)** к другой шине питания `+` на макетной плате. Это будет ваша **шина 5В**.
* Подключите **черный (-) провод** от **Источника №2 (5В)** к той же земляной шине `-`, что и 12В.
6. **Питание Arduino:** Подключите **красный** провод от **шины 5В** к пину `5V` Arduino. Подключите **черный** провод от **шины GND** к пину `GND` Arduino.
*Примечание: В реальном устройстве у вас будет один 12В аккумулятор. Источник на 5В и его шина имитируют работу понижающего DC-DC преобразователя, который в симуляции не используется для простоты.*
### Шаг 3: Актуатор (Мотор и Драйвер L293D)
1. Добавьте на схему:
* **Микросхему L293D** (называется **L293D**)
* **Мотор постоянного тока** (называется **DC Motor**)
2. **Питание L293D:**
* **КРАСНЫЙ** провод от **шины 12В** к **Пину 8 (VCC2)**.
* **КРАСНЫЙ** провод от **шины 5В** к **Пину 16 (VCC1)**.
* **ЧЕРНЫЕ** провода от **каждого из 4-х центральных пинов (4, 5, 12, 13)** к **шине GND**.
3. **Управление L293D:**
* **ЗЕЛЕНЫЙ** провод от пина **D9** Arduino к **Пину 1 (Enable)**.
* **ЗЕЛЕНЫЙ** провод от пина **D8** Arduino к **Пину 2 (Input 1)**.
* **ЗЕЛЕНЫЙ** провод от пина **D7** Arduino к **Пину 7 (Input 2)**.
4. **Выход на мотор:**
* Подключите провода от **Пинов 3 и 6** L293D к двум клеммам DC мотора.
### Шаг 4: Насос (Реле и его обвязка)
1. Добавьте на схему:
* **Реле** (называется **Relay SPDT**)
* **Транзистор NPN** (называется **NPN BJT Transistor**)
* **Диод** (называется **Diode**)
* **Резистор** (называется **Resistor**), установите сопротивление **1 kΩ**.
* Еще один **Мотор постоянного тока** (для имитации насоса).
2. **Цепь управления реле:**
* **ЗЕЛЕНЫЙ** провод от пина **D4** Arduino к **резистору 1kΩ**.
* От резистора **зеленым** проводом соединитесь с **центральной ножкой (Base)** транзистора.
* **Левая ножка (Emitter)** транзистора подключается **черным** проводом к **шине GND**.
* **Правая ножка (Collector)** транзистора подключается **зеленым** проводом к **клемме 5** реле.
* **КРАСНЫЙ** провод от **шины 5В** к **клемме 8** реле.
* **Диод** подключается параллельно клеммам 5 и 8 для защиты:
* Сторону **без полоски** (анод) подключите **зеленым** проводом к **клемме 5**.
* Сторону **с серой полоской** (катод) подключите **красным** проводом к **клемме 8**.
3. **Силовая цепь насоса:**
* **КРАСНЫЙ** провод от **шины 5В** к **клемме 1** реле.
* **КРАСНЫЙ** провод от **клеммы 6** реле к **плюсу (+)** второго DC мотора.
* **ЧЕРНЫЙ** провод от **минуса (-)** второго DC мотора к **шине GND**.
### Шаг 5: Датчики, Дисплей и Кнопки
1. Добавьте на схему:
* **LCD Дисплей** (называется **LCD 16 x 2 (I2C)**, выберите Type PCF8574-based и адрес 39(0x27)).
* **Датчик температуры** (называется **TMP36**).
* **Датчик влажности почвы** (называется **Soil Moisture Sensor**).
* **Две Кнопки** (называется **Pushbutton**).
2. **LCD Дисплей:**
* `GND` -> **ЧЕРНЫЙ** провод к **шине GND**.
* `VCC` -> **КРАСНЫЙ** провод к **шине 5В**.
* `SDA` -> **СИНИЙ** провод к пину **A4** Arduino.
* `SCL` -> **ЖЕЛТЫЙ** провод к пину **A5** Arduino.
3. **Датчик температуры TMP36:**
* `Ground` -> **ЧЕРНЫЙ** провод к **шине GND**.
* `Power` -> **КРАСНЫЙ** провод к **шине 5В**.
* `Vout` -> **ОРАНЖЕВЫЙ** провод к пину **A1** Arduino.
4. **Датчик влажности почвы:**
* `GND` -> **ЧЕРНЫЙ** провод к **шине GND**.
* `VCC` -> **КРАСНЫЙ** провод к **шине 5В**.
* `AOUT` -> **ОРАНЖЕВЫЙ** провод к пину **A0** Arduino.
5. **Кнопки:**
* **Кнопка 1 (Переключение дисплея):**
* Одна ножка -> **БЕЛЫЙ** провод к пину **D12** Arduino.
* Противоположная по диагонали ножка -> **ЧЕРНЫЙ** провод к **шине GND**.
* **Кнопка 2 (Ручное управление крышей):**
* Одна ножка -> **БЕЛЫЙ** провод к пину **D10** Arduino.
* Противоположная по диагонали ножка -> **ЧЕРНЫЙ** провод к **шине GND**.
---
## 4. Прошивка и Запуск
1. Нажмите на кнопку **"Code"** (Код) в правом верхнем углу.
2. В выпадающем меню выберите режим **"Text"** (Текст).
3. Откройте на вашем компьютере файл `6_Arduino_Firmware.ino` и скопируйте всё его содержимое.
4. **ВАЖНО:** Убедитесь, что вверху кода **активна (раскомментирована)** строка `#define TINKERCAD_SIMULATION`. Если перед ней стоят символы `//`, удалите их.
5. Вставьте скопированный код в редактор Tinkercad, заменив все, что там было.
6. Нажмите зеленую кнопку **"Start Simulation"**.
---
## 5. Использование Симуляции
* **Включение и выключение:** Используйте **ползунковый переключатель**, чтобы подать или отключить питание 12В на схему. Это имитирует главный выключатель устройства.
* **Изменение температуры:** Во время симуляции кликните на датчик TMP36. Появится ползунок для изменения температуры. Наблюдайте за реакцией актуатора (мотора) и показаниями на LCD.
* **Изменение влажности почвы:** Кликните на датчик влажности почвы. Двигайте ползунок, чтобы имитировать высыхание или увлажнение почвы. Наблюдайте за работой насоса (второго мотора).
* **Переключение экранов:** Нажимайте на кнопку, подключенную к пину **D12**, чтобы переключать информацию, выводимую на LCD-дисплей.
* **Ручное управление крышей:**
* **Короткое нажатие** на кнопку, подключенную к пину **D10**, переключит систему в ручной режим и заставит крышу открыться или закрыться.
* **Длинное нажатие (удерживайте > 1 сек)** на ту же кнопку вернет систему в автоматический режим управления вентиляцией по температуре.
* **Отладочная информация:** В нижней части панели кода находится **"Serial Monitor"** (Монитор порта), где могут выводиться текстовые сообщения из кода.