Главная страница
Навигация по странице:

  • Подключение к ардуино define sensorPin 7

  • define sensorPin 7

  • Звуковые датчики. доклад звуковые датчики. Звуковой датчик на плате Arduino Описание потребности в датчике


    Скачать 14.45 Kb.
    НазваниеЗвуковой датчик на плате Arduino Описание потребности в датчике
    АнкорЗвуковые датчики
    Дата01.03.2022
    Размер14.45 Kb.
    Формат файлаdocx
    Имя файладоклад звуковые датчики.docx
    ТипДокументы
    #379253



    Звуковой датчик на плате Arduino
    Описание потребности в датчике

    Датчик предназначен для слежения за уровнем шума или обнаружения громких сигналов: хлопков, стуков или свиста.
    Принцип действия
    Датчик представляет собой небольшую плату с установленным на ней микрофоном, микрофонным усилителем, регулятором чувствительности в виде переменного резистора. Микрофон преобразует звуковые колебания в колебания электрического тока. Сигнал с микрофона необходимо усилить с помощью компаратора. Датчик имеет выход с логическим уровнем. Сработал датчик – на выходе появился логический 0.  Регулятором чувствительности можно выбирать, от какого звука будет срабатывать датчик - от слабого, громкого или очень громкого звука. Датчик имеет 3 вывода. Назначение выводов следующее:


    • Vcc – питание датчика;

    • GND(от ground) – земля;

    • OUT - цифровой выход;


    Датчик имеет также светодиод, сигнализирующих о наличие низкого уровня на  выходе OUT. Наличие цифрового вывода OUT и светодиода уровня позволяет использовать модуль автономно, без подключения к контроллеру.
    Специфика
    Датчик может улавливать звуки различной громкости с помощью регулировки чувствительности микрофона, однако он не показывает конкретного уровня громкости в децибелах, т. е. улавливает конкретно наличие звука
    Подключение к ардуино
    #define sensorPin 7
    // Переменная для хранения времени, когда произошло последнее событие

    unsigned long lastEvent = 0;
    void setup()

    {

    // Настраиваем вывод, к которому подключен датчик, как вход
    pinMode(sensorPin, INPUT);

    Serial.begin(9600);

    }
    void loop()

    {

    // Прочитать показания датчика

    int sensorData = digitalRead(sensorPin);
    // Если на вывод подан низкий логический уровень, то звук обнаружен

    if (sensorData == LOW)

    {

    // Если прошло 25 мс с момента последнего состояния низкого логического уровня,

    // это значит, что обнаружен хлопок, а не какие-либо ложные звуки

    if (millis() - lastEvent > 25)

    {

    Serial.println("Clap detected!");

    }
    // Запомнить, когда произошло последнее событие

    lastEvent = millis();

    }

    }

    Пример применения датчика для выполнения какой-либо задачи:
    Включение лампочки по щелчку пальцев.
    #define sensorPin 7

    #define relayPin 8
    // Переменная для хранения времени, когда произошло последнее событие

    unsigned long lastEvent = 0;

    // Переменная для хранения состояния реле

    boolean relayState = false;
    void setup()

    {

    pinMode(relayPin, OUTPUT);
    // Настроить вывод, подключенный к реле, как выход

    pinMode(sensorPin, INPUT);
    // Настроить вывод, подключенный к датчику, как вход

    }
    void loop()

    {

    // Прочитать показания датчика

    int sensorData = digitalRead(sensorPin);
    // Если на вывод подан низкий логический уровень, то звук обнаружен

    if (sensorData == LOW)

    {
    // Если прошло 25 мс с момента последнего состояния низкого логического уровня,

    // это значит, что обнаружен хлопок, а не какие-либо ложные звуки

    if (millis() - lastEvent > 25)

    {

    // изменить переменную состояния реле и установить состояние на выходе

    relayState = !relayState;

    digitalWrite(relayPin, relayState ? HIGH : LOW);

    }
    // Запомнить, когда произошло последнее событие

    lastEvent = millis();

    }

    }


    написать администратору сайта