pavelok

Микрофон + arduino

22 сообщения в этой теме

pavelok    0

Здравствуйте! Собрал приложенную схему, подключил к arduino uno. Ожидал я получить громкость окружающей среды, но получилось как-то не очень. Значения на аналоговом входе в тишине пляшут от 310 до 380. Если дуть в микрофон, то разброс значений от 0 до 555. На музыку или голос почти не реагирует.

Что я делаю или понимаю не так? Спасибо.

BCezcj2LPuI.jpg

Безымянный.png

Изменено пользователем pavelok

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Pont 007    1 513

ОУ свиснул. На R5 10p повесить, а так осциллограф и генератор в помощь.

Изменено пользователем Pont 007

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Lexter    219
3 минуты назад, pavelok сказал:

Что я делаю или понимаю не так?

Вы бросаетесь править коды, хотя сначала надо проверить работоспособность схемы.

У вас из измериловки хоть что-нибудь есть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
pavelok    0
Только что, Lexter сказал:

Вы бросаетесь править коды, хотя сначала надо проверить работоспособность схемы.

У вас из измериловки хоть что-нибудь есть?

 

Схема рабочая, подключал светодиод на выход, при возмущении микрофона, светодиод также загорается, правда чувствительность так себе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Lexter    219
Только что, pavelok сказал:

Схема рабочая, подключал светодиод на выход

Ну... если рассматривать светодиод как простейший однобитный осциллограф, то может проверенная с его помощью схема и выглядит рабочей.  Вот только это не значит, что она работает. :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
pavelok    0
4 минуты назад, Pont 007 сказал:

ОУ свиснул. На R5 10p повесить, а так осциллограф и генератор в помощь.

Повесил 15пФ, ничего толком не поменялось, значения в среднем на 100 только повысились. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Pont 007    1 513

А ПК свою приблуду подцепить на вход-выход звуковой карты и прогнать на корректность работы УНЧ c помощью RMAA, или хотя-бы колонку подключить. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
pavelok    0
6 минут назад, Pont 007 сказал:

А ПК свою приблуду подцепить на вход-выход звуковой карты и прогнать на корректность работы УНЧ c помощью RMAA, или хотя-бы колонку подключить. 

А вот об этом я не подумал. Спасибо! Подцепил к колонкам, когда дую, звук нормальный, на голос тишина, на музыку дребезг.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
pavelok    0
15 минут назад, Pont 007 сказал:

Ну и ? Половина питания на выходе усилителя есть ? 

Сейчас уже нет возможности проверить. Но если светодиод трёхвольтовый горит, а питание 5в, то наверное уж есть

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
pavelok    0
11 минуту назад, Pont 007 сказал:

2.2 вольта на светодиоде в тишину, 3.5 если стучать по микрофону.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Pont 007    1 513

Ну без сигнала есть у тебя 1/2 питания или нету ? Мне погодать ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
pavelok    0
Только что, Pont 007 сказал:

Ну без сигнала есть у тебя 1/2 питания или нету ? Мне погодать ?

В тишину 2.2, т.е. нет. Или я не так вас понимаю? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Pont 007    1 513

Ставь что бы была. Без сигнала.

Питаешь то чем ? Надеюсь БП хороший, с линейной стабилизацией, а не зарядка от мобилы которую ОУ из-за помех может и не перенисти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
pavelok    0
10 минут назад, Pont 007 сказал:

Ставь что бы была. Без сигнала.

Питаешь то чем ? Надеюсь БП хороший, с линейной стабилизацией, а не зарядка от мобилы которую ОУ из-за помех может и не перенисти.

Утром попробую. Спасибо. Питаю напрямую с ардуино Уно. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
oldmao    1 451

