Programme I2c

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

import bme280

import smbus

import time

import math

import lcddriver

BUS = 1

adresse1 = 0x76

adresse2 = 0x27

adresse3 = 0x50

OFFSET = 0

lcd = lcddriver.lcd()

bus = smbus.SMBus(BUS)

def read():

(chip_id, chip_version) = bme280.readBME280ID()

print ("Chip ID :",chip_id)

print ("version :",chip_version)

temperature,pressure,humidity = bme280.readBME280All()

return temperature,pressure,humidity

def affichage(temperature,pressure,humidity):

print ("temperature:",temperature,"c")

print ("pressure:",pressure,"hpa")

print ("humidity:",humidity,"%")

print ("valeur entiere",int(temperature))

def readmemoire( temperature,pressure):

bus.write_byte_data(adresse3,OFFSET,int(temperature))

bus.write_byte_data(adresse3,OFFSET,int(pressure))

time.sleep(1)
temp = bus.read_byte_data(adresse3,OFFSET)

print("la valeur:",temp)

def displayLcd( temperature,pressure,humidity ):

display = lcddriver.lcd()

a = int(temperature)

b = int(pressure)

c = int(humidity)

display.lcd_display_string("Temperature",1)

display.lcd_display_string(str(a),2)

time.sleep(3)

display.lcd_clear()

display.lcd_display_string("Pressure",1)

display.lcd_display_string(str(b),2)

time.sleep(3)

display.lcd_clear()

display.lcd_display_string("Humidity",1)

display.lcd_display_string(str(c),2)

time.sleep(3)

display.lcd_clear()

print("valeur",a)

def close ():

bus.close()

def loop():

while True:
temperature,pressure,humidity= read()

affichage(temperature,pressure,humidity)

readmemoire( temperature,pressure)

displayLcd( temperature,pressure,humidity )

if __name__== '__main__':

try :

loop()

except KeyboardInterrupt :

close()

You might also like