updating a few learn guides

Updating the desktop air monitor to use try/except for reading the PM2.5 sensor and updating UART MIDI guides to include a timeout in instantiation based on quirk with Metro M7 found by JP
This commit is contained in:
Liz 2023-06-12 10:02:00 -04:00
parent 8719a60b9b
commit 9cd344a94a
4 changed files with 15 additions and 8 deletions

View file

@ -26,19 +26,22 @@ i2c = board.STEMMA_I2C()
reset_pin = None reset_pin = None
pm25 = PM25_I2C(i2c, reset_pin) pm25 = PM25_I2C(i2c, reset_pin)
aqdata = pm25.read()
scd4x = adafruit_scd4x.SCD4X(i2c) scd4x = adafruit_scd4x.SCD4X(i2c)
scd4x.start_periodic_measurement() scd4x.start_periodic_measurement()
time.sleep(5) time.sleep(5)
try:
aqdata = pm25.read()
pm2 = int(aqdata["pm25 standard"])
except RuntimeError:
pm2 = 0
co2 = scd4x.CO2 co2 = scd4x.CO2
temp = scd4x.temperature temp = scd4x.temperature
humidity = scd4x.relative_humidity humidity = scd4x.relative_humidity
pm2 = int(aqdata["pm25 standard"])
def rate_pm25(pm25_data): def rate_pm25(pm25_data):
if pm25_data <= 12: if pm25_data <= 12:
pm25_outline = 94 pm25_outline = 94
@ -98,8 +101,12 @@ while True:
co2 = scd4x.CO2 co2 = scd4x.CO2
temp = c_to_f(scd4x.temperature) temp = c_to_f(scd4x.temperature)
humidity = scd4x.relative_humidity humidity = scd4x.relative_humidity
aqdata = pm25.read() try:
pm2 = int(aqdata["pm25 standard"]) aqdata = pm25.read()
pm2 = int(aqdata["pm25 standard"])
except RuntimeError:
print("Unable to read from PM2.5 sensor, no new data..")
continue
pm2_color, pm2_outline.x = rate_pm25(pm2) pm2_color, pm2_outline.x = rate_pm25(pm2)
sensor_data = [pm2, co2, temp, humidity] sensor_data = [pm2, co2, temp, humidity]
pixels.fill(pm2_color) pixels.fill(pm2_color)

View file

@ -114,7 +114,7 @@ splash.append(blinka_grid)
# USB MIDI: # USB MIDI:
# midi = adafruit_midi.MIDI(midi_out=usb_midi.ports[1], out_channel=0) # midi = adafruit_midi.MIDI(midi_out=usb_midi.ports[1], out_channel=0)
# UART MIDI: # UART MIDI:
midi = adafruit_midi.MIDI(midi_out=busio.UART(board.TX, board.RX, baudrate=31250), out_channel=0) midi = adafruit_midi.MIDI(midi_out=busio.UART(board.TX, board.RX, baudrate=31250, timeout=0.001), out_channel=0)
# potentiometer pin setup # potentiometer pin setup
key_pot = AnalogIn(board.A1) key_pot = AnalogIn(board.A1)

View file

@ -11,7 +11,7 @@ from adafruit_midi.note_off import NoteOff
from adafruit_midi.note_on import NoteOn from adafruit_midi.note_on import NoteOn
# uart setup # uart setup
uart = busio.UART(board.TX, board.RX, baudrate=31250) uart = busio.UART(board.TX, board.RX, baudrate=31250, timeout=0.001)
# midi channel setup # midi channel setup
midi_in_channel = 1 midi_in_channel = 1
midi_out_channel = 1 midi_out_channel = 1

View file

@ -13,7 +13,7 @@ from adafruit_midi.note_on import NoteOn
from adafruit_midi.program_change import ProgramChange from adafruit_midi.program_change import ProgramChange
# uart setup # uart setup
uart = busio.UART(board.TX, board.RX, baudrate=31250) uart = busio.UART(board.TX, board.RX, baudrate=31250, timeout=0.001)
# midi channel setup # midi channel setup
midi_in_channel = 1 midi_in_channel = 1
midi_out_channel = 1 midi_out_channel = 1