Оглавление:

Мониторинг стиральной / сушильной машины с помощью ESP8266 и датчика ускорения: 6 шагов
Мониторинг стиральной / сушильной машины с помощью ESP8266 и датчика ускорения: 6 шагов

Видео: Мониторинг стиральной / сушильной машины с помощью ESP8266 и датчика ускорения: 6 шагов

Видео: Мониторинг стиральной / сушильной машины с помощью ESP8266 и датчика ускорения: 6 шагов
Видео: Smart Washing Machine Automation (Smart Plug + Home Assistant) 2024, Ноябрь
Anonim
Мониторинг стиральной / сушильной машины с помощью ESP8266 и датчика ускорения
Мониторинг стиральной / сушильной машины с помощью ESP8266 и датчика ускорения

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

Представьте себе сценарий, в котором вы можете следить за состоянием стиральной / сушильной машины на своем мобильном телефоне или планшете. Точно так же вы можете получить на свой телефон сообщение о том, что машина завершила свое назначение. Звучит исключительно очаровательно и любезно, верно!

Действительно, с помощью ESP8266 и датчика акселерометра вы можете контролировать состояние вашей стиральной / сушильной машины. Вы можете легко сделать это у себя дома, просто следуя инструкциям и скопировав код.

Шаг 1: необходимое оборудование

Необходимое нам оборудование
Необходимое нам оборудование
Необходимое нам оборудование
Необходимое нам оборудование
Необходимое нам оборудование
Необходимое нам оборудование
Необходимое нам оборудование
Необходимое нам оборудование

1. Adafruit Huzzah ESP8266

Первым шагом была плата Adafruit Huzzah ESP8266. Adafruit Huzzah ESP8266 - это недорогой Wi-Fi-чип с полным стеком TCP / IP и возможностями микроконтроллера. ESP8266 представляет собой зрелую платформу для мониторинга и управления приложениями с использованием языка Arduino Wire и Arduino IDE. Модуль ESP8266 - чрезвычайно экономичная плата с огромным и постоянно растущим сообществом.

2. Адафрут Huzzah ESP8266 Host-адаптер (USB-программатор)

Этот хост-адаптер ESP8266 был разработан специально для версии Adafruit Huzzah ESP8266, обеспечивая интерфейс I²C. Встроенный порт USB обеспечивает питание и программирование ESP8266.

3. Датчик ускорения H3LIS331DL

H3LIS331DL - это маломощный высокопроизводительный 3-осевой линейный акселерометр с цифровым последовательным интерфейсом I²C. Он оборудован для измерения ускорений с частотой выходных данных от 0,5 Гц до 1 кГц. Все это делает этот датчик идеальным выбором для этого проекта.

4. Соединительный кабель

Я использовал соединительный кабель I²C, доступный по указанной выше ссылке.

5. Кабель мини-USB.

Кабель mini-USB Источник питания - идеальный выбор для питания Adafruit Huzzah ESP8266.

Шаг 2: Подключение оборудования

Аппаратные соединения
Аппаратные соединения
Аппаратные соединения
Аппаратные соединения
Аппаратные соединения
Аппаратные соединения

В целом подключения очень простые. Следуйте инструкциям и изображениям ниже, и у вас не должно возникнуть никаких трудностей.

Подключение Adafruit Huzzah ESP8266 и USB Programmer

Прежде всего, возьмите Adafruit Huzzah ESP8266 и поместите на него USB-программатор (с портом I²C, обращенным внутрь). Аккуратно вставьте USB-программатор на место, и мы закончили этот шаг. Легко, как пирог (см. Рис. №1).

Подключение датчика и Adafruit Huzzah ESP8266

Возьмите датчик и подключите к нему кабель I²C. Для правильной работы этого кабеля помните, что выход I²C ВСЕГДА подключается к входу I²C. То же самое нужно сделать для Adafruit Huzzah ESP8266 с установленным над ним USB-программатором (см. Рис. 2).

