Interfaz del sensor de temperatura y humedad AM2320 con Arduino

En este artículo exploraremos cómo utilizar el sensor de temperatura y humedad AM2320 con Arduino para medir y monitorear las condiciones ambientales. Descubriremos cómo conectar el sensor a la placa Arduino, leer los datos de temperatura y humedad, y mostrar la información de manera práctica y visual. ¡Acompáñanos en esta fascinante aventura de la electrónica y la programación!

¿Quiere registrar el clima en su invernadero, construir un sistema de control de humidores o realizar un seguimiento de los datos de temperatura y humedad para un proyecto de estación meteorológica? ¡El sensor de temperatura y humedad AM2320 podría ser la opción correcta para usted!

El sensor AM2320 está calibrado de fábrica y requiere pocos componentes externos para funcionar. Entonces, con solo unas pocas conexiones y algo de código Arduino, puedes comenzar a medir la humedad relativa y la temperatura de inmediato.

Descripción general del hardware

El AM2320 es un sensor digital de temperatura y humedad de AOSONG de bajo costo, fácil de usar y bastante preciso. Se parece a los populares sensores de temperatura y humedad DHT11/DHT22, pero a diferencia de los sensores DHT clásicos, ¡tiene una interfaz I2C!

Interfaz del sensor de temperatura y humedad AM2320 con Arduino

El sensor AM2320 es capaz de medir la humedad en todo el rango de 0 a 100 % de HR con una precisión típica de ±3 % en el rango de 20 % a 80 % de HR (resolución de 0,024 % de HR).

Tiene un rango de temperatura máximo de -40 a 80 °C y una precisión típica de ±0,5 °C a 25 °C (resolución de 0,01 °C).

El AM2320 puede generar datos a una frecuencia de muestreo máxima de 0,5 Hz, lo que significa una lectura cada dos segundos.

Requisitos de energía

El sensor en sí utiliza de 3,3 V a 5,5 V, lo que lo hace compatible con 3 V o 5 V. Para que puedas usarlo fácilmente con tu microcontrolador favorito de 3,3 V o 5 V.

El AM2320 consume menos de 0,95 mA durante las mediciones y menos de 10 µA en modo de suspensión. Este bajo consumo energético permite su implementación en dispositivos que funcionan con baterías como teléfonos móviles, wearables o relojes inteligentes.

interfaz I2C

El AM2320 es un sensor I2C, lo que significa que utiliza las dos líneas de reloj/datos I2C disponibles en la mayoría de los microcontroladores y puede compartir estos pines con otros sensores I2C siempre que no haya colisión de direcciones.

El sensor tiene una dirección I2C fija y está configurado en 0x5CMALEFICIO. Se requiere un multiplexor/mux para comunicarse con múltiples sensores AM2320 a través de un solo bus.

Especificaciones técnicas

Aquí están las especificaciones completas:

Tensión de alimentación 3,3 V a 5,5 V
Consumo de corriente ~0,95 mA (durante las mediciones)
~10 µA (en modo de suspensión)
Rango de humedad 0 a 100% de humedad relativa
Precisión de la humedad ±3% en el rango de 20% a 80% de humedad relativa
Rango de temperatura -40°C a +80°C
Precisión de temperatura ±0,5°C a 25°C
tasa de muestreo 0,5 Hz (una lectura cada dos segundos)

Consulte la siguiente hoja de datos para obtener más detalles.

Configuración de pines del sensor AM2320

Ahora veamos el pinout.

Interfaz del sensor de temperatura y humedad AM2320 con Arduino

VDD es el pin de alimentación. Dado que el sensor usa de 3,3 a 5,5 VCC, déle el mismo voltaje que el nivel lógico de su microcontrolador; por ejemplo, para un micro de 5 V como Arduino, use 5 V.

ASD es el pin de datos I2C, requiere un pullup de 2.2K – 10K a VDD.


Tierra es la base común del poder y la lógica.

SCL es el pin de reloj I2C, requiere un pullup de 2.2K – 10K a VDD.

Cableado de un AM2320 a un Arduino

Dado que el AM2320 utiliza el bus I2C, ¡conectarse a un Arduino es bastante fácil!

Sólo es necesario conectar cuatro pines para utilizar el sensor. Una para VCC, otra para GND y dos líneas de datos para comunicación I2C.


Conecte el pin SCL al pin de reloj I2C y el pin SDA al pin de datos I2C de su Arduino. Tenga en cuenta que cada placa Arduino tiene diferentes pines I2C que deben conectarse en consecuencia. En las placas Arduino con diseño R3, SDA (línea de datos) y SCL (línea de reloj) se encuentran en los encabezados cerca del pin AREF. También se les conoce como A5 (SCL) y A4 (SDA).

El AM2320 no tiene resistencias pullup internas para el bus I2C. Entonces tienes que agregarlos externamente. Cualquier valor entre 2,2 KB y 10 KB debería funcionar bien. Las resistencias van de VDD a SCL y SDA respectivamente.

La siguiente figura muestra el cableado.

Interfaz del sensor de temperatura y humedad AM2320 con Arduino

Instalación de biblioteca

Para que su sensor funcione, debe instalarlo Biblioteca Adafruit AM2320. Está disponible en el administrador de la biblioteca Arduino.

Para instalar la biblioteca, navegue hasta Bosquejo > Incluir biblioteca > Administrar bibliotecas… Espere a que el administrador de la biblioteca descargue el índice de la biblioteca y actualice la lista de bibliotecas instaladas.

Interfaz del sensor de temperatura y humedad AM2320 con Arduino

Filtra tu búsqueda escribiendo “en2320' e instalar la biblioteca.

Interfaz del sensor de temperatura y humedad AM2320 con Arduino

