def centre(): if o_enable == 0: led.unplot(2, 2) led.plot(4, 4 - range2) else: led.plot(2, 2) led.plot(4, 4 - range2) def on_button_pressed_a(): global o_enable, old if o_enable == 0: o_enable = 1 old = 0 led.plot(2, 2) else: o_enable = 0 led.unplot(2, 2) input.on_button_pressed(Button.A, on_button_pressed_a) def pot_adjust(): global freq, bin2, pct, indx2, old freq = 0 bin2 = pins.analog_read_pin(AnalogPin.P1) pct = (bin2 - 1) / 1023 - 0.001 if pct > 0: freq = max_range * pct if old > bin2 - 20 and old < bin2 + 20: clr_scrn() index2 = 0 while index2 <= 9 * (pct * 1.25): indx2 = -4 + index2 for index in range(5): led.plot(index, index - indx2) index2 += 1 old = bin2 centre() def clr_scrn(): global indx2 index22 = 0 while index22 <= 9 * (1 * 1.25): indx2 = -4 + index22 for index3 in range(5): led.unplot(index3, index3 - indx2) index22 += 1 centre() def on_button_pressed_b(): global range2, max_range range2 += 1 if range2 > len(list2) - 1: range2 = 0 led.unplot(4, 0) led.plot(4, 4) else: led.unplot(4, 4 - (range2 - 1)) led.plot(4, 4 - range2) max_range = list2[range2] input.on_button_pressed(Button.B, on_button_pressed_b) def reset(): global list2, max_range, xval, yval, value, xsig, ysig, scale, freq, range2, multiplier, o_enable list2 = [1000, 10000, 100000, 250000, 500000] max_range = list2[0] xval = 0 yval = -1 value = -1 xsig = 3 ysig = -1 scale = -1 freq = 0 range2 = 0 multiplier = 0 o_enable = 0 pins.analog_pitch(0, 0) music.ring_tone(0) multiplier = 0 scale = 0 ysig = 0 xsig = 0 value = 0 yval = 0 xval = 0 list2: List[number] = [] indx2 = 0 max_range = 0 pct = 0 bin2 = 0 freq = 0 old = 0 range2 = 0 o_enable = 0 pins.analog_set_pitch_pin(AnalogPin.P0) music.set_built_in_speaker_enabled(False) basic.show_string("V_PGEN") reset() led.plot(4, 4) def on_forever(): if o_enable == 1: pot_adjust() if freq >= 1: music.ring_tone(freq) else: music.ring_tone(0) else: music.ring_tone(0) basic.forever(on_forever)