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