Параллельно R3 поставь конденсатор 10 мкф, а то сейчас усиливаешь пульсации питания в той же степени, что и сигнал с микрофона. И чего ты там вольтметром ловить собрался, если на выходе будет переменный сигнал? Если нужно напряжение, пропорциональное громкости, то его сперва выпрямить нужно.
PS Питание на микрофон тоже отфильтруй RC-цепочкой 1 кОм + 100 мкф.

Изменено пользователем oldmao

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Pont 007    1 513
1 час назад, oldmao сказал:

И чего ты там вольтметром ловить собрался, если на выходе будет переменный сигнал? 

Конечно, проверять то что вышло не нужно, и проверять режимы по постоянки не нужно ? Именно с этого и нужно начинать запуск любого УНЧ, а гадать какие у него режимы по постоянки это удел идиотов, а гарантировать отсутствие косяков в его монтаже ни может ни кто.

Изменено пользователем Pont 007

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
oldmao    1 451

Так он ловит вольтметром постоянное напряжение на выходе!

5 часов назад, pavelok сказал:

2.2 вольта на светодиоде в тишину, 3.5 если стучать по микрофону.

Оно и должно быть около половины питания всегда, независимо от наличия/отсутствия сигнала с микрофона.

А для его целей - нужно знать переменное напряжение. Вариантов два: оцифровывать с частотой несколько кГц (теорему Котельникова-Шеннона и диапазон звуковых частот знаете?) и анализировать или тупо выпрямить и уже работать с этим напряжением, пропорциональным интегральному шуму. Второй подход намного проще.

Изменено пользователем oldmao

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Pont 007    1 513
20 часов назад, oldmao сказал:

Так он ловит вольтметром постоянное напряжение на выходе!

Это как ? Если у него нету  вольтметра ? А на схеме у него после ОУ электролит. У него даже на колонку звука нету, тут вывод простой добится правельности работы схему усилителя из 4 деталей.

Вот же он пишет: 

"Подцепил к колонкам, когда дую, звук нормальный, на голос тишина, на музыку дребезг."

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

 

Изменено пользователем Pont 007

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
oldmao    1 451

BCezcj2LPuI.jpg

Если у него на V_OUT есть постоянное напряжение - то вариантов ровно два:
1. Пробит С3
2. На ардуине ножка настроена не на вход, а на выход.

А вот на V_OUT_UC и должно быть полпитания всегда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Pont 007    1 513
49 минут назад, oldmao сказал:

Если у него на V_OUT есть постоянное напряжение - то вариантов ровно два:
1. Пробит С3
2. На ардуине ножка настроена не на вход, а на выход.

Ставлю на возбуждение ОУ, усугублённое плохим питанием. Второе сразу вычёркиваем не работает даже если "Подцепил к колонкам", надеюсь АС были активными. Хотя ТС уже куда-то делся гадать смысла нету.

