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)