Codice Arduino e video per un sensore digitale di temperatura e umidità Aosong AM2320

Codice Arduino e video per un sensore digitale di temperatura e umidità Aosong AM2320

In questo tutorial esploreremo come utilizzare il sensore digitale di temperatura e umidità Aosong AM2320 con Arduino. Questo sensore comunica tramite I2C e ci consente di leggere la temperatura in Celsius o Fahrenheit e l'umidità in percentuale. Alla fine di questo tutorial sarai in grado di realizzare un semplice progetto che visualizza queste letture sul monitor seriale.

Il sensore AM2320 è compatto e fornisce dati affidabili sia per la temperatura che per l'umidità. Ha una risoluzione di 0.1°C per la temperatura e un intervallo di umidità di 0-99%. Il processo di configurazione prevede il collegamento del sensore all'Arduino e la scrittura di poche righe di codice per leggere e visualizzare i valori del sensore. Questo tutorial video fornisce una guida passo a passo, inclusi esempi di cablaggio e di codice (nel video a 00:00).

Hardware spiegato

Il componente principale di questo progetto è il sensore Aosong AM2320. Funziona utilizzando la comunicazione I2C, che semplifica il processo di collegamento in quanto richiede solo due linee dati (SDA e SCL) oltre all'alimentazione e alla massa. Il sensore misura la temperatura nell'intervallo da -40 °C a +80 °C con una precisione di ±0,5 °C e l'umidità dal 0% al 99% con una precisione simile. Il sensore è progettato per consumare pochissima energia, rendendolo adatto a dispositivi alimentati a batteria.

Inoltre, il modulo AM2320 include resistenze di pull-up necessarie per la comunicazione I2C, che aiutano a stabilizzare i segnali sulle linee SDA e SCL. Questa caratteristica semplifica il cablaggio, poiché non sarà necessario aggiungere resistenze di pull-up esterne.

Dettagli della scheda tecnica

ProduttoreAosong
Numero di parteAM2320
Tensione logica/I/Oda 3.1 a 5.5 V
Tensione di alimentazione3.1 a 5.5 V
Intervallo di temperaturada -40 a +80 °C
Intervallo di umiditàda 0 a 99 %
Risoluzione (Temperatura)0.1 °C
Risoluzione (Umidità)0,1%
Accuratezza (Temperatura)±0,5 °C
Accuratezza (Umidità)±3 %
PacchettoModulo

  • Assicurarsi che l'alimentazione abbia la tensione corretta (3,1 a 5,5 V).
  • Usare resistenze di pull-up (tipicamente 4,7 kΩ) per le linee SDA e SCL.
  • Mantenere l'intervallo di temperatura compreso tra -40°C e +80°C per evitare danni.
  • Le letture di umidità sono accurate nell'intervallo dallo 0% al 99%.
  • Monitorare la presenza di codici di errore durante le letture (ad es., sensore offline).

Istruzioni di cablaggio

Arduino wiring for AM2320 sensor
Arduino wiring for AM2320 sensor

Per collegare il sensore AM2320 all'Arduino, seguire attentamente questi passaggi. Per prima cosa, collegare i pin di alimentazione: il pin più a sinistra dell'AM2320 si collega al 5V dell'Arduino (o VCC), mentre il pin di massa si collega al GND dell'Arduino. Il secondo pin da sinistra (SDA) si collega al pin analogico A4 per un Arduino Uno o A20 per un Arduino Mega. Il terzo pin (SCL) va su A5 per un Arduino Uno o A21 per un Arduino Mega.

Inoltre, dovrai collegare una resistenza da 4.7 kΩ dal pin SDA alla linea a 5V e un'altra resistenza da 4.7 kΩ dal pin SCL alla linea a 5V. Questo garantisce una corretta comunicazione I2C. Se stai usando altri modelli di Arduino come il Leonardo, i pin SDA e SCL saranno rispettivamente A4 e A5.

Esempi di codice e guida passo-passo

Diamo un'occhiata ad alcune parti chiave del codice Arduino usato in questo progetto. Per prima cosa, inizializziamo il sensore e configuriamo la comunicazione seriale:

#include 
AM2320 sensor;

void setup() {
  Serial.begin(9600);
  sensor.begin();
}

In questo frammento, includiamo la libreria necessaria con#include <AM2320.h>e creare un'istanza del sensore. Ilsetup()La funzione inizializza la comunicazione seriale a 9600 baud e avvia il sensore.

Successivamente, abbiamo il ciclo principale che legge la temperatura e l'umidità:

if (sensor.measure()) {
    Serial.print("Temperature: ");
    Serial.print(temp('C'));
    Serial.print(" C, Humidity: ");
    Serial.print(sensor.getHumidity());
    Serial.println("%");
}

Questo codice verifica se la misurazione del sensore è riuscita. Se sì, stampa la temperatura in gradi Celsius e la percentuale di umidità sul monitor seriale. Iltemp('C')La funzione viene chiamata per recuperare la temperatura in gradi Celsius. Se vuoi i gradi Fahrenheit, puoi chiamaretemp('F').

Dimostrazione / Cosa aspettarsi

Quando esegui il programma, dovresti vedere le letture di temperatura e umidità aggiornarsi ogni mezzo secondo nel monitor seriale. Ad esempio, l'output potrebbe mostrare Temperatura: 23.5 C, Umidità: 50%. Se applichi calore al sensore, dovresti osservare l'aumento della temperatura e la diminuzione dell'umidità, dimostrando la sua reattività (nel video a 11:15).

Marcatori temporali del video

  • 00:00- Introduzione al sensore AM2320
  • 01:30- Istruzioni di cablaggio
  • 03:45- Revisione del codice
  • 05:15- Dimostrazione delle letture

Immagini

AM2320-sensor-1
AM2320-sensor-1
AM2320-sensor-2
AM2320-sensor-2
AM2320-sensor-3
AM2320-sensor-3
AM2320-sensor-4
AM2320-sensor-4
Arduino wiring for AM2320 sensor
Arduino wiring for AM2320 sensor
84-This is the Arduino code for the Aosong AM2320 digital temperature and humidity sensor.
Lingua: C++
Copia!

Risorse e riferimenti

Nessuna risorsa ancora.

File📁

Scheda tecnica (pdf)

File Fritzing