Артем Демиденко

ESP32 для начинающих: Умный дом своими руками


Скачать книгу

// Вывод значения в последовательный монитор

      ..delay(100);...................... // Задержка между считываниями

      }

      ```

      Этот код позволяет считывать и выводить значения с потенциометра. Значение будет варьироваться от 0 до 4095 в зависимости от положения ручки.

      # Использование аналоговых выходов

      Хотя ESP32 не имеет аналоговых выходов в традиционном понимании, мы можем использовать широтно-импульсную модуляцию (ШИМ) для создания аналоговых сигналов. Чтобы сделать это, подключите светодиод (или любой другой световой элемент) к цифровому контакту, поддерживающему ШИМ (например, GPIO 25):

      ```cpp

      const int pwmPin = 25;..// Номер контакта для ШИМ

      const int pwmFreq = 5000;..// Частота ШИМ

      const int pwmChannel = 0;..// Канал ШИМ

      const int pwmResolution = 8;..// Разрешение ШИМ

      void setup() {

      ..ledcSetup(pwmChannel, pwmFreq, pwmResolution);..// Настройка канала ШИМ

      ..ledcAttachPin(pwmPin, pwmChannel);..............// Привязка контакта

      }

      void loop() {

      ..for (int dutyCycle = 0; dutyCycle <= 255; dutyCycle++) {

      ....ledcWrite(pwmChannel, dutyCycle);..// Установка значения ШИМ

      ....delay(15);........................ // Задержка для плавного изменения яркости

      ..}

      ..for (int dutyCycle = 255; dutyCycle >= 0; dutyCycle–) {

      ....ledcWrite(pwmChannel, dutyCycle);..// Установка значения ШИМ

      ....delay(15);........................ // Задержка для плавного изменения яркости

      ..}

      }

      ```

      Этот код изменяет яркость светодиода, используя функцию ШИМ от 0 до 100% с определенной задержкой, создавая эффект плавного затухания и появления света.

      Заключение

      Использование цифровых и аналоговых входов и выходов – это основа работы с ESP32 в создании "умного дома". Примеры, приведенные в этой главе, наглядно демонстрируют, как можно взаимодействовать с физическими устройствами. Правильное понимание и использование I/O портов обеспечит вам гибкость и возможность создавать более сложные решения для автоматизации вашего дома. Попробуйте адаптировать эти примеры для своих нужд, и вы увидите, как простые идеи могут стать основой для интересных проектов.

      Подключение датчиков и выполнение операций считывания

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

      Выбор датчиков

      Первый этап в процессе подключения датчиков – выбор подходящих устройств для вашей системы. На рынке представлено множество вариантов, и выбор зависит от ваших конкретных задач. Например, для контроля температуры в помещении отлично подойдут термометры, такие как DHT11 или DHT22, которые также измеряют влажность. Чтобы отслеживать уровень освещённости, можно использовать фотодиоды или сенсоры, такие как BH1750. Для обеспечения безопасности стоит интегрировать датчики движения, например, HC-SR501. Важно помнить, что разные датчики могут требовать разные уровни питания, поэтому стоит ознакомиться с их техническими характеристиками.

      Подключение