С помощью USB-программатора ESP8266 запрограммировать ESP8266 очень просто. Все, что вам нужно сделать, это подключить датчик к USB-программатору, и все готово. Я предпочитаю использовать этот адаптер, потому что он значительно упрощает подключение оборудования. Без этого программатора USB Plug and Play существует большой риск неправильного подключения. Один неправильный провод может убить ваш Wi-Fi, а также ваш датчик.

Примечание. Коричневый провод всегда должен следовать за заземлением (GND) между выходом одного устройства и входом другого устройства

Питание схемы

Подключите кабель Mini USB к разъему питания Adafruit Huzzah ESP8266. Зажги его и вуаля, мы в порядке!

Окончательная сборка будет выглядеть как на фото №3.

Поместите датчик в стиральную / сушильную машину

Перед этим убедитесь, что вы полностью покрыли датчик пластиком, чтобы он выдержал контакт с водой. Теперь поместите датчик и приклейте его на барабан стиральной / сушильной машины. Делайте это намеренно, не повредив проводку стиральной / сушильной машины и не поранив себя.

На этом мы закончили работу с оборудованием.

Шаг 3: Код Arduino Adafruit Huzzah ESP8266

Код ESP для Adafruit Huzzah ESP8266 и H3LIS331DL Sensor доступен в нашем репозитории Github.

Прежде чем переходить к коду, убедитесь, что вы прочитали инструкции, приведенные в файле Readme, и настройте Adafruit Huzzah ESP8266 в соответствии с ними. Для этого потребуется всего время.

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

Вы также можете скопировать рабочий код ESP для этого датчика отсюда:

// Распространяется по свободной лицензии.// Используйте его любым способом, коммерческим или бесплатным, при условии, что он соответствует лицензиям на связанные с ним работы. // Мониторинг стиральной / сушильной машины с помощью ESP8266 // Этот код разработан для работы с мини-модулем H3LIS331DL_I2CS I2C, доступным на сайте Dcubestore.com. //

#включают

#include #include #include

// H3LIS331DL I2C-адрес 0x18 (24)

#define Addr 0x18

const char * ssid = "ваша сеть SSID";

const char * password = "ваш пароль";

ESP8266WebServer server (80);

недействительный handleroot ()