Изменено пользователем Pont 007

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: Lost13
      помогите с простиньким скетчом для ардуино уно
      задача :
      на вход (А0) подается логический сигнал короткими импульсами, и если  промежуток между сигналами меньше 2-х секунд , то на выходе (d2) загорается светодиод на 3 секунды, если промежуток между сигналами больше 2-х секунд то он игнорируется 
    • Автор: SaintYGL
      Здравствуйте!
      Данная тема посвящена разработке устройства, имеющего название "Лампа с беспроводным управлением на Arduino".
      Краткая предыстория: я - студент последнего курса техникума, а данная тема - мой дипломный проект. Выбран был в спешке, далеко не самое дальновидное решение, как показала практика, особенно с учётом того, что тема была взята здесь же, на сайте паяльник, в этой статье, и имела незаконченное состояние, из-за чего сейчас и возникают большие неприятности. 
      Концепция: устройство имеет Bluetooth-модуль, по которому соединяется с телефоном, посредством чего и осуществляется беспроводное управление. Также к Arduino подключено двухканальное реле, которое переключает ток, идущий к патронам, в которые вкручены лампы. По команде, переданной по bluetooth, реле переключается в одно из положений (обе выкл.  / 1 вкл, 2 выкл. / 1 выкл, 2 вкл. / обе вкл.)
      Загвоздки: 1) В статье всё осуществляется с помощью отдельного микроконтроллера ATMega 328p, расположенного на макетной плате, в то время как Arduino используется лишь как программатор. Мне же необходимо, чтобы данное устройство работало не с отдельным микроконтроллером, а с самой Arduino. Кварцевый резонатор в ней есть, кнопка есть, диоды есть, bluetooth-модуль и реле докуплены.
      2) Если копировать код из статьи (а точнее перепечатать его со скриншота) и вставить в Arduino IDE, то появятся следующие ошибки: 
      Lamp: 5: error: a function-definition is not allowed here before '{' token
      D: \ Saint \ \ \ \ \ \ \ "\ \ \ \ \ \ \ \ \ Lamp \ Lamp.ino: In function 'void loop ()':
      Lamp: 16: error: 'incomingInt' was not declared in this scope
      Lamp: 27: error: 'class HardwareSerial' has no member named 'printIn'
      Lamp: 30: error: expected '}' at end of input
       
      Сам код, чтобы его не нужно было также перепечатывать со скриншота:
      #include <Wire.h>  int incomingInt = 0  void setup ( )  {  Serial.begin (9600) ;  Serial.setTimeout (1000) ;  pinMode (7, OUTPUT) ;  pinMode (5, OUTPUT) ;  }  void loop ( )  {  if (Serial.available ( ) > 0)  {  incomingInt = Serial.parseInt ();  if (incomingInt = 500)  {  digitalWrite (5, HIGH) ;  }  else digitalWrite (5, LOW) ;  if (incomingInt == 422)  {  digitalWrite (7, HIGH) ;  }  else digitalWrite (7, LOW) ;  Serial.printIn(incomingInt) ;  }  }   
      На данный момент это всё, по мере развития проекта тема будет мной дополняться. Также я буду рад любому совету, который поможет разобраться с этим устройством. Связаться со мной можно через ВКонтакте: vk.com/sainty_gl
    • Автор: mefi73
      Кроме классических Arduino с микроконтроллерами Atmel существуют так же платы, в основе которых лежат другие микроконтроллеры. Одной из таких ардуин является модель 101, в основе которой находится Intel Curie. Выглядит она так:

      Поскольку ардуино это проект открытый, то изготавливать совместимые платы может кто угодно, иногда изменяя схему.
      Так вот, у компании DFrobot свой взгляд на arduino 101. Представляю вашему вниманию DFRobot Curie Nano.


      Для сравнения приведу фото этой платы с некоторыми другими (леонардо, esp32, NodeMCU). Плата довольно компактна.

      Не вижу смысла перепечатывать характеристики микроконтроллера из даташита , просто приведу содержимое первой страницы.

      расположение и назначение выводов DFRobot Curie Nano представлено на следующем изображении.

      Итак, на борту 32-битный микроконтроллер, работающий на частоте 32 мегагерца. Есть встроенный 6-осевой акселерометр, Bluetooth, часы реального времени. То есть микроконтроллер изначально задуман для создания носимых умных устройств. К тому же DFRobot Curie Nano меньше по размеру, чем arduino 101.
      Для программирования DFRobot Curie Nano можно использовать фирменную IDE от Intel (но я её не прбовал), либо ArduinoIDE. На ArduinoIDE я и остановлюсь.
      Что бы ArduinoIDE могла работать с Curie, необходимо добавить поддержку этого микроконтроллера в «менеджере плат».

      Всего необходимо скачать чуть менее 200 мегабайт. На скриншоте только один из скачиваемых пакетов.

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

      Вот и вся установка.
      Стоит отметить, что работа с ардуино 101 (и соответственно с DFRobot Curie Nano) ничем не отличается от других плат ардуино, построенных на микроконтроллерах AVR. Дело в том, что с "ядром" Intel Curie Boards устанавливаются библиотеки, которые заменяют встроенные в ArduinoIDE библиотеки (Wire, SPI, EEPROM, servo и так далее). Кроме того, в комплект пакета поддержки входят библиотеки, специально предгазначенные для микроконтроллера Intel Curie - CurieBLE для работы с bluetooth, CurieI2S, CurieIMU для работы со встроенным датчиком положения, power для спящего режима, CurieTime для работы со встроенным RTC, CurieTimerOne в пояснениях не нуждается.
      Для прошивки микроконтроллера отведено 155682 байт, это больше чем у большинства микроконтроллеров AVR, используемых в платах ардуино. Но, одна и та же программа может занимать разный объем в микроконтроллерах разной архитектуры.  Я решил сравнить объем программ, компмллируемых для Intel Curie и ATmega 328p (arduino nano). Итак...

      С ATmega328p всё закономерно, больше объем скетча - больше памяти занимает скомпилированный код. А вот с Intel Curie не все так просто. Даже пустой скетч занимает 31% памяти. Но далее с ростом скетча рост скомпилированной программы значительно меньше, чем у ATmega328p.
      На данном примере я покажу совместную работу встроенной в ядро Intel Curie библиотеки и библиотеки U8g2. Это скетч простых часов, которые выводят данные на дисплей.
      #include <CurieTime.h> #include <U8g2lib.h> U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0,U8X8_PIN_NONE); char c_time[10]; void setup() {   u8g2.begin(); } void loop() { int i_hour=hour(); //получаем время: час, int i_minute=minute(); //минуты, int i_second=second(); //секунды и помещаем их в соответствующие переменные String s_time = String(i_hour) + ":" + String(i_minute) + ":" + String(i_second); //конактенация и одновременный пере s_time.toCharArray(c_time, 10); //преобразование переменной типа string в тип char   u8g2.firstPage(); //вывод данных на дисплей   do {   u8g2.setFont(u8g2_font_ncenB14_tr); //выбор шрифта   u8g2.drawStr(30, 36, c_time); //эта функция может вывести только значение переменной типа char   }     while ( u8g2.nextPage() ); }
      Создатели arduino 101 хорошо поработали над совместимостью исходного кода, предназначенного для микроконтроллеров AVR, с микроконтроллером Intel Curie. То есть,  большинство сторонних библиотек, написанных для arduino, совместимы так же и с DFRobot Curie Nano.
      Подробно рассматривать библиотеки, поставляемые с ядром Intel Curie, я не буду. Так как примеров, поставляемых с ядром, достаточно для понимания их работы. Отдельного внимания заслуживает библиотека CurieBLE и собственно работа с BLE, но это тема отдельной статьи.
      Кроме того, на базе Curie Nano можно построить нейронную сеть при помощи Curie's neuron SDK, вот только библиотека платная и стоит 19$.
      P.S. DFRobot Curie Nano мне очень понравилась. Уже есть огромный план по использованию этой платы по назначению, то есть для создания носимого устройства с применением возможностей микроконтроллера Intel Curie (часы с навигацией и расчетом астрономических событий для туристов и фотографов)
      Отдельная благодарность магазину dfrobot.com за предоставленную на обзор DFRobot Curie Nano.
       
    • Автор: amcb
      Дано: Микроавтобус, возящий туристов по историческим местам. Автомагнитола JVC с AUX input. Динамический микрофон, а ля Shure SM58 (Native chinese vers)). Умная, эрудированная тетя в возрасте, с тихим голосом (а ля гид)..
      Спрашиваю уважаемый форум о схемке преампа, желательно с переменным резистором, для некоторого усиления микрофонного сигнала, в то же время неспособного спалить линейный вход магнитолы.
      Заранее спасибо.
       
    • Автор: Krokodil007
      Продам гарнитуры ЯА-28М, новые, с хранения, в упаковках.
      В наличии 15шт. по 1200 руб/шт.