Connectar un sensor d'humitat i temperatura a l'Arduino
El component en qüestió venia amb el pack: http://dx.com/p/arduno-37-in-1-sensor-module-kit-black-142834 (podeu veure tots els components del pack catalogats aquí). El seu codi és Ky-015.
El tutorial d'on ho he tret és aquest, encara que en el seu cas el sensor té un pin de més que no es fa servir.
Connexió del sensor
El sensor és senzill de connectar. Té 3 pins:
- S: pin de dades, és connecta a un dels pins analògics. Per exemple a l'A0.
- +5v: directa a l'arduino
- GND: directe a l'arduino
Vista dels connectors
Instal·lació de la llibreria d'Arduino
Malgrat que es podria fer servir sense una llibreria, la veritat és que sempre és més fàcil si es pot reaprofitar el treball que ha fet algú altre. En aquest cas cal instal·lar la llibreria en zip que podeu trobar a hobbyist.co.nz.
En general, per instal·lar llibreries es recomana copiar-les al directori d'instal·lació de l'arduino al subdirectori "libraries", però aquí explico una altre manera de fer-ho:
Obrir l'entorn d'Arduino i anar al menú "Sketch ->Importar librerías -> Add library "
Seleccionar l'arxiu zip (en aquest cas es diu DHT.zip) un cop fet tornareu a l'entorn de programació
Tornar al menú "Sketch ->Importar librerías " i seleccionar al final de tot la llibreria importada i al codi ja us apareixerà una línia a l'inici on s'importa la llibreria (#include <dht.h>)
Codi d'exemple
El següent codi agafa la temperatura i humitat del sensor i l'escriu pel port sèrie.
Mentre s'està executant connectat a l'ordinador, es pot consultar el que l'Arduino envia per sèrie prement "control+majúscules+M" o bé anant a "Herramientas -> Monitor Serial"
#include <dht.h>
#define dht_dpin A0 //pin de lectura A0
dht DHT;//llibreria importada
void setup(){
Serial.begin(9600);
delay(1000);//es recomana deixar un segon abans de llegir
}
void loop(){
DHT.read11(dht_dpin);
Serial.print("Current humidity = ");
Serial.print(DHT.humidity);
Serial.print("% ");
Serial.print("temperature = ");
Serial.print(DHT.temperature);
Serial.println("C ");
delay(800);//es recomana consultar cada 2 segons
//encara que tambe funciona amb 0.8 segons
}
Com queda la connexió
Cap comentari:
Publica un comentari a l'entrada