Índice:

Sensor de temperatura e umidade Arduino: 7 etapas
Sensor de temperatura e umidade Arduino: 7 etapas

Vídeo: Sensor de temperatura e umidade Arduino: 7 etapas

Vídeo: Sensor de temperatura e umidade Arduino: 7 etapas
Vídeo: Sensor de umidade e temperatura DHT11 - Curso de Arduino #53 2024, Novembro
Anonim

Por ThundertronicsFollow More by the author:

Conversor analógico para digital PIC16F877A (ADC)
Conversor analógico para digital PIC16F877A (ADC)
Conversor analógico para digital PIC16F877A (ADC)
Conversor analógico para digital PIC16F877A (ADC)
Interface LCD com microcontrolador PIC16F877A
Interface LCD com microcontrolador PIC16F877A
Interface LCD com microcontrolador PIC16F877A
Interface LCD com microcontrolador PIC16F877A
Fonte de alimentação de bancada modular DIY
Fonte de alimentação de bancada modular DIY
Fonte de alimentação de bancada modular DIY
Fonte de alimentação de bancada modular DIY

Neste tutorial, irei explicar a confecção de um sensor de temperatura e umidade usando a miniplaca Arduino pro com sensor DHT11 (ou DHT22).

Etapa 1: assista ao vídeo

É importante ver o vídeo antes de passar para a próxima etapa. O vídeo explica tudo e demonstra como se faz. Porém, neste post, irei escrever mais dados técnicos e detalhes.

www.youtube.com/watch?v=56LKl7Xd770

Etapa 2: peças necessárias

As partes necessárias para este projeto são:

1- Mini placa Arduino pro (ou qualquer Arduino).

2- Sensor de temperatura e umidade DHT11 (ou DHT22).

3- Visor LCD 16x2.

4- Um invólucro à sua escolha, de preferência o mesmo utilizado no vídeo.

5- potenciômetro de 10K.

6- Terminais de parafuso.

7- Resistores de diferentes valores.

Bateria 8-9v.

enquanto as ferramentas necessárias são:

1- broca manual como uma Dremil.

2- brocas diferentes para a broca, pois usaremos brocas de alisamento e brocas de corte.

3- mãos que ajudam.

além disso, as ferramentas eletrônicas usuais, como multímetro e assim por diante.

Etapa 3: Projeto esquemático

Projeto Esquemático
Projeto Esquemático

Neste projeto, optei por fazer um PCB para ele em vez de instalá-lo sozinho. Usei a ferramenta online EasyEDA para o trabalho, o que foi uma experiência agradável.

Esta é a página do projeto no site easyEDA:

A explicação do esquema é a seguinte:

1- Usei um adaptador ICSP de 6 pinos para programar o Arduino pro mini, pois ele não vem com um a bordo. é J2 no esquema.

2- R2 é 100 Ohms e define o brilho do LCD. Basicamente, você pode colocar mais resistência do que 100R se quiser que a luz de fundo do LCD seja mais fraca. Ou melhor ainda, faça com que um potenciômetro atue como uma resistência de série variável.

3- JP1 é apenas um conector que tem uma boa pegada de PCB. Nunca coloquei um terminal real, mas em vez disso, soldei os fios. Faça como quiser.

4- U2 são os terminais de conexão da bateria. Aqui, eu prefiro um bom terminal de parafuso para obter uma conexão firme. Você pode soldar os fios, mas certifique-se de colocar solda suficiente para fazer a conexão sólida o suficiente para resistir a qualquer vibração.

5- LCD1 é o componente LCD do easyEDA. Ele tem a conexão básica com o Arduino pro mini. Certifique-se de que os pinos aqui são idênticos aos do software.

6- RV1 é um potenciômetro de 10K para definir o contraste do LCD. Deve ser usado apenas uma vez, quando você liga o LCD pela primeira vez.

Etapa 4: Design de PCB

Design PCB
Design PCB
Design PCB
Design PCB

Depois de terminar o projeto esquemático e entender o que tudo significa, agora é hora de fazer um PCB para ele.

Você deve pressionar "Converter em PCB" no EasyEDA para criar o PCB no editor de PCB. Em seguida, comece a colocar as peças e a fazer o roteamento normalmente. No entanto, sugiro nunca usar o roteador automático.

Usei muitas vias para mover da camada superior para a inferior, pois o espaço é tão pequeno.

Etapa 5: fabricar o PCB

Agora, o design do PCB está concluído. Verificamos tudo e nenhum problema foi encontrado. Precisamos enviar os arquivos do projeto (os gerbers) para a empresa de fabricação de PCB de nossa escolha para que ela possa fazer isso por nós.

