17

Пикабу, помогите!

Писал вам про попытки записи звука микрофоном KY-038. Сегодня приехал MAX9814, подключил, написал простые скетчи, а там - гудение. Вот как на записи. Делал все так:
1) Ардуино скетч отправляет сигнал готовности
2) Python скрипт получает запись и сохраняет в wav.

Уважаемое сообщество, помогите пожалуйста кодом, опытом или советом. Буду очень благодарен.

Arduino & Pi

1.5K постов20.9K подписчика

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу

2
Автор поста оценил этот комментарий

Там вроде бы 50 Гц наводка от сети. Обычно получается когда нет хорошего заземления корпуса компьютера (на корпусе компьютера и GND ардуины тогда будет 120В 50Гц). В этом случае уровень гула увеличивается, если к микрофону подносить руку...

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

То есть нужно просто фильтр низких частот в код добавить?

показать ответы
0
Автор поста оценил этот комментарий

MAX9814 ГОВНО ЛЮТОЕ. Система ОРУ неадекватна. Пробовал всё. Выбрасывайте нахуй.


Берите MAX4466.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ок...

показать ответы
2
Автор поста оценил этот комментарий

а как вы микрофон к ардуино подключали? через аналоговый вход через разделительный кондер со средней точкой? скетч то хоть покажите

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

VDD - 5V
GND - GND
OUT - A0

показать ответы
2
Автор поста оценил этот комментарий

а как вы микрофон к ардуино подключали? через аналоговый вход через разделительный кондер со средней точкой? скетч то хоть покажите

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

ARDUINO
const int micPin = A0;

const int sampleRate = 8000;

const int delayMicro = 1000000 / sampleRate;

void setup() {

Serial.begin(115200);

}

void loop() {

int value = analogRead(micPin);

Serial.println(value);

delayMicroseconds(delayMicro);

}

PYTHON
import serial

import wave

import struct

ser = serial.Serial('COM3', 115200)

audio = []

try:

while True:

line = ser.readline().strip()

if line:

audio.append(int(line))

except KeyboardInterrupt:

ser.close()

with wave.open('output.wav', 'w') as wav:

wav.setnchannels(1)

wav.setsampwidth(2)

wav.setframerate(8000)

for sample in audio:

wav.writeframes(struct.pack('<h', sample))

показать ответы
6
Автор поста оценил этот комментарий

подключил

куда? к чему?

путь прохождения аналогового сигнала обрисуйте.

можно словами, но лучше схемкой.

Какой именно девайс должен писать звук? аудиокарта компа/ноута или чтото другое?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Подключил к ARDUINO nano

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества