Лабораторные работы Технологии+Бизнес
Цель работы: изучить датчик звука
Задачи:
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 мс.
Далее выключаем светодиоды.
В результате получаем следующий код:
Задание: сделать шумометр, в котором чем выше уровень шума, тем меньше светодиодов будет загораться. Как изменится код программы?