code.py
1 # SPDX-FileCopyrightText: 2021 Brent Rubell for Adafruit Industries 2 # 3 # SPDX-License-Identifier: MIT 4 5 """ 6 'thermometer.py'. 7 8 ================================================= 9 digital thermometer project using a tmp36 and a character lcd! 10 11 requires: 12 - simpleio 13 - CircuitPython_CharLCD Module 14 """ 15 16 import time 17 import digitalio 18 import analogio 19 import adafruit_character_lcd 20 from simpleio import map_range 21 from board import D7, D8, D9, D10, D11, D12, D13, A0 22 23 # Character LCD Config: 24 # modify this if you have a different sized charlcd 25 lcd_columns = 16 26 lcd_rows = 2 27 28 # Metro Express Pin Config: 29 lcd_rs = digitalio.DigitalInOut(D7) 30 lcd_en = digitalio.DigitalInOut(D8) 31 lcd_d7 = digitalio.DigitalInOut(D12) 32 lcd_d6 = digitalio.DigitalInOut(D11) 33 lcd_d5 = digitalio.DigitalInOut(D10) 34 lcd_d4 = digitalio.DigitalInOut(D9) 35 lcd_backlight = digitalio.DigitalInOut(D13) 36 37 # Init the lcd class 38 lcd = adafruit_character_lcd.Character_LCD( 39 lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows, lcd_backlight 40 ) 41 42 therm = analogio.AnalogIn(A0) 43 44 while True: 45 # get temperature from sensor 46 tmp = ((map_range(therm.value, 0, 65535, 0, 3.3)) - 0.5) * 100 47 lcd.clear() 48 lcd.message("temp: " + str(tmp)[:5] + " * c") 49 time.sleep(0.6)