Índice:

Monitoramento de lavadora / secadora de roupas com ESP8266 e sensor de aceleração: 6 etapas
Monitoramento de lavadora / secadora de roupas com ESP8266 e sensor de aceleração: 6 etapas
Anonim
Monitoramento de lavadora / secadora de roupas com ESP8266 e sensor de aceleração
Monitoramento de lavadora / secadora de roupas com ESP8266 e sensor de aceleração

A lavadora / secadora de roupas fica no porão, e você, via de regra, coloca uma pilha de roupas nela e, depois disso, fica ocupado com o seu outro trabalho doméstico. Você ignora a roupa que ficou encharcada e absorvente no porão de sua máquina. Bem, então novamente, de vez em quando você simplesmente desce as escadas esperando que a máquina tenha concluído o trabalho e depois você vê a máquina ainda funcionando. Eu sei, é irritante.

Imagine um cenário em que você possa acompanhar o estado da lavadora / secadora de roupas no seu celular ou tablet. Da mesma forma, onde você pode obter uma mensagem em seu telefone informando que a máquina terminou sua atribuição. Parece excepcionalmente fascinante e confortável, certo!

De fato, com a ajuda do ESP8266 e um sensor acelerômetro, você pode monitorar o status da sua lavadora / secadora de roupas. Você pode fazer esse empreendimento em sua própria casa de forma simples bastando seguir as instruções e copiar o código.

Etapa 1: Equipamentos de que precisamos

Equipamento que precisamos
Equipamento que precisamos
Equipamento que precisamos
Equipamento que precisamos
Equipamento que precisamos
Equipamento que precisamos
Equipamento que precisamos
Equipamento que precisamos

1. Adafruit Huzzah ESP8266

O passo inicial foi obter uma placa Adafruit Huzzah ESP8266. Adafruit Huzzah ESP8266 é um chip Wi-Fi de baixo custo com pilha TCP / IP completa e capacidade de microcontrolador. O ESP8266 fornece uma plataforma madura para aplicativos de monitoramento e controle usando a linguagem Arduino Wire e o Arduino IDE. O módulo ESP8266 é uma placa extremamente econômica com uma comunidade enorme e cada vez maior.

2. Adaptador HostAdafruit Huzzah ESP8266 (Programador USB)

Este adaptador host ESP8266 foi projetado especificamente para a versão Adafruit Huzzah do ESP8266, fornecendo uma interface I²C. A porta USB integrada fornece energia e programação para o ESP8266.

3. Sensor de aceleração H3LIS331DL

O H3LIS331DL é um acelerômetro linear de 3 eixos de alto desempenho e baixa potência com interface serial digital I²C. É equipado para medir acelerações com taxas de dados de saída de 0,5 Hz a 1 kHz. Todas essas coisas tornam este sensor a escolha ideal para este projeto.

4. Cabo de conexão

Usei o cabo de conexão I²C disponível no link acima.

5. Mini cabo USB

A fonte de alimentação do cabo mini USB é a escolha ideal para alimentar o Adafruit Huzzah ESP8266.

Etapa 2: Conexões de Hardware

Conexões de Hardware
Conexões de Hardware
Conexões de Hardware
Conexões de Hardware
Conexões de Hardware
Conexões de Hardware

Em geral, as conexões são muito simples. Siga as instruções e imagens abaixo e não terá dificuldades.

Conexão do Adafruit Huzzah ESP8266 e Programador USB