{данные типа int без знака [6];

for (int i = 0; i <6; i ++) {// Запустить провод передачи I2C.beginTransmission (Addr); // Выбираем регистр данных Wire.write ((40 + i)); // Остановка передачи I2C Wire.endTransmission ();

// Запрос 1 байт данных

Wire.requestFrom (Адрес, 1); // Чтение 6 байтов данных // xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb if (Wire.available () == 1) {data = Wire.read (); }} задержка (300);

// Конвертируем данные

int xAccl = ((данные [1] * 256) + данные [0]); если (xAccl> 32767) {xAccl - = 65536; } int xAcc = ((100 * 9,8) / 32768) * xAccl;

int yAccl = ((данные [3] * 256) + данные [2]);

если (yAccl> 32767) {yAccl - = 65536; } int yAcc = ((100 * 9,8) / 32768) * yAccl;

int zAccl = ((данные [5] * 256) + данные [4]);

если (zAccl> 32767) {zAccl - = 65536; } int zAcc = ((100 * 9,8) / 32768) * zAccl;

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

Serial.print («Ускорение по оси X:»); Serial.print (xAcc); Serial.println ("м / с"); Serial.print («Ускорение по оси Y:»); Serial.print (yAcc); Serial.println ("м / с"); Serial.print («Ускорение по оси Z:»); Серийный.печать (zAcc); Serial.println ("м / с"); задержка (300);

// Вывод данных на веб-сервер

server.sendContent ("<meta http-Equiv = 'refresh' content = '10 '""

КОНТРОЛЬ ВСЕГО

www.controleverything.com

Мини-модуль датчика I2C H3LIS331DL

"); server.sendContent ("

Ускорение по оси X = "+ String (xAcc) +" m / s / s "); server.sendContent ("

Ускорение по оси Y = "+ String (yAcc) +" m / s / s "); server.sendContent ("

Ускорение по оси Z = "+ String (zAcc) +" m / s / s ");

если (xAcc> 2)

{// Вывод данных на последовательный монитор Serial.println ("Стиральная машина / Сушилка: Работает");

// Вывод данных на веб-сервер

server.sendContent ("

Стиральная / сушильная машина: работает ");} else {// Вывод данных на последовательный монитор Serial.println (" Стиральная / сушильная машина: завершено ");

// Вывод данных на веб-сервер

server.sendContent ("

Стиральная / сушильная машина: завершено ");}}

установка void ()

{// Инициализируем связь I2C как MASTER Wire.begin (2, 14); // Инициализируем последовательную связь, устанавливаем скорость передачи = 115200 Serial.begin (115200);

// Подключаемся к сети Wi-Fi

WiFi.begin (ssid, пароль);

// Ждем подключения

в то время как (WiFi.status ()! = WL_CONNECTED) {задержка (500); Serial.print ("."); } Serial.println (""); Serial.print («Подключено к»); Serial.println (ssid);

// Получаем IP-адрес ESP8266

Serial.print ("IP-адрес:"); Serial.println (WiFi.localIP ());

// Запускаем сервер

server.on ("/", handleroot); server.begin (); Serial.println («HTTP-сервер запущен»);

// Запуск передачи I2C

Wire.beginTransmission (адрес); // Выбираем регистр управления 1 Wire.write (0x20); // Включить оси X, Y, Z, режим включения, скорость вывода данных 50 Гц Wire.write (0x27); // Остановка передачи I2C Wire.endTransmission ();

// Запуск передачи I2C

Wire.beginTransmission (адрес); // Выбор регистра управления 4 Wire.write (0x23); // Установка полной шкалы, +/- 100g, постоянное обновление Wire.write (0x00); // Остановка передачи I2C Wire.endTransmission (); задержка (300); }

пустой цикл ()

{server.handleClient (); }

Шаг 4: Практичность Кодекса

Практичность Кодекса
Практичность Кодекса

Теперь загрузите (git pull) или скопируйте код и откройте его в Arduino IDE.

Скомпилируйте и загрузите код и посмотрите результат на вашем последовательном мониторе. Через несколько секунд он отобразит все параметры.

Скопируйте IP-адрес ESP8266 из Serial Monitor и вставьте его в свой веб-браузер. Вы увидите веб-страницу с показаниями ускорения по 3-м осям и статусом стиральной / сушильной машины. Прежде чем перейти к окончательному тестированию, вы должны изменить значение ускорения в соответствии с положением барабана стиральной машины и размещением датчика в условии if-else в коде.

Выходные данные датчика на последовательном мониторе и веб-сервере показаны на рисунке выше.

Шаг 5. Приложения и обновление

С помощью этого проекта вы можете отслеживать состояние стиральной / сушильной машины на своих телефонах и ноутбуках. Нет необходимости повторять и задерживать / прислушиваться, чтобы закончить задание.

Вы также можете получить на свой телефон сообщение о том, что машина завершила свое назначение. Благодаря этому вы всегда будете помнить одежду в стиральной машине. Для этого вы можете просто обновить этот проект, добавив часть кода, приведенного выше.

Надеюсь, вам понравился этот проект, и он вдохновит на дальнейшие эксперименты. Доска Adafruit Huzzah ESP8266 невероятно универсальна, дешева и доступна для всех любителей. Это лишь один из многих простых проектов, которые можно построить с помощью ESP8266.

Шаг 6. Ресурсы для дальнейшего развития

Для получения дополнительной информации о H3LIS331DL и ESP8266 перейдите по ссылкам ниже:

  • Техническое описание датчика H3LIS331DL
  • ESP8266 Лист данных

Вы также можете просмотреть наши дополнительные статьи о проектах домашней автоматизации и ESP8266:

  • Домашняя автоматизация с ESP8266 и релейным контроллером
  • Контрольные лампы с ESP8266 и датчиком давления

Рекомендуемые: