Budget: 2000 UAH Deadline: 2 days
Hello, I can help you
the price is conditional per day,
work is remote,
IDF5
== no AI code in mvp ==
(strictly)
Viktor I.
Winning proposal- Projects -
- Rating -
- Rating 587
Budget: 2000 UAH Deadline: 2 days
Hello. I can take on the project, write to me if you are interested. I have experience with ESP32, microphones, and I2S.
Proposals are currently absent
Proposals concealed
-
Anastasiia Hristenko
1 September 2025
Дякую за настанови :)
Тому і шукаємо спеціаліста. Ви готові нам допомогти в цьому напрямку? -
Aleksandr Konilov 1 September 2025Нажаль ні. Також планую зробити звязку веб-єсп32-мікрофон, але руки не доходять. А так як ще не маю результату, не можу витрачати ваш час.
-
Olena K. 2 September 2025Якщо ви використовуєте аналоговий мікрофон, вам потрібно налаштувати будь-який таймер на генерацію переривань із частотою відповідної періодичності вибірок. У перериванні від таймера запускаєте одноразове перетворення АЦП (його налаштовуєте на максимально можливу тактову частоту). У перериванні після закінчення перетворення АЦП, результат кладете у буфер, до заповнення, як він заповниться, перемикаєте буфер (їх має бути два) і виставляєте ознака готовності даних. В основному циклі очікуєте на готовність даних. Як дані готові, за допомогою функцій FATFS відкриваєте файл на SD та дописуєте до кінця. Якщо файлу немає, спочатку створюєте його записуючи заголовок. Якщо рівень звуку низький, або ви урізаєте результат (наприклад використовуєте тільки старші біти результату) або сигнал на вході занадто низький і його потрібно попередньо підсилити.
У випадку з мікрофоном I2C, у перериванні від таймера робите запит даних і відправляєте команду нового перетворення. Якщо у вас мікрофон підтримує протокол I2S, то просто налаштовуєте модуль I2S і мікрофон на необхідний бітрейт. Так як данні швидше за все будуть 16-бітні - будьте уважні при обробці даних.