first commit

This commit is contained in:
Alejandro Guerrero 2026-09-27 17:21:39 +02:00
commit e6a42e28e9
4355 changed files with 4626605 additions and 0 deletions

View file

@ -0,0 +1,77 @@
# -*- coding: utf-8 -*
"""
*@file DFRobot_DHT20.py
*@brief Define the basic structure of class DFRobot_DHT20
*@copyright Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com)
*@licence The MIT License (MIT)
*@author [fengli](li.feng@dfrobot.com)
*@version V1.0
*@date 2021-6-25
*@get from https://www.dfrobot.com
*@https://github.com/DFRobot/DFRobot_DHT20
"""
import serial
import time
import smbus
class DFRobot_DHT20(object):
''' Conversion data '''
_addr = 0x50
def __init__(self ,bus,address):
self.i2cbus = smbus.SMBus(bus)
self._addr = address
self.idle = 0
'''
@brief init function
@return Return 0 if initialization succeeds, otherwise return non-zero and error code.
'''
def begin(self ):
#self.i2cbus.write_byte(self._addr,0xaa)
time.sleep(0.5)
data = self.read_reg(0x71,1)
if (data[0] | 0x08) == 0:
return False
else:
return True
'''
@brief Get ambient temperature, unit: °C
@return ambient temperature,the measurement range is -40°C ~ 80°C
'''
def get_temperature(self):
self.write_reg(0xac,[0x33,0x00])
time.sleep(0.1)
data = self.read_reg(0x71,7)
rawData = ((data[3]&0xf) <<16) + (data[4]<<8)+data[5]
#print(rawData)
temperature = float(rawData)/5242 -50
return temperature
'''
@brief Get relative humidity, unit: %RH.
@return relative humidity, the measurement range is (1-100%)
'''
def get_humidity(self):
self.write_reg(0xac,[0x33,0x00])
time.sleep(0.1)
data = self.read_reg(0x71,7)
rawData = ((data[3]&0xf0) >>4) + (data[1]<<12)+(data[2]<<4)
humidity = float(rawData)/0x100000
return humidity*100
def write_reg(self, reg,data):
time.sleep(0.01)
self.i2cbus.write_i2c_block_data(self._addr,reg,data)
def read_reg(self,reg,len):
time.sleep(0.01)
rslt = self.i2cbus.read_i2c_block_data(self._addr,reg,len)
#print(rslt)
return rslt