mirror of
https://github.com/m5stack/m5-docs.git
synced 2026-05-20 10:23:01 -07:00
Mic api test
This commit is contained in:
@@ -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()
|
||||
Reference in New Issue
Block a user