Minha empresa preferida é a JLCPCB. Eles são os melhores para tais projetos e prototipagem e oferecem apenas 2 $ de preço por 10 peças inteiras de seu design!

Então, agora clicamos em (….) E escolhemos JLCPCB. Somos direcionados ao site da JLCPCB por serem parceiros da EasyEDA. Agora preencha tudo e faça o pedido. Agora, espere até que os PCBs cheguem.

Vale ressaltar que a JLCPCB não só possui EasyEDA associada, mas também possui uma grande loja de componentes! O benefício aqui é fazer com que o pedido de PCB e os pedidos de componentes sejam enviados juntos! Sim, não é necessário esperar que 2 pacotes cheguem separadamente, mas em vez disso, eles vêm combinados em um pacote. Eu recomendo fortemente usar isso.

Etapa 6: Montagem

Agora temos os PCBs sozinhos com tudo. É hora de montar tudo.

Primeiro, precisamos soldar os componentes eletrônicos de acordo com o esquema. É uma tarefa fácil para este projeto.

Depois de terminar de soldar, agora corte os orifícios necessários no invólucro de plástico e fixe o PCB com outros componentes bem dentro usando pistola de cola quente.

Agora você deve usar o potenciômetro para ajustar o contraste do LCD, ao escolher a válvula de resistor necessária para o brilho, eu escolhi 100R.

Etapa 7: Código

O código para este projeto está anexado a esta etapa, e a explicação é a seguinte:

// inclua o código da biblioteca: #include #include "DHT.h" // defina o pino DHT # define DHTPIN 2

Inclua as bibliotecas necessárias e defina o pino 2 do Arduino pro mini como o pino de dados para o sensor. Certifique-se de instalar essas bibliotecas se não as tiver.

// inicializa a biblioteca com os números dos pinos da interface LiquidCrystal lcd (9, 8, 7, 6, 5, 4); # define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE);

Agora inicialize a biblioteca LCD com esses pinos de acordo com o próprio esquema. Use também a biblioteca DHT e escolha DHT11 como o sensor a ser usado, portanto, se você tiver o DHT22, deverá alterá-lo.

A última linha diz que temos o sensor DHT11 e seu pino de dados está no pino "DHTPIN", que é o pino 2, conforme definido anteriormente.

void setup () {// configura o número de colunas e linhas do LCD: lcd.begin (16, 2); dht.begin (); lcd.setCursor (0, 0); lcd.print ("Temperatura e"); lcd.setCursor (0, 1); lcd.print ("sensor de umidade"); atraso (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("THUNDERTRONICS"); lcd.setCursor (0, 1); lcd.print ("Hossam Moghrabi"); atraso (3000); }

Agora é hora de configurar! e aqui está o que está acontecendo:

O LCD é do tipo 16 por 2.

Inicie o comando DHT para obter os valores.

Imprima "Sensor de temperatura e umidade" nas 2 linhas.

Atrase 3 segundos.

Visor claro

Imprima "THUNDERTRONICS" na primeira linha e depois imprima "Hossam Moghrabi" na 2ª linha.

Atrase 3 segundos.

^ Fiz isso como uma tela de boas-vindas que dura cerca de 6 segundos antes que os valores sejam exibidos.

void loop () {// ler umidade int h = dht.readHumidity (); // lê a temperatura em c int t = dht.readTemperature (); if (isnan (h) || isnan (t)) {lcd.print ("ERROR"); Retorna; }

Agora estamos dentro de nosso loop eterno que continuará se repetindo.

Armazene as leituras de umidade dentro da variável "h" e as leituras de temperatura dentro da variável "t".

Em seguida, temos uma instrução if. Isso basicamente retorna uma mensagem de erro quando há um erro. Deixe sem alterá-lo.

Agora temos todos os valores de que precisamos.

lcd.setCursor (0, 0); lcd.print ("Temp. ="); lcd.print (t); lcd.print (""); lcd.print ((char) 223); lcd.print ("C"); lcd.setCursor (0, 1); lcd.print ("Umidade ="); lcd.print (h); lcd.print ("%"); // lcd.print ("Hossam Moghrabi"); atraso (2000);

Finalmente, exibimos esses valores no display LCD. Você pode alterá-lo da maneira que desejar, pois ele está simplesmente imprimindo valores dentro das variáveis "h" e "t". Colocar um atraso de 2 segundos é meio opcional, mas você não se beneficiará muito em fazê-lo mais rápido, já que o sensor em si não é tão rápido e, mesmo que seja, os valores físicos nunca mudam tão rápido. Portanto, 2 segundos são muito rápidos para o trabalho!

É isso!

Recomendado: