Files

57 lines
1.1 KiB
ReStructuredText
Raw Permalink Normal View History

2018-09-19 14:48:38 +08:00
Mic API
********
-----------------------------
Function
---------
---------------------
Usage
------
.. code:: python
2018-09-12 11:47:21 +08:00
from m5stack import *
2018-09-19 14:48:38 +08:00
import machine, _thread
2018-09-12 11:47:21 +08:00
mic_adc = 0
buffer = []
2018-09-19 14:48:38 +08:00
def microphone_enter():
2018-09-12 11:47:21 +08:00
print('microphone_enter')
2018-09-19 14:48:38 +08:00
global mic_adc, buffer
try:
mic_adc = machine.ADC(34)
2018-09-12 11:47:21 +08:00
mic_adc.atten(mic_adc.ATTN_11DB)
dac = machine.DAC(machine.Pin(25))
dac.write(0)
2018-09-19 14:48:38 +08:00
except:
2018-09-12 11:47:21 +08:00
pass
buffer = []
2018-09-19 14:48:38 +08:00
for i in range(0, 55):
2018-09-12 11:47:21 +08:00
buffer.append(0)
2018-09-19 14:48:38 +08:00
def microphone_loop():
2018-09-12 11:47:21 +08:00
global mic_adc, buffer
val = 0
2018-09-19 14:48:38 +08:00
for i in range(0, 32):
2018-09-12 11:47:21 +08:00
raw = (mic_adc.readraw() - 1845) // 10
if raw > 20:
raw = 20
elif raw < -20:
raw = -20
2018-09-19 14:48:38 +08:00
val += raw
2018-09-12 11:47:21 +08:00
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()
2018-09-19 14:48:38 +08:00
while 1:
2018-09-12 11:47:21 +08:00
microphone_loop()