Лабораторные работы Технологии+Бизнес
Цель работы: изучить датчик звука
Задачи:
1. Собрать шумомер
2. Написать программу, управляющую датчиком звука
3. Выполнить все задания
блок схема
Задание: собрать информацию о принципах изготовления датчиков звука, приведите сравнительную таблицу о разных микрофонах.
В этой лабораторной работе мы познакомимся с аналоговым датчиком определения звука и создадим на его основе шумометр. Результаты измерений будут выводиться с помощью светодиодов - чем выше уровень звука, тем больше светодиодов в линейке будет загораться.
Состоит датчик из платы, на котором смотнтированы выходы, усилителя звука, подстроечного резистора и электронного микрофона. Регулятором чувствительности можно выбирать, от какого звука будет срабатывать датчик. Данная плата позволяет перевести звуковые колебания в цифровой сигнал. При колебании мембраны в микрофоне от звуковых волн, изменяется емкость его конденсатора, вследствие чего проявляется изменение напряжения на выходах датчика звука, соответствующее звуковому сигналу.
Сборка лабораторной установки
Подготовим все необходимые нам детали.
Компоненты лабораторной установки:
1. Контроллер
2. Макетная плата
3. Датчик звука
Задание: соберите информацию о компонентах данного датчика.
4. Светодиоды
5. Резисторы 220 Ом
6. Провода
Алгоритм выполения работы:
1. Подключаем светодиоды:
а) катод каждого из светодиодов подключаем к земле через резистор 220 Ом;
б) аноды соединяем с одним из цифровых выводов Ардуино.В нашем случае это 8, 9, 10, 11, 12 и 13
2. Подключаем датчик:
а) соединим выход Gnd с землей
б) Vcc - с питанием 5v
в) подключаем вывод Out к аналоговому порту "А0" Arduino
Работа в среде программирования Arduino IDE
Определяем пин датчика звука и пороговое значение.
Объявим массив пинов для светодиодов
В фугкции setup() устанавливаем пины для светодиодов на выход и пин датчика на вход.
Перед тем как перейти к функции loop() разберем 2 дополнительные функции: turnOnLED(int sensorValue) и turnOffLED(). turnOnLED включает светодиоды и принимает значение сигнала с датчика. turnOffLED выключает светодиоды.
Переходим к функции turnOnLED.
Определим уровень шума.
Так как у нас 6 светодиодов, нужно ограничить значение.
Зажигаем нужное значение светодиодов.
В результате получаем следующую функцию:
Разберем функцию turnOffLED. В цикле выключаем все светодиоды.
Переходим к функции loop()
Считываем сигнал с датчика.
Если значение сигнала больше, чем пороговое, то вызываем функцию зажигания светодиодов turnOnLED
и ждем 100 мс.
Далее выключаем светодиоды.
В результате получаем следующий код:
Задание: сделать шумометр, в котором чем выше уровень шума, тем меньше светодиодов будет загораться. Как изменится код программы?