Датчик уровня звука: различия между версиями

Материал из me-robotics wiki
 
(не показаны 2 промежуточные версии 1 участника)
Строка 6: Строка 6:
 
* '''OUT''' - цифровой выход;
 
* '''OUT''' - цифровой выход;
  
−
Датчик имеет также светодиод, сигнализирующих о наличие низкого уровня на  выходе OUT. Наличие цифрового вывода OUT и светодиода уровня позволяет использовать модуль автономно, без подключения к контроллеру.
+
Датчик имеет также светодиод, сигнализирующих о наличие низкого уровня на выходе OUT. Наличие цифрового вывода OUT и светодиода уровня позволяет использовать модуль автономно, без подключения к контроллеру.
  
 
'''Технические характеристики'''
 
'''Технические характеристики'''
  
−
* Напряжение питания: 4-6 В;
+
*Напряжение питания: 4-6 В;
−
* Выход: цифровой;
+
*Выход: цифровой;
−
* Максимальное расстояние обнаружения –5 м;
+
*Максимальное расстояние обнаружения –5 м;
−
* Размер модуля: 32×17×15 мм;
+
*Размер модуля: 32×17×15 мм;
−
* Общий вес: 12.5 г.
+
*Общий вес: 12.5 г.
  
 
[[Файл:Схема с датчиком .png|слева|мини|Схема с датчиком ]]
 
[[Файл:Схема с датчиком .png|слева|мини|Схема с датчиком ]]
 +
 +
 
'''Использование датчика'''
 
'''Использование датчика'''
  
 
Рассмотрим использование датчика звука для управления лампой с помощью хлопков. При регистрации хлопка, датчик звука выдает на микроконтроллер сигнал низкого уровня. По получении сигнала микроконтроллер через реле переключает состояние лампы (включает/выключает). Для проекта нам понадобятся следующие детали:
 
Рассмотрим использование датчика звука для управления лампой с помощью хлопков. При регистрации хлопка, датчик звука выдает на микроконтроллер сигнал низкого уровня. По получении сигнала микроконтроллер через реле переключает состояние лампы (включает/выключает). Для проекта нам понадобятся следующие детали:
  
−
* плата Arduino Uno;
+
*плата Arduino Uno;
−
* датчик уровня звука;
+
*датчик уровня звука;
−
* блок реле;
+
*блок реле;
−
* настольная лампа;
+
*настольная лампа;
−
* соединительные провода.
+
*соединительные провода.
  
  
  
 
'''Программный код'''
 
'''Программный код'''
−
// Подключаем необходимые библиотеки
+
<code>// контакт подключения выхода OUT датчика
−
#include <OneWire.h>
+
int soundPin=2;
−
#include <DallasTemperature.h>
+
// контакт подключения выхода реле
−
 
+
int relayPin=8;
−
// Шину данных подключаем к выводу №2 Arduino
+
// состояние лампы
−
#define ONE_WIRE_BUS 2
+
// true - включено, false - выключено</code>
−
 
+
boolean statuslamp;
−
// Создаём экземпляр класса для нашей шины и ссылку на него
+
−
OneWire oneWire(ONE_WIRE_BUS);
+
void setup()
−
DallasTemperature sensors(&oneWire);
+
<code>{
−
 
+
// настройка вывода реле в режим OUTPUT
−
// ФУНКЦИЯ ПРЕДУСТАНОВОК
+
pinMode(relayPin,OUTPUT);
−
void setup(void)
+
// начальное состояние - лампа выключена
−
{
+
statuslamp=false;</code>
−
  Serial.begin(9600); // Инициализация серийного порта
+
digitalWrite(relayPin,LOW);
−
  sensors.begin(); // Инициализация шины
+
}
−
}
+
−
 
+
void loop()
−
// ОСНОВНОЙ ЦИКЛ
+
<code>{
−
void loop(void)
+
// проверяем значение на выводе OUT датчика звука
−
{
+
if(digitalRead(soundPin)==0) // регистрация хлопка
−
Serial.print("Reading Temperature...");
+
{
−
// Подаём команду на чтение
+
// поменять статус лампы
−
sensors.requestTemperatures();
+
statuslamp=!statuslamp;
−
Serial.println("Read");
+
// переключить лампу
−
Serial.print("Sensor Temperature 1: ");
+
digitalWrite(relayPin,statuslamp);
−
// Отображаем значение температуры
+
// задержка, "дребезга" хлопков
−
Serial.print(sensors.getTempCByIndex(0));
+
delay(10);</code>
−
}
+
}
 +
}

Текущая версия на 00:17, 12 мая 2022

Датчик уровня звука

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

  • Vcc – питание датчика;
  • GND – земля;
  • OUT - цифровой выход;

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

Технические характеристики

  • Напряжение питания: 4-6 В;
  • Выход: цифровой;
  • Максимальное расстояние обнаружения –5 м;
  • Размер модуля: 32×17×15 мм;
  • Общий вес: 12.5 г.
Схема с датчиком


Использование датчика

Рассмотрим использование датчика звука для управления лампой с помощью хлопков. При регистрации хлопка, датчик звука выдает на микроконтроллер сигнал низкого уровня. По получении сигнала микроконтроллер через реле переключает состояние лампы (включает/выключает). Для проекта нам понадобятся следующие детали:

  • плата Arduino Uno;
  • датчик уровня звука;
  • блок реле;
  • настольная лампа;
  • соединительные провода.


Программный код

// контакт подключения выхода OUT датчика
int soundPin=2;
// контакт подключения выхода реле
int relayPin=8;
// состояние лампы
// true - включено, false - выключено
boolean statuslamp; 

void setup()
{
// настройка вывода реле в режим OUTPUT
pinMode(relayPin,OUTPUT);
// начальное состояние - лампа выключена
statuslamp=false;
digitalWrite(relayPin,LOW);
}

void loop()
{
// проверяем значение на выводе OUT датчика звука
if(digitalRead(soundPin)==0) // регистрация хлопка
{
// поменять статус лампы
statuslamp=!statuslamp;
// переключить лампу
digitalWrite(relayPin,statuslamp);
// задержка, "дребезга" хлопков
delay(10);
}
}