code.py
 1  # SPDX-FileCopyrightText: 2021 Brent Rubell for Adafruit Industries
 2  #
 3  # SPDX-License-Identifier: MIT
 4  
 5  """
 6  'mib_char_lcd_light.py'
 7  =================================================
 8  light sensor circuit. displays output on charlcd
 9  requires:
10  - CircuitPython_CharLCD Module
11  """
12  
13  import time
14  import analogio
15  import digitalio
16  import adafruit_character_lcd
17  from board import D7, D8, D9, D10, D11, D12, D13, A0
18  
19  #   Character LCD Config:
20  #   modify this if you have a different sized charlcd
21  lcd_columns = 16
22  lcd_rows = 2
23  
24  #   Metro Express Pin Config:
25  lcd_rs = digitalio.DigitalInOut(D7)
26  lcd_en = digitalio.DigitalInOut(D8)
27  lcd_d7 = digitalio.DigitalInOut(D12)
28  lcd_d6 = digitalio.DigitalInOut(D11)
29  lcd_d5 = digitalio.DigitalInOut(D10)
30  lcd_d4 = digitalio.DigitalInOut(D9)
31  lcd_backlight = digitalio.DigitalInOut(D13)
32  
33  light = analogio.AnalogIn(A0)
34  
35  #   Init the lcd class
36  lcd = adafruit_character_lcd.Character_LCD(
37      lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows, lcd_backlight
38  )
39  
40  while True:
41      lcd.clear()
42      percent = str(100 - ((light.value / 65535) * 100))
43      nice = percent[: percent.find(".")]
44      lcd.message(nice + "% bright")
45      lcd.message(str(light.value))
46      time.sleep(1)
47      # increment our elapsed_secs variable each time a second passes