Em primeiro lugar, pegue o Adafruit Huzzah ESP8266 e coloque o programador USB (com porta I²C para dentro) nele. Pressione o Programador USB suavemente no lugar e concluímos esta etapa. Fácil como uma torta (veja a foto # 1).

Conexão do Sensor e Adafruit Huzzah ESP8266

Pegue o sensor e conecte o cabo I²C a ele. Para a operação adequada deste cabo, lembre-se de que a saída I²C SEMPRE se conecta à entrada I²C. O mesmo deve ser feito para o Adafruit Huzzah ESP8266 com o Programador USB montado sobre ele (veja a foto # 2).

Com a ajuda do Programador USB ESP8266, é muito fácil programar o ESP8266. Tudo o que você precisa fazer é conectar o sensor ao programador USB e pronto. Eu prefiro usar este adaptador porque torna muito mais fácil conectar o hardware. Sem este programador USB plug and play, há muito risco de fazer uma conexão errada. Um fio errado pode matar seu wi-fi e também seu sensor.

Nota: O fio marrom deve sempre seguir a conexão Terra (GND) entre a saída de um dispositivo e a entrada de outro dispositivo

Alimentação do circuito

Conecte o cabo Mini USB no conector de alimentação do Adafruit Huzzah ESP8266. Ilumine e voila, estamos prontos para ir!

A montagem final será semelhante à foto 3.

Coloque o sensor dentro da lavadora / secadora de panos

Antes de fazer isso, certifique-se de cobrir o sensor totalmente com plástico para que sobreviva ao contato com a água. Agora, coloque o sensor e cole-o no tambor da lavadora / secadora. Faça isso deliberadamente, sem danificar a fiação da lavadora / secadora e se machucar.

Com isso, finalizamos todo o trabalho de hardware.

Etapa 3: código do Arduino Adafruit Huzzah ESP8266

O código ESP para o sensor Adafruit Huzzah ESP8266 e H3LIS331DL está disponível em nosso repositório Github.

Antes de prosseguir com o código, certifique-se de ler as instruções fornecidas no arquivo Leiame e configurar seu Adafruit Huzzah ESP8266 de acordo com ele. Isso levará apenas um momento.

Nota: Antes de fazer o upload, certifique-se de inserir sua rede SSID e senha no código

Você também pode copiar o código ESP de trabalho para este sensor aqui:

// Distribuído com licença de livre arbítrio.// Use-o como quiser, com ou sem lucro, desde que se enquadre nas licenças das suas obras associadas. // Monitoramento de lavadora / secadora de pano com ESP8266 // Este código foi desenvolvido para funcionar com o Mini Módulo H3LIS331DL_I2CS I2C disponível em Dcubestore.com. //

#incluir

#include #include #include

// O endereço H3LIS331DL I2C é 0x18 (24)

#define Addr 0x18

const char * ssid = "sua rede SSID";

const char * password = "sua senha";

Servidor ESP8266WebServer (80);

void handleroot ()

{dados internos não assinados [6];

for (int i = 0; i <6; i ++) {// Iniciar I2C Transmission Wire.beginTransmission (Addr); // Selecione o registro de dados Wire.write ((40 + i)); // Parar a transmissão I2C Wire.endTransmission ();

// Solicitar 1 byte de dados

Wire.requestFrom (Addr, 1); // Lê 6 bytes de dados // xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb if (Wire.available () == 1) {data = Wire.read (); }} atraso (300);

// Converta os dados

int xAccl = ((dados [1] * 256) + dados [0]); if (xAccl> 32767) {xAccl - = 65536; } int xAcc = ((100 * 9,8) / 32768) * xAccl;

int yAccl = ((dados [3] * 256) + dados [2]);

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

int zAccl = ((dados [5] * 256) + dados [4]);

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

// Dados de saída para monitor serial

Serial.print ("Aceleração no eixo X:"); Serial.print (xAcc); Serial.println ("m / s"); Serial.print ("Aceleração no eixo Y:"); Serial.print (yAcc); Serial.println ("m / s"); Serial.print ("Aceleração no eixo Z:"); Serial.print (zAcc); Serial.println ("m / s"); atraso (300);

// Dados de saída para o servidor da Web

server.sendContent ("<meta http-equiv = 'atualizar' content = '10 '""

CONTROLE TUDO

www.controleverything.com

Minimódulo H3LIS331DL Sensor I2C

"); server.sendContent ("

Aceleração no eixo X = "+ String (xAcc) +" m / s / s "); server.sendContent ("

Aceleração no eixo Y = "+ String (yAcc) +" m / s / s "); server.sendContent ("

Aceleração no eixo Z = "+ String (zAcc) +" m / s / s ");

if (xAcc> 2)

{// Dados de saída para o monitor serial Serial.println ("Lavadora / Secadora de panos: Funcionando");

// Dados de saída para o servidor da Web

server.sendContent ("

Lavadora / Secadora de Panos: Funcionando ");} else {// Saída de dados para o monitor serial Serial.println (" Lavadora / Secadora de Panos: Concluída ");

// Dados de saída para o servidor da Web

server.sendContent ("

Lavadora / Secadora de Panos: Concluída ");}}

void setup ()

{// Inicializar a comunicação I2C como MASTER Wire.begin (2, 14); // Inicializar a comunicação serial, definir a taxa de transmissão = 115200 Serial.begin (115200);

// Conecte-se à rede WiFi

WiFi.begin (ssid, senha);

// Aguarde a conexão

while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.print ("."); } Serial.println (""); Serial.print ("Conectado a"); Serial.println (ssid);

// Obtenha o endereço IP de ESP8266

Serial.print ("endereço IP:"); Serial.println (WiFi.localIP ());

// Inicie o servidor

server.on ("/", base manual); server.begin (); Serial.println ("servidor HTTP iniciado");

// Iniciar a transmissão I2C

Wire.beginTransmission (Addr); // Seleciona o registro de controle 1 Wire.write (0x20); // Habilita os eixos X, Y, Z, modo ligado, taxa de saída de dados 50Hz Wire.write (0x27); // Parar a transmissão I2C Wire.endTransmission ();

// Iniciar a transmissão I2C

Wire.beginTransmission (Addr); // Seleciona o registro de controle 4 Wire.write (0x23); // Definir escala completa, +/- 100g, atualização contínua Wire.write (0x00); // Parar a transmissão I2C Wire.endTransmission (); atraso (300); }

void loop ()

{server.handleClient (); }

Etapa 4: Praticidade do Código

Praticidade do Código
Praticidade do Código

Agora, baixe (git pull) ou copie o código e abra-o no IDE do Arduino.

Compile e carregue o código e veja a saída em seu monitor serial. Após alguns segundos, ele exibirá todos os parâmetros.

Copie o endereço IP do ESP8266 do Monitor Serial e cole-o no seu navegador. Você verá uma página da web com leitura de aceleração em 3 eixos e o status da lavadora / secadora de tecidos. Antes de passar para o teste final, você deve modificar o valor de aceleração de acordo com a posição do tambor da lavadora e a colocação do sensor na condição if-else no código.

As saídas do sensor no Serial Monitor e no Web Server são mostradas na imagem acima.

Etapa 5: aplicativos e atualização

Com a ajuda deste projeto, você pode monitorar o status de sua lavadora / secadora de roupas em seus telefones e laptops. Não há necessidade de ficar repetindo e segurando / ouvindo para terminar a tarefa.

Da mesma forma, você pode receber uma mensagem em seu telefone informando que a máquina concluiu sua tarefa. Com isso, você sempre vai se lembrar das roupas na máquina de lavar. Para isso, você pode simplesmente atualizar este projeto adicionando alguma parte do código fornecido acima.

Espero que gostem deste projeto e que inspire mais experimentação. A placa Adafruit Huzzah ESP8266 é incrivelmente versátil, barata e acessível a todos os amadores. Este é apenas um dos muitos projetos simples que podem ser construídos com o ESP8266.

Etapa 6: Recursos para ir além

Para obter mais informações sobre H3LIS331DL e ESP8266, verifique os links abaixo:

  • Folha de dados do sensor H3LIS331DL
  • Folha de dados ESP8266

Você também pode ver nossos artigos adicionais sobre projetos de automação residencial e ESP8266:

  • Domótica com ESP8266 e controlador de relé
  • Luzes de controle com ESP8266 e sensor de pressão

Recomendado: