2017-01-17 2 views
0

У меня есть микрофон, подключенный к аналоговому входу моего arduino. Этот микрофон подключается к + 5В через резистор.arduino signal pattern matching

Что я хочу сделать, это обнаружить «краны» на микрофоне, и пользователь будет воспроизводить последовательность (как барабанщик). Ардуины должны признать, что это хорошая последовательность (продолжительность между кранами). Но у нас может быть пользователь, который сделает последовательность быстрее.

Я не знаю с чего начать. Я не думаю, что FFT - это хорошо, потому что скорость будет иной.

Thanks

+0

«Кран» - довольно отличительный сигнал, высокая амплитуда, острые края - если ардуино достаточно быстро читает аналоговый вход (Я думаю, что это так), то, возможно, просто сравните вход с некоторым предопределенным (жестко закодированным) порогом для обнаружения s ignal, без каких-либо БПФ или сложной обработки. Затем выполните логику продолжительности. – xealits

+0

написать процедуру, которая отлично работает с нажатиями кнопок, а затем выяснить, как преобразовать аппаратное обеспечение, которое должно быть относительно простым, заменив 'if (digitalRead (pin) == hi)' with 'if (analogRead (pin)> 600) ' – dandavis

ответ

0

Забудьте о FFT.
У Arduino Uno недостаточно памяти для этого algo ... и даже если вы можете сделать это подойдет, у вас не останется ничего о памяти для вашего приложения ... Вместо этого используйте аналоговый интегратор.
Один операционный усилитель с конденсатором и резистором в обратной связи между вашим микрофоном и входом arduino делают трюк.

Когда пользователь захлопывает, выходной сигнал будет высоким, и потребуется некоторое время, чтобы снова опуститься. Вы можете измерить миллисекунды между временем, которое оно поднимается, и временем, когда оно снова увеличивается ...

Простая государственная машина, которая обнаруживает высокий пик, запускает счетчик, дожидаясь, когда сигнал опустится, подождите, и остановить счетчик может это сделать ... Есть тонны способов сделать это ... быть творческим

Я не буду давать вам номера, потому что это то, что вам может понадобиться, чтобы настроить себя на основе что вы считаете ударом, импедансом вашего микрофона, временем реакции вашего ардуина ...

+0

Спасибо, но как вы думаете, операционная система действительно необходима? – Bob5421

+0

Мне нужно чтение osciloscope, чтобы быть уверенным ... –