def calculateMean(array: List[any]): global mean_ mean_ = 0 for index in range(len(list2)): mean_ = mean_ + list2.shift() mean_ = mean_ / 10 return mean_ mean = 0 pulse = 0 mean_ = 0 list2: List[number] = [] serial.redirect_to_usb() music.set_tempo(400) list2 = [] wasBeatDetected = False prevMean = 0 def on_forever(): global list2, pulse, mean, wasBeatDetected, prevMean list2 = [] for index2 in range(10): pulse = pins.analog_read_pin(AnalogReadWritePin.P1) list2.append(pulse) basic.pause(1) mean = calculateMean(list2) serial.write_value("pulse/2", pulse / 2) if pulse / 2 > mean and mean > prevMean: serial.write_value("beat", 1) if wasBeatDetected == False: basic.show_icon(IconNames.HEART) wasBeatDetected = True else: serial.write_value("beat", 0) if wasBeatDetected == True: basic.clear_screen() wasBeatDetected = False prevMean = mean basic.forever(on_forever)