Отправка и получение аналоговых данных от одного arduino к другому arduino через web/ethernet
я могу отправлять аудиосигнал через микрофон и отправлять его через arduino и принимать его на динамике.
мне нужны две вещи
1.) Голос, который я слышу по громкоговорителю, имеет на громкоговорителе много шума. мне нужно уменьшить его 2.) Мне нужно отправить этот аналоговый сигнал, полученный от микрофона через Ethernet/web, другому arduino. у меня есть Ethernet shield, я могу передавать данные с коммутатора, но не с микрофона.
позвольте мне начать с самого начала: я подключил микрофон к аудиоусилителю и подключил выход усилителя к контакту a0 arduino. Arduino подключен к DAC(PCF8519) с выводами a5 и a4 aurdino. Выход ЦАП подключен к модулю аудиоусилителя LM386, а к его выходу подключен динамик. когда я говорю через микрофон, я могу слышать его на динамике, но он имеет некоторый шум, связанный с ним. ЕСЛИ вы можете предложить решение для этого, это будет здорово.
теперь я хочу отправить данные микрофона на другой arduino через web/Ethernet. я могу получить данные коммутатора, но не смог получить правильные данные от микрофона.Так что, пожалуйста, помогите с этим.
вот моя схема аудио усилителя:
вот мой код для одного кода arduino, который работал
`#include "Wire.h"`
#define PCF8591 (0x90 >> 1)
void setup()
{
Wire.begin();
pinMode(0,INPUT);
}
void loop()
{
Wire.beginTransmission(PCF8591);
Wire.write(0x40);
Wire.write(analogRead(0));
Wire.endTransmission();
}
Мне нужно уменьшить шум на динамике, и я хочу отправить данные микрофона через Web/Ethernet на другой arduino.
@sanket jain, 👍1
Обсуждение1 ответ
Вход АЦП имеет сопротивление 100 Мом. При размещении С4 сигнал на входе АЦП не имеет постоянного тракта, а просто плавает между -0,7 В и 5,7 В , ограниченный только входными зажимными диодами.
АЦП может преобразовывать только напряжения между 0 и опорным напряжением, я полагаю, вы используете опорное напряжение по умолчанию 5В.
Но ваш сигнал плавает, и АЦП отсечет любые пики за пределами области преобразования, дающие шум, который вы слышите.
Еще одна проблема, которую я вижу здесь, заключается в том, что технический паспорт LM386 указывает нагрузку от 4 Ом до 32 Ом. Нет никакой гарантии, что он будет работать без нагрузки, как в вашем случае. Скорее всего, нет.
Таким образом, вы можете подключить C4 к соответствующей нагрузке и принять сигнал для АЦП прямо с вывода 5 LM386, который автоматически сбалансирован на половине напряжения питания.
Позже редактировать после того, как я нашел источник схемы, там также есть комментарии, что схема никогда не будет работать с Arduino с подключенным конденсатором, единственным работающим приложением был звуковой детектор, где искажение сигнала не имеет значения.
Пожалуйста, не доверяйте содержанию любого неизвестного веб-сайта, опубликованного анонимусом только потому, что он выглядит как учебник, сделанный кем-то, кто что-то знает.
Отредактируйте, чтобы добавить некоторую информацию о том, как отладить эту проблему.
Во-первых, на приведенной выше схеме замените резистор динамиком и посмотрите, хорош ли звук. Если нет, то посмотрите, что не так с вашим усилителем.
Если он хороший и громкий, без каких-либо искажений, то поставьте резистор обратно.
Используйте последовательный монитор двоичного режима, такой как Realterm, чтобы увидеть, как выглядят ваши данные, последовательный монитор Arduino работает только в режиме Ascii, который превращает байт в три символа ascii, что очень медленно.
Что то вроде этого
void setup() {
Serial.begin(230400); // открывает последовательный порт, устанавливает скорость передачи данных на максимальную или поддерживаемую вашей платой для минимизации задержки
}
void loop()
{
unsigned int temp;
temp = analogRead(0);
temp = temp>>4; //strip low bits to fit in a single byte
Serial.write(temp);
}
Затем посмотрите, как выглядят ваши данные, если у вас есть много 00 или много FF, чем вы знаете, что ваши данные us upper или lower ограничены или что не так с вашим сигналом.
Надеюсь вы в курсе, что АЦП преобразования 100us и провод передачи также вокруг 200us максимальная частота дискретизации можно ожидать составляет около 3 кГц и максимальная полоса пропускания аудио сигнала 1.5 кГц, что составляет половину от Телефония пропускной способности, возможно, вы захотите использовать более быстрый ЦАП и использовать неблокирующее чтение АЦП использовать время в АЦП работает как в этой статье
- Генерация истинного аналогового сигнала с помощью Arduino
- Ошибка в проекте ИК-приемника
- Преобразование int или float в массив байтов в ардуино
- avrdude ser_open() can't set com-state
- Float печатается только 2 десятичных знака после запятой
- ошибка: espcomm_upload_mem failed при загрузке скетча
- Печать массива байтов на экране последовательного монитора Arduino IDE
- Как повторить кусок кода
вы получаете шум, если arduino нет в цепи?, @jsotola
"мне нужны две вещи". Если у вас нет причин думать, что две проблемы взаимосвязаны до такой степени, что одна не может быть решена без решения другой, выберите одну и сделайте свой вопрос об этом., @timemage
Потоковое аудио через ethernet или (боже упаси) Интернет-это очень трудно сделать. Не то, с чем мы можем вам помочь. Также Arduino действительно не может делать аудио, и I2C DAC, вероятно, вторая худшая идея для аудио когда-либо., @Majenko
Разве это не тот же вопрос, что и здесь? https://arduinoprosto.ru/q/81780/generate-a-true-analog-signal-using-arduino Смотрите мой ответ там, то же самое решение, частота дискретизации и выходной конденсатор, С4., @Dorian
Дориан, у них нет никакой ошибки с конденсатором с4, @sanket jain
@sanketjain Это происходит в любой конфигурации, которая у вас есть. Опять то же объяснение, АЦП работает только с положительными напряжениями. C4 удаляет компонент постоянного тока, и ваш микрофонный сигнал просто плавает между -0,7 В и 5,7 В, ограниченный только входными зажимными диодами. Если вы используете ссылку по умолчанию 5 В для АЦП, просто закоротите C4. Это даст входу АЦП чистый и стабильный сигнал около 2,5 В, @Dorian
@dorian Я уже сделал это, поэтому я сказал, что нет ошибки с c4, @sanket jain
Я не понимаю, в этот момент C4 все еще там или нет? Вы закоротили C4, ничего не произошло и после этого вы удалили короткое замыкание или нет?, @Dorian