La biblioteca Adafruit_AM2320 utiliza el Backend de soporte del sensor de Adafruit. Así que consulte con el administrador de la biblioteca. Sensor unificado de Adafruit e instálalo también (es posible que tengas que desplazarte un poco)

Interfaz del sensor de temperatura y humedad AM2320 con Arduino

También necesitas instalar eso. Autobús Adafruit IO Biblioteca auxiliar. Resume transacciones y registros I2C y SPI.


Interfaz del sensor de temperatura y humedad AM2320 con Arduino

Código Arduino – leer temperatura y humedad

A continuación se muestra un boceto básico de Arduino. Continúe y cárguelo en su Arduino. ¡Puedes ver la temperatura y humedad actuales en tu habitación!

#include "Adafruit_Sensor.h"
#include "Adafruit_AM2320.h"

Adafruit_AM2320 am2320 = Adafruit_AM2320();

void setup() {
  Serial.begin(9600);
  while (!Serial) {
    delay(10); // hang out until serial port opens
  }

  am2320.begin();
}

void loop() {
  Serial.print("Temp: ");
  Serial.print(am2320.readTemperature());
  Serial.print(" C");
  Serial.print("tt");
  Serial.print("Humidity: ");
  Serial.print(am2320.readHumidity());
  Serial.println(" %");

  delay(2000);
}

Una vez cargado su código, abra el terminal serie de 9600 bps. Deberías ver algo como el resultado a continuación. ¡Intenta respirar en el sensor para ver cómo cambian las lecturas de humedad y temperatura!

Interfaz del sensor de temperatura y humedad AM2320 con Arduino

Explicación del código:

Probablemente esto sea tan simple como puede ser un boceto. Al principio, Adafruit_Sensor.h Y Adafruit_AM2320.h Se incluyen bibliotecas y se crea un objeto Adafruit_AM2320 en el espacio global.


#include "Adafruit_Sensor.h"
#include "Adafruit_AM2320.h"

Adafruit_AM2320 am2320 = Adafruit_AM2320();

En la configuración inicializamos la comunicación serie con el PC y la llamamos. begin() Función para inicializar el objeto.

void setup() {
  Serial.begin(9600);
  while (!Serial) {
    delay(10); // hang out until serial port opens
  }

  am2320.begin();
}

Una vez que se inicializa el objeto, puede acceder a los métodos del objeto (am2320) utilizando el operador de punto.

am2320.readTemperatura() Devuelve un valor de temperatura de punto flotante (decimal + fraccionario) en °C. Puedes convertir a Fahrenheit multiplicando por 1,8 y sumando 32.

am2320.readHumedad() Devuelve el valor de humedad, también como valor de punto flotante entre 0 y 100 (este valor indica la humedad en%).

void loop() {
  Serial.print("Temp: ");
  Serial.print(am2320.readTemperature());
  Serial.print(" C");
  Serial.print("tt");
  Serial.print("Humidity: ");
  Serial.print(am2320.readHumidity());
  Serial.println(" %");

  delay(2000);
}

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded




Interfaz del sensor de temperatura y humedad AM2320 con Arduino

Introducción

¿Quieres llevar un registro del clima en tu invernadero, construir un sistema de control de humidor o realizar un proyecto de estación meteorológica para rastrear datos de temperatura y humedad? ¡El sensor de temperatura y humedad AM2320 puede ser la elección correcta para ti!

Descripción del hardware

El sensor AM2320 es un dispositivo digital de temperatura y humedad, de bajo costo, fácil de usar y bastante preciso, de la marca AOSONG. A diferencia de los sensores de temperatura y humedad clásicos DHT11/DHT22, cuenta con una interfaz I2C.

Especificaciones técnicas

  • La alimentación del sensor va de 3.3V a 5.5V
  • Rango de humedad: 0 a 100 %RH
  • Rango de temperatura: -40°C a +80°C
  • Resolución de humedad: 0.024% RH
  • Resolución de temperatura: 0.01°C
  • Velocidad de muestreo: 0.5Hz

Interfaz I2C y conexión

El sensor AM2320 utiliza la interfaz I2C, por lo que se conecta a través de dos líneas de datos/reloj disponibles en la mayoría de los microcontroladores. Necesitarás agregar resistencias pullup de 2.2K a 10K a las líneas SDA y SCL.

Instalación de librerías

Para hacer funcionar el sensor, necesitarás instalar la librería Adafruit AM2320 desde el administrador de librerías de Arduino. También deberás instalar la librería Adafruit Unified Sensor y Adafruit Bus IO.

Código de Arduino – Lectura de temperatura y humedad

A continuación, te mostramos un sketch básico de Arduino para leer la temperatura y humedad del sensor AM2320:

    
#include "Adafruit_Sensor.h"
#include "Adafruit_AM2320.h"

Adafruit_AM2320 am2320 = Adafruit_AM2320();

void setup() {
  Serial.begin(9600);
  while (!Serial) {
    delay(10); // esperar hasta que se abra el puerto serial
  }

  am2320.begin();
}

void loop() {
  Serial.print("Temperatura: ");
  Serial.print(am2320.readTemperature());
  Serial.print(" °C");
  Serial.print("tt");
  Serial.print("Humedad: ");
  Serial.print(am2320.readHumidity());
  Serial.println(" %");

  delay(2000);
}
    
  

Conclusión

Con el sensor de temperatura y humedad AM2320, puedes realizar una variedad de proyectos relacionados con el monitoreo del clima. ¡Empieza a experimentar y descubre las posibilidades que este sensor puede ofrecerte!


5 comentarios en «Interfaz del sensor de temperatura y humedad AM2320 con Arduino»

Deja un comentario