from time import sleep_ms
from machine import Pin, I2C
from lcd_api import LcdApi
from i2c_lcd import I2cLcd
from BMP180 import BMP180
import time
time.sleep(0.1)
print("hello1")
# Initialize I2C for BMP180 (on bus 0)
i2c_bmp = I2C(0, scl=Pin(1), sda=Pin(0), freq=100000)
print("hello2")
# Configure BMP180 sensor
bmp = BMP180(i2c_bmp)
bmp.oversample = 2
#----Sortie LED----------------------------------------------
led1 = Pin(18, Pin.OUT)
#----Entrée Bouton----------------------------------------------
button = Pin(13, Pin.IN, Pin.PULL_UP)
#----Sorties Ecran LCD----------------------------------------------
I2C_ADDR = 39 #adresse I2C
I2C_NUM_ROWS = 2 #nombre de lignes
I2C_NUM_COLS = 16 #nombre de colonnes
# Initialize I2C for LCD (on bus 1)
i2c_lcd = I2C(1, sda=Pin(2), scl=Pin(3), freq=400000)
lcd = I2cLcd(i2c_lcd, I2C_ADDR, I2C_NUM_ROWS, I2C_NUM_COLS)
#----CREATION de fonctions----------------------------------------------
def eteindre_ecran():
lcd.backlight_off()
def allumer_ecran():
lcd.backlight_on()
def clear_ecran():
lcd.clear()
def LCD_text():
lcd.move_to(1,0) #se positionner colonne_1, ligne_0
lcd.putstr("!! ligne 1 !!") #Ecrire ce texte
lcd.move_to(1,1) #se positionner colonne_1, ligne_1
lcd.putstr("** ligne 2 **") #Ecrire ce texte
print("hello3")
#-----Conditions initiales---------------------------------------------
#-#----Compteur pour le Bouton-------------------------
comptBout = 0
etatLed = 0
#-#----LED éteintes---------------------------------------------
led1.value(0)
#-#----Ecran LCD éteint---------------------------------------------
print("hello")
LCD_text()
eteindre_ecran()
print("bye")
#----Début du programme----------------------------------------------
#scanner un bus I2C et renvoyer une liste d'adresses I2C valides qui sont connectées à ce bus
while True:
if button.value() == 0 and comptBout == 0 : #si bouton appuyé
comptBout = 1 #alors compteur bouton = 1
if etatLed == 0: #et si compteur led est à 0
etatLed = 1 #alors compteur led = 1
led1.value(1) #allumer qqchose
LCD_text()
allumer_ecran()
print(bmp.temperature) #donner une information via l'ordinateur
print(bmp.pressure)
else: #sinon
etatLed = 0 #alors compteur led = 0
led1.value(0) #éteindre qqchose
eteindre_ecran()
lcd.clear()
print("éteint") #donner une information via l'ordinateur
sleep_ms(100) #pause nécessaire pour éviter les rebonds
elif button.value() == 1 and comptBout == 1 : #si bouton appuyé et compteur bouton = 1
comptBout = 0 #alors compteur bouton = 0
sleep_ms(100) #pause nécessaire pour éviter les rebonds
# Print temperature and pressure data
print("tempC: {}".format(bmp.temperature))
print("pressure: {}Pa".format(bmp.pressure))
# Read data every second
time.sleep_ms(1000)
Loading
bmp180
bmp180