Датчик звука Arduino показывает только значения между 25 - 29 - PullRequest
1 голос
/ 16 июня 2019

Датчик звука Arduino не дает точных значений

Я пробовал читать пин-код с D0, а также с аналогового на A0. Пин постоянно дает мне 1, а A0 дает мне почти исключительно значение 26 и может увеличиваться до 29, если я сильно удару по датчику.

void setup() {
    pinMode(A0, INPUT); // changes nothing
}
void loop() {
    int soundVal;
    soundVal = analogRead(A0);
    Serial.print("Sound = ");
    Serial.println(soundVal, DEC);
    delay(500);
}

Я ожидаю получить значение от 0 до 1024 или что-то подобное, но я получаю значения только от 25 до 29, что делает его чрезвычайно трудным для чтения, если звук высокий или низкий, а также если звук был обнаружен

Редактировать: я подключил GRD на звуковом датчике к GRD на моем Arduino, A0 от звукового датчика к A0 на Arduino, контакт + на звуковом датчике до 5 В и оставил вывод D0 на сенсоре звука нетронутым, так как он мне действительно не нужен.

Ответы [ 2 ]

1 голос
/ 16 июня 2019

Давайте начнем с

Я пробовал читать пин-код с D0, а также с аналогового на A0

В зависимости от датчика и того, что вы хотитедостичь вы можете вы один над другим, но важно знать основные различия.Цифровые выводы имеют только 2 состояния (ВЫСОКОЕ и НИЗКОЕ), которые вы можете видеть как 1 и 0. Подробнее о цифровых выводах здесь

Хотя значение аналогового вывода действительно может быть в диапазоне от 0 до+1023.Подробнее об аналоговых выводах здесь

Теперь, когда мы это очистим.Давайте перейдем к:

Пин постоянно дает мне 1, а A0 дает мне почти исключительно значение 26 и может увеличиваться до 29, если я сильно удару по датчику.

Очевидно, что на ваши контакты подается некоторое напряжение.Я думаю, что здесь происходит одна из двух вещей.

  1. Этот переход с 26-29 - не что иное, как стандартное значение, изменяющееся из-за точности платы и некоторых других факторов среды.(Который также может быть неисправен или неправильно подключен)

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

Когда дело доходит до кода, это просто, вы делаете это правильно.Приложите схему или предоставьте информацию о своей схеме, если вам нужна более подробная помощь.

0 голосов
/ 16 июня 2019

Кажется, будто звуковой датчик работает, но на самом деле заботится только об изменениях звука, ДЕЙСТВИТЕЛЬНО близких к нему, поэтому цифры на самом деле не меняются. Решение: купите другой звуковой датчик или адаптируйте его соответствующим образом.

...