Test sensore KY-015 con Multi Test Shield

Testiamo il modulo sensore KY-015 Temperature and humidity sensor module utilizzando il Multi Test Shield. I valori saranno riportati sul display OLED da 0.95″risoluzione 96×64 pixel.

sensore KY-015 Multi Test Shield

KY-015 Temperature and humidity sensor module

Il modulo KY-015 Temperature and humidity sensor module fa parte della serie “37 In 1 Sensor Module Board Set Kit For Arduino, si presenta come un piccolo circuito. Su di esso sono montati, il sensore DHT11, due resistenze, un led e un connettore a 3 pin.

sensore KY-015 Multi Test ShieldIl sensore DHT11 è un sensore di temperatura e umidità con uscita dei dati in formato digitale.
Il sensore utilizza una tecnica digitale esclusiva che unita alla tecnologia di rilevamento dell’umidità, ne garantisce l’affidabilità e la stabilità.
I suoi elementi sensibili sono connessi con un processore 8-bit single-chip.
Ogni sensore di questo modello è compensato in temperatura e calibrato in un’apposita camera di calibrazione che determina in modo preciso il valore di calibrazione il cui coefficiente viene salvato all’interno della memoria OTP.

Le sue piccole dimensioni e il suo basso consumo, unite alla lunga distanza di trasmissione (20 m), permettono al sensore DHT11 di essere adatto per molti tipi di applicazioni. Il package con quattro pin in linea ne rendono facile la connessione.

sensore KY-015 Multi Test Shield

Multi test Shield

Il Multi Test Shield è uno shield auto costruito realizzato per testare la serie di sensori contenuti nella confezione “37 in 1 Sensor Module Board Set” compatibile con la scheda Arduino UNO R3 originale e relativi cloni.

Sulla scheda sono disponibili molti connettori che risultano già opportunamente collegati con le porte digitali o analogiche di Arduino.
In realtà, la scheda, oltre ai sensori presenti nel kit “37 in 1 Sensor Module Board Set”, permette di testare altri sensori, servo, ecc. per un totale di oltre 50 tipi, la presenza di un connettore bus I2C espande ulteriormente la tipologia di dispositivi che lo shield permette.
Sulla scheda è anche presente un connettore per il collegamento di un piccolo display OLED da 0.95″risoluzione 96×64 pixel, 65536 colori, su di esso potranno essere mostrati dei messaggio o i valori misurati dai sensori. Per informazioni sul display vedere il link.

sensore KY-015 Multi Test Shield

Materiale occorrente per il test

Scheda Arduino UNO o suo clone

Multi test Shield

KY-015 Temperature and humidity sensor module

Posizionamento del sensore sullo Shield

Per l’utilizzo occorrerà semplicemente posizionare il sensore sul connettore JP1, facendo riferimento a quanto riportato sul PCB. In questo modo i pin del sensore risulteranno automaticamente collegati ai relativi pin: S al pin D2, il centrale a +5V e – a GND.

Schema equivalente

Nell’immagine sottostante è riportato lo schema equivalente di quello effettuato tramite il multitest shield

 

Sotto la tabella con i relativi collegamenti

ArduinoDisplayKY-015
+5VVCCVCC
GNDGNDGND
D2S
D8DC
D9RES
D10CS
D11SDA
D13SCL

Programma di test del sensore

Per il test del sensore KY-015 si utilizza il Multi Test Shield.
Il programma mostrerà sul display OLED i dati di umidità in percentuale e di temperatura in gradi.
I valori saranno letti ogni secondo.
Se non si dispone del display OLED i valori potranno essere letti tramite l’attivazione del monitor seriale.

Download Sketch

// Definizione dei pin di collegamento
#define sclk 13
#define mosi 11
#define cs   10
#define rst  9
#define dc   8


// Impostazione del sensore DHT11
#include "DHT.h"
#define DHTPIN 2         // Pin a cui è collegato il sensore
#define DHTTYPE DHT11    // DHT 11
DHT dht(DHTPIN, DHTTYPE);

// Definizione dei colori
#define BLACK           0x0000
#define BLUE            0x001F
#define RED             0xF800
#define GREEN           0x07E0
#define CYAN            0x07FF
#define MAGENTA         0xF81F
#define YELLOW          0xFFE0
#define WHITE           0xFFFF

#include <Adafruit_GFX.h>
#include <Adafruit_SSD1331.h>
#include <SPI.h>

Adafruit_SSD1331 display = Adafruit_SSD1331(cs, dc, rst);

void setup()   {
  Serial.begin(9600);
  display.begin();
  dht.begin();

  // Messaggio iniziale
  display.fillScreen(BLACK);
  display.setTextSize(1);
  display.setTextColor(BLUE);
  display.setRotation(2); //Ruota display
  display.setCursor(0, 0);
  display.println("www.adrirobot.it");
  display.println("");
  display.setTextColor(GREEN);
  display.println("Multitest shield");
  display.println("");
  display.println("    TEST FOR   ");
  display.println(" 37 IN 1 SENSOR ");
  delay(3000);
  display.fillScreen(BLACK);
  display.setTextColor(YELLOW);
  display.setCursor(0, 0);
  display.println("   TEST MODUL0  ");
  display.println("");
  display.setTextColor(CYAN);
  display.println("KY-015 Temp. and");
  display.println(" umidity sensor ");
  display.println("");
  delay (200);
}


void loop()
{
  // Wait a few seconds between measurements.
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  Serial.println("\n");
  Serial.print("Umidita' (%): ");
  Serial.println(h, 1);
  Serial.print("Temperatura (C): ");
  Serial.println(t, 1);

  display.fillRect(0, 40, 96, 30, BLACK);
  display.setCursor(0, 40);

  display.setTextColor(WHITE);
  display.print("Umidita' %: ");
  display.setTextColor(RED);
  display.println(h, 1);

  display.println("");
  display.setTextColor(WHITE);
  display.print("Temp.    C: ");
  display.setTextColor(GREEN);
  display.println(t, 1);

  delay (1000); // Pausa di 1 secondo
}