Tabla de contenido:

Sensor de temperatura y humedad Arduino: 7 pasos
Sensor de temperatura y humedad Arduino: 7 pasos

Video: Sensor de temperatura y humedad Arduino: 7 pasos

Video: Sensor de temperatura y humedad Arduino: 7 pasos
Video: Arduino desde cero en Español - Capítulo 7 - Temperatura y Humedad ambiente con DHT22 o DHT11 🌡️ 2024, Noviembre
Anonim

Por Thundertronics Siga más por el autor:

PIC16F877A Convertidor analógico a digital (ADC)
PIC16F877A Convertidor analógico a digital (ADC)
PIC16F877A Convertidor analógico a digital (ADC)
PIC16F877A Convertidor analógico a digital (ADC)
Interfaz LCD con microcontrolador PIC16F877A
Interfaz LCD con microcontrolador PIC16F877A
Interfaz LCD con microcontrolador PIC16F877A
Interfaz LCD con microcontrolador PIC16F877A
Fuente de alimentación de banco modular de bricolaje
Fuente de alimentación de banco modular de bricolaje
Fuente de alimentación de banco modular de bricolaje
Fuente de alimentación de banco modular de bricolaje

En este tutorial, voy a explicar la fabricación de un sensor de temperatura y humedad utilizando una mini placa Arduino pro con sensor DHT11 (o DHT22).

Paso 1: mira el video

Es importante ver el video primero antes de pasar al siguiente paso. El video explica todo y demuestra cómo se hace. Sin embargo, en esta publicación, escribiré más datos y detalles técnicos.

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

Paso 2: piezas necesarias

Las partes necesarias para este proyecto son:

1- Mini placa Arduino pro (o cualquier Arduino).

2- Sensor de temperatura y humedad DHT11 (o DHT22).

3- Pantalla LCD 16x2.

4- Un recinto de su elección, preferiblemente el mismo que el utilizado en el video.

5- Potenciómetro de 10K.

6- Terminales de tornillo.

7- Resistencias de diferentes valores.

Batería de 8-9v.

mientras que las herramientas necesarias son:

1- Taladro manual como un Dremil.

2- brocas distintas para el taladro, ya que usaremos brocas alisadoras y brocas cortantes.

3- manos amigas.

además, las herramientas electrónicas habituales como el multímetro, etc.

Paso 3: diseño esquemático

Diseño esquemático
Diseño esquemático

En este proyecto, he optado por hacer un PCB para él en lugar de cablearlo yo mismo. Así que utilicé la herramienta en línea EasyEDA para el trabajo, lo cual fue una experiencia agradable.

Esta es la página del proyecto en el sitio web easyEDA:

La explicación del esquema es la siguiente:

1- He usado un adaptador ICSP de 6 pines para programar el Arduino pro mini ya que no viene con uno a bordo. es J2 en el esquema.

2- R2 es 100 ohmios y establece el brillo de la pantalla LCD. Básicamente, podría poner más resistencia que 100R si desea que la luz de fondo de la pantalla LCD sea más tenue. O mejor aún, consiga un potenciómetro que actúe como una resistencia en serie variable.

3- JP1 es solo un conector que tiene una buena huella de PCB. Nunca puse un terminal real, sino que soldé los cables. Haz como quieras.

4- U2 son los terminales de conexión de la batería. Aquí, prefiero unos buenos terminales de tornillo para obtener una conexión firme. Puede soldar los cables, pero asegúrese de poner suficiente soldadura para que la conexión sea lo suficientemente sólida como para resistir cualquier sacudida.

5- LCD1 es el componente LCD de easyEDA. Tiene la conexión básica a Arduino pro mini. Asegúrese de que los pines aquí sean idénticos a los del software.

6- RV1 es un potenciómetro de 10K para ajustar el contraste de la pantalla LCD. Debe usarse solo una vez y es cuando enciende la pantalla LCD por primera vez.

Paso 4: Diseño de PCB

Diseño de PCB
Diseño de PCB
Diseño de PCB
Diseño de PCB

Después de terminar el diseño esquemático y comprender lo que significa todo, ahora es el momento de hacer una PCB para ello.

Debe presionar "Convertir a PCB" en EasyEDA para crear el PCB en el editor de PCB. Luego, comience a colocar piezas y a realizar el enrutamiento como de costumbre. Sin embargo, sugiero que nunca uses el enrutador automático.

He usado muchas vías para moverme de la capa superior a la inferior ya que el espacio es muy pequeño.

Paso 5: fabrique la PCB

Ahora, el diseño de PCB está terminado. Revisamos todo y no encontramos ningún problema. Necesitamos enviar los archivos de diseño (los gerber) a la empresa de fabricación de PCB de nuestra elección para que pueda hacerlo por nosotros.

