Датчик уровня звука: различия между версиями
| Строка 30: | Строка 30: | ||
'''Программный код''' | '''Программный код''' | ||
| − | + | // Подключаем необходимые библиотеки | |
#include <OneWire.h> | #include <OneWire.h> | ||
#include <DallasTemperature.h> | #include <DallasTemperature.h> | ||
| + | |||
| + | // Шину данных подключаем к выводу №2 Arduino | ||
| + | #define ONE_WIRE_BUS 2 | ||
| + | |||
| + | // Создаём экземпляр класса для нашей шины и ссылку на него | ||
| + | OneWire oneWire(ONE_WIRE_BUS); | ||
| + | DallasTemperature sensors(&oneWire); | ||
| + | |||
| + | // ФУНКЦИЯ ПРЕДУСТАНОВОК | ||
| + | void setup(void) | ||
| + | { | ||
| + | Serial.begin(9600); // Инициализация серийного порта | ||
| + | sensors.begin(); // Инициализация шины | ||
| + | } | ||
| + | |||
| + | // ОСНОВНОЙ ЦИКЛ | ||
| + | void loop(void) | ||
| + | { | ||
| + | Serial.print("Reading Temperature..."); | ||
| + | // Подаём команду на чтение | ||
| + | sensors.requestTemperatures(); | ||
| + | Serial.println("Read"); | ||
| + | Serial.print("Sensor Temperature 1: "); | ||
| + | // Отображаем значение температуры | ||
| + | Serial.print(sensors.getTempCByIndex(0)); | ||
| + | } | ||
Версия 22:17, 31 мая 2021
Датчик представляет собой небольшую плату с установленным на ней микрофоном, микрофонным усилителем, регулятором чувствительности в виде переменного резистора. Микрофон преобразует звуковые колебания в колебания электрического тока. Сигнал с микрофона необходимо усилить с помощью компаратора L293. Датчик имеет выход с логическим уровнем. Сработал датчик – на выходе появился логический 0. Регулятором чувствительности можно выбирать, от какого звука будет срабатывать датчик - от слабого, громкого или очень громкого звука. Датчик имеет 3 вывода. Назначение выводов следующее:
- Vcc – питание датчика;
- GND – земля;
- OUT - цифровой выход;
Датчик имеет также светодиод, сигнализирующих о наличие низкого уровня на выходе OUT. Наличие цифрового вывода OUT и светодиода уровня позволяет использовать модуль автономно, без подключения к контроллеру.
Технические характеристики
- Напряжение питания: 4-6 В;
- Выход: цифровой;
- Максимальное расстояние обнаружения –5 м;
- Размер модуля: 32×17×15 мм;
- Общий вес: 12.5 г.
Использование датчика
Рассмотрим использование датчика звука для управления лампой с помощью хлопков. При регистрации хлопка, датчик звука выдает на микроконтроллер сигнал низкого уровня. По получении сигнала микроконтроллер через реле переключает состояние лампы (включает/выключает). Для проекта нам понадобятся следующие детали:
- плата Arduino Uno;
- датчик уровня звука;
- блок реле;
- настольная лампа;
- соединительные провода.
Программный код // Подключаем необходимые библиотеки
- include <OneWire.h>
- include <DallasTemperature.h>
// Шину данных подключаем к выводу №2 Arduino
- define ONE_WIRE_BUS 2
// Создаём экземпляр класса для нашей шины и ссылку на него OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire);
// ФУНКЦИЯ ПРЕДУСТАНОВОК void setup(void) {
Serial.begin(9600); // Инициализация серийного порта sensors.begin(); // Инициализация шины
}
// ОСНОВНОЙ ЦИКЛ void loop(void) { Serial.print("Reading Temperature..."); // Подаём команду на чтение sensors.requestTemperatures(); Serial.println("Read"); Serial.print("Sensor Temperature 1: "); // Отображаем значение температуры Serial.print(sensors.getTempCByIndex(0)); }