From 30a7775587d68949ebb659482085cd15b7edb01a Mon Sep 17 00:00:00 2001 From: lukasmaximus89 Date: Wed, 12 Sep 2018 11:47:21 +0800 Subject: [PATCH] Mic api test --- en/api-reference/mic/mic.rst | 45 ++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 en/api-reference/mic/mic.rst diff --git a/en/api-reference/mic/mic.rst b/en/api-reference/mic/mic.rst new file mode 100644 index 00000000..866532a4 --- /dev/null +++ b/en/api-reference/mic/mic.rst @@ -0,0 +1,45 @@ +# Usage + +.. code:: python + + from m5stack import * + import machine, _thread + + mic_adc = 0 + buffer = [] + def microphone_enter(): + print('microphone_enter') + global mic_adc, buffer + try: + mic_adc = machine.ADC(34) + mic_adc.atten(mic_adc.ATTN_11DB) + dac = machine.DAC(machine.Pin(25)) + dac.write(0) + except: + pass + buffer = [] + for i in range(0, 55): + buffer.append(0) + + + def microphone_loop(): + global mic_adc, buffer + val = 0 + for i in range(0, 32): + raw = (mic_adc.readraw() - 1845) // 10 + if raw > 20: + raw = 20 + elif raw < -20: + raw = -20 + val += raw + val = val // 32 + buffer.pop() + buffer.insert(0, val) + for i in range(1, 50): + lcd.line(i*2+44, 120+buffer[i+1], i*2+44+2, 120+buffer[i+2], lcd.WHITE) + lcd.line(i*2+44, 120+buffer[i], i*2+44+2, 120+buffer[i+1], lcd.BLACK) + + microphone_enter() + + while 1: + microphone_loop()