myRaspberry

Mes aventures en Raspberry et Arduino

DHT22 sur raspberry

Posted on 29 novembre 2017  in Raspberry

Le capteur DHT22 (blanc) permet de mesures la température et humidité.

Les différences sont:

Plage utilisation humidité Plage utilisation température
DHT11 0-100% avec 2-5% de précision de 5% 0-50°C avec une précision de ±2°C
DHT22 0-100% avec 2-5% de précision 2-5% -40 to 80°C avec une précision de ±0.5°C

En python, il existe une très bonne bibliothèque sur Adafruit.

https://github.com/adafruit/Adafruit_Python_DHT

Installez là :

wget https://github.com/adafruit/Adafruit_Python_DHT
gunzip Adafruit_Python_DHT-master.zip
cd Adafruit_Python_DHT
sudo python setup.py install

Le principe d’utilisation dasn votre script python

#importer la biblothèse

import Adafruit_DHT

# definir le capteur Adafruit_DHT.DHT22, ou Adafruit_DHT.AM2302.

sensor = Adafruit_DHT.DHT22;

#lecture

humidity, temperature = Adafruit_DHT.read_retry(sensor, PIN_DHT22)

 

Utilisez la de la façon suivante. Ce programme mesure la température et l’humidité et l’enregistre toutes les 10mn dans une base de donnée SQLite3.

 


import RPi.GPIO as GPIO;
import os;
import time, datetime;
import Adafruit_DHT
import sqlite3

# Adafruit_DHT.DHT22, or Adafruit_DHT.AM2302.
sensor = Adafruit_DHT.DHT22

#Configuration PI-PIN en input

PIN_LED=17;
PIN_DHT22=18;


def setup():
	GPIO.setmode(GPIO.BCM);
	GPIO.setwarnings(False);
	GPIO.setup(PIN_LED, GPIO.OUT, initial=GPIO.HIGH);
	GPIO.setup(PIN_DHT22, GPIO.IN);
	conn = sqlite3.connect('example.db')
	


if __name__ == '__main__':		# Program start from here
	setup();
	conn = sqlite3.connect('temperatures.db')
	c = conn.cursor()
	while True:
		today = time.time()
		GPIO.output(PIN_LED, GPIO.HIGH)
		humidity, temperature = Adafruit_DHT.read_retry(sensor, PIN_DHT22)
		#print('Temp={0:0.1f}C  Humidity={1:0.1f}%'.format(temperature, humidity))
		requete="INSERT INTO temperature VALUES ("+str(time.strftime('%Y'))+","+str(time.strftime('%m'))+","+str(time.strftime('%d'))+","+str(time.strftime('%H'))+","+str(time.strftime('%M'))+","+str(time.strftime('%S'))+",'"+str(round(humidity,2))+"','"+ str(round(temperature ,2))+"')"
		c.execute(requete)
		# Save (commit) the changes
		conn.commit()
		time.sleep(600)

 

2 thoughts on “DHT22 sur raspberry”

Comments are closed.