Mi empresa de elección es JLCPCB. ¡Son los mejores para tales proyectos y prototipos y ofrecen solo 2 $ de precio por 10 piezas completas de su diseño!

Entonces, ahora hacemos clic en (….) Y elegimos JLCPCB. Estamos dirigidos al sitio web de JLCPCB ya que son socios de EasyEDA. Ahora complete todo y haga el pedido. Ahora solo espere hasta que lleguen los PCB.

Vale la pena mencionar que JLCPCB no solo tiene EasyEDA asociado, ¡sino que también tiene una gran tienda de componentes! El beneficio aquí es que tanto el pedido de PCB como el pedido de componentes se envíen juntos. Sí, no es necesario esperar a que lleguen 2 paquetes por separado, sino que vienen combinados en un solo paquete. Recomiendo encarecidamente usar esto.

Paso 6: Montaje

Tenemos los PCB solos con todo ahora. Es hora de armar todo junto.

Primero, necesitamos soldar la electrónica de acuerdo con el esquema. Es una tarea fácil para este proyecto.

Después de terminar de soldar, ahora corte los orificios necesarios en la carcasa de plástico y luego fije bien el PCB con otros componentes en el interior con una pistola de pegamento caliente.

Ahora debe usar el potenciómetro para ajustar el contraste de la pantalla LCD, mientras elige la válvula de resistencia requerida para el brillo, he elegido 100R.

Paso 7: Código

El código para este proyecto se adjunta con este paso, y la explicación es la siguiente:

// incluye el código de la biblioteca: #include #include "DHT.h" // establece el Pin DHT #define DHTPIN 2

Incluya las bibliotecas necesarias y defina el pin 2 de Arduino pro mini como el pin de datos para el sensor. Asegúrese de instalar estas bibliotecas si no las tiene.

// inicializar la biblioteca con los números de los pines de la interfaz LiquidCrystal lcd (9, 8, 7, 6, 5, 4); #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE);

Ahora inicialice la biblioteca LCD con estos pines de acuerdo con el propio esquema. También use la biblioteca DHT y elija DHT11 como el sensor a usar, por lo que si tiene DHT22, debe cambiarlo.

La última línea dice que tenemos un sensor DHT11 y su pin de datos está en el pin "DHTPIN" que es el pin 2 como lo definimos anteriormente.

void setup () {// configura el número de columnas y filas de la pantalla LCD: lcd.begin (16, 2); dht.begin (); lcd.setCursor (0, 0); lcd.print ("Temperatura y"); lcd.setCursor (0, 1); lcd.print ("sensor de humedad"); retraso (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("THUNDERTRONICS"); lcd.setCursor (0, 1); lcd.print ("Hossam Moghrabi"); retraso (3000); }

¡Ahora es el momento de la configuración! y esto es lo que está pasando:

La pantalla LCD es de tipo 16 por 2.

Inicie el comando DHT para obtener valores.

Imprima "Sensor de temperatura y humedad" en las 2 líneas.

Retraso de 3 segundos.

Pantalla clara

Escriba "THUNDERTRONICS" en la primera línea y luego "Hossam Moghrabi" en la segunda línea.

Retraso de 3 segundos.

^ He hecho esto como una pantalla de bienvenida que dura alrededor de 6 segundos antes de que se muestren los valores.

bucle vacío () {// leer humedad int h = dht.readHumidity (); // lee la temperatura en c int t = dht.readTemperature (); if (isnan (h) || isnan (t)) {lcd.print ("ERROR"); regreso; }

Ahora estamos dentro de nuestro ciclo eterno que seguirá repitiéndose.

Almacene las lecturas de humedad dentro de la variable "h" y las lecturas de temperatura dentro de la variable "t".

A continuación, tenemos una declaración if. Básicamente, devuelve un mensaje de error cuando hay un error. Déjelo sin cambiarlo.

Ahora tenemos todos los valores que necesitamos.

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 ("Humedad ="); lcd.print (h); lcd.print ("%"); // lcd.print ("Hossam Moghrabi"); retraso (2000);

Finalmente, mostramos estos valores en la pantalla LCD. Puede cambiarlo de la forma que desee porque simplemente imprime valores dentro de las variables "h" y "t". Poner un retraso de 2 segundos es algo opcional, pero no se beneficiará mucho de hacerlo más rápido, ya que el sensor en sí no es tan rápido e incluso si lo es, los valores físicos nunca cambian tan rápido. ¡Así que 2 segundos son muy, muy rápidos para el trabajo!

¡Eso es!

Recomendado: