#*********pour vérifier adresse**********
"""
import machine
import time
sda=machine.Pin(6)
scl=machine.Pin(7)
i2c=machine.I2C(1,sda=sda, scl=scl, freq=400000)
print(i2c.scan())
time.sleep(2)
"""
"""
#********The Raspberry Pi Pico's MicroPython firmware
# includes a built-in dht module,so a separate library file is not necessary for basic use.
# You can use this module directly in your code
# after installing the generic dht package in your IDE.
# lcd 1602 utilisé Wokwi
"""
from machine import Pin, I2C #I2cLcd
import dht
import time
#from i2c_lcd import I2cLcd # erreur remplace par + bas
from pico_i2c_lcd import I2cLcd
# fonctions pour simuler le capteur DHT 22
def Test():
print('mario')
def Wokwi():
while True:
try:
dht_sensor.measure()
#temp = dht_sensor.temperature()
temp=30
#hum = dht_sensor.humidity()
hum=45
lcd.clear()
lcd.move_to(0, 0)
lcd.putstr("Temp: {:.1f} C".format(temp))
lcd.move_to(0, 1)
lcd.putstr("Hum: {:.1f} %".format(hum))
except Exception as e:
lcd.clear()
lcd.putstr("Erreur DHT22")
time.sleep(4)
break
def SimulDHT22():
temp=20
hum=35
for x in range(10):
temp = temp + 1
hum = hum + 1
lcd.clear()
lcd.move_to(0, 0)
lcd.putstr("Temp: {:.1f} C".format(temp))
lcd.move_to(0, 1)
lcd.putstr("Hum: {:.1f} %".format(hum))
time.sleep(2)
# ----- Configuration LCD -----
I2C_ADDR = 0x27 # change en 0x3F si nécessaire
I2C_NUM_ROWS = 2
I2C_NUM_COLS = 16
# initialisation i2c port i2c0 ou 1 sda 26 et scl 27 (1)
i2c = I2C(1, sda=Pin(26), scl=Pin(27), freq=400000)
# objet lcd
lcd = I2cLcd(i2c, I2C_ADDR, I2C_NUM_ROWS, I2C_NUM_COLS)
time.sleep(2)
lcd.clear()
lcd.move_to(0,0)
lcd.putstr('Lcd 1602 :Ready')
time.sleep(2)
# scan adresse
device =i2c.scan() # adresse en decimal par defaut device = liste[]
hexDevice=hex(device[0]) # conversion adresse en hexadecimal
"""
# affichage adresses decimal et hexadecimal
print ('adresse lcd decimal:',device[0]) # valeur index [0] de device
print('adresse lcd hex:',hex(device[0]))
# affichage sur le lcd 1602
time.sleep(2)
lcd.clear()
lcd.move_to(0,0)
lcd.putstr('Adresse : dec')
lcd.move_to(0,1)
lcd.putstr(str(device[0]))
time.sleep(2)
lcd.clear()
time.sleep(2)
lcd.clear()
lcd.move_to(0,0)
lcd.putstr('Adresse : hexa')
lcd.move_to(0,1)
lcd.putstr(str(hexDevice)) # conversion en texte obligatoire str
time.sleep(2)
"""
# ----- Capteur DHT22 -----
dht_sensor = dht.DHT22(Pin(10)) # pin(GpIo) de connexion sur Pi PIco
lcd.clear()
lcd.putstr("DHT22 Ready")
time.sleep(2)
"""
while True:
try:
dht_sensor.measure()
#temp = dht_sensor.temperature()
temp=30
#hum = dht_sensor.humidity()
hum=45
lcd.clear()
lcd.move_to(0, 0)
lcd.putstr("Temp: {:.1f} C".format(temp))
lcd.move_to(0, 1)
lcd.putstr("Hum: {:.1f} %".format(hum))
except Exception as e:
lcd.clear()
lcd.putstr("Erreur DHT22")
time.sleep(4)
"""
Test() # call fonction Test()
Wokwi() # call fonction Wokwi()
SimulDHT22() # call fonction SimulDHT22()
time.sleep(2)
lcd.clear()
while True:
lcd.clear()
lcd.putstr('Fin des tests')
time.sleep(1)
lcd.clear()
lcd.putstr('Fin des tests')
time.sleep(1)