Adafruit_Learning_System_Gu.../MetroX_CircuitPython/thermometer/code.py
2021-08-17 12:08:48 -04:00

45 lines
1.1 KiB
Python

"""
'thermometer.py'.
=================================================
digital thermometer project using a tmp36 and a character lcd!
requires:
- simpleio
- CircuitPython_CharLCD Module
"""
import time
import digitalio
import analogio
import adafruit_character_lcd
from simpleio import map_range
from board import D7, D8, D9, D10, D11, D12, D13, A0
# Character LCD Config:
# modify this if you have a different sized charlcd
lcd_columns = 16
lcd_rows = 2
# Metro Express Pin Config:
lcd_rs = digitalio.DigitalInOut(D7)
lcd_en = digitalio.DigitalInOut(D8)
lcd_d7 = digitalio.DigitalInOut(D12)
lcd_d6 = digitalio.DigitalInOut(D11)
lcd_d5 = digitalio.DigitalInOut(D10)
lcd_d4 = digitalio.DigitalInOut(D9)
lcd_backlight = digitalio.DigitalInOut(D13)
# Init the lcd class
lcd = adafruit_character_lcd.Character_LCD(
lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows, lcd_backlight
)
therm = analogio.AnalogIn(A0)
while True:
# get temperature from sensor
tmp = ((map_range(therm.value, 0, 65535, 0, 3.3)) - 0.5) * 100
lcd.clear()
lcd.message("temp: " + str(tmp)[:5] + " * c")
time.sleep(0.6)