Оглавление:
- Шаг 1. Используемые детали и программное обеспечение
- Шаг 2: Код
- Шаг 3: Код для датчика температуры (влажности, давления) с указателями минимума / максимума
Видео: Микро-битовый детектор уровня шума: 3 ступени
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Это лишь краткий пример детектора уровня шума на основе micro: bit и Pimoroni enviro: bit.
Микрофон на enviro: bit определяет уровень звука, и по полученному значению рассчитывается позиция на светодиодной матрице 5x5 и активируется соответствующий светодиод. Максимальные измеренные значения сохраняются и отображаются на светодиодной матрице.
Значения также могут отображаться в числах.
Таким образом, это, по сути, очень простой инструмент определения уровня шума, например для экспериментов в классе.
Описанный метод отображения фактических и максимальных значений, обнаруженных датчиком на светодиодной матрице micro: bit 5x5, также может использоваться для других параметров, таких как температура, влажность или давление.
Шаг 1. Используемые детали и программное обеспечение
Аппаратное обеспечение:
- Микро: бит
- Pimoroni enviro: bit - поставляется с тремя датчиками звука, света и цвета, а также давления / температуры / влажности (20 фунтов стерлингов в Pimoroni)
- A Pimoroni power: bit - для питания устройства от батарей (по желанию или любым другим способом для питания микробита, 6 фунтов стерлингов в Pimoroni)
Программное обеспечение:
- Microsoft MakeCode
- Расширение Pimoroni enviro: bit MakeCode
Чтобы загрузить скрипт в ваш micro: bit, просто скопируйте предоставленный шестнадцатеричный файл на ваш micro: bit с прикрепленным enviro: bit.
Шаг 2: Код
Код был написан с использованием Microsoft MakeCode в блочном режиме с использованием расширения Enviro: Bit. Ниже вы найдете соответствующий код JavaScript.
Функция envirobit.getSoundLevel () считывает уровень звука с датчика, возвращая значение от 0 до 443.
Константа signal_max определяет максимальное значение динамического диапазона, отображаемого на светодиодной матрице, значения выше будут обрабатываться как signal_max. Это позволяет оптимизировать чувствительность устройства для вашего приложения.
Максимальное значение, обнаруженное в измерительном круге, сохраняется в варианте noise_max и остается отображенным на светодиодной матрице.
Нажатие кнопки «A» сбрасывает noise_max и очищает экран, нажатие кнопки «B» отображает измеренное значение шума как фактическое число.
Для отображения значения значения ниже signal_max помещаются в 25 «ячеек», представленных одним светодиодом, начиная с 0 (вверху слева) до 24 (внизу справа). Затем рассчитывается положение x / y и включается соответствующий светодиод. Значения выше signal_max помещаются в ячейку 24. Если значение меньше noise_max, светодиоды снова отключаются.
let noise_x = 0let signal_max = 0 let noise_5 = 0 let noise_25 = 0 let noise_max = 0 basic.showString ("Noise") noise_max = 0 noise_25 = 0 noise_5 = 0 signal_max = 250 basic.forever (function () {while (input.buttonIsPressed (Button. B)) {basic.showNumber (envirobit.getSoundLevel ()) basic.showString ("-")} if (input.buttonIsPressed (Button. A)) {noise_max = 0 basic.clearScreen ()} noise_25 = Math.floor (envirobit.getSoundLevel () / signal_max * 25) if (noise_25> 24) {noise_25 = 24} noise_5 = Math.floor (noise_25 / 5) noise_x = noise_25 - noise_5 * 5 led.plot (noise_x, noise_5) basic.pause (200) if (noise_25 noise_max) {noise_max = noise_25}})
Шаг 3: Код для датчика температуры (влажности, давления) с указателями минимума / максимума
Здесь вы найдете код для функции температуры enviro: bit.
Параметры signal_min и signal_max устанавливают минимальную и максимальную температуру (* C), отображаемую на светодиодной матрице. Здесь установка signal_main = 5 и signal_max = 30 приводит к тому, что 5 и 6 * C представлены верхним левым светодиодом (0, 0) и 28/29 * C нижним правым светодиодом (4, 4).
Есть место для оптимизации: при текущем коде повышение и понижение температуры оставляют следы светодиодов, которые либо включены, либо выключены. С другой стороны, это позволяет считывать текущую тенденцию температуры (падение / повышение), поскольку текущее значение отображается мигающим светодиодом.
Замена getTemperature () на getHumidity () или getPressure () и соответствующая настройка значений signal_min и signal_max (например, 0/100% соответственно 950/1150 гПа) позволили бы отобразить эти параметры на светодиодной матрице.
let Temp_x = 0let Temp_5 = 0 let signal_delta = 0 let Temp_25 = 0 let Temp_Min = 0 let signal_min = 0 let Temp_Max = 0 let signal_max = 0 basic.showString ("Temp") signal_max = 30 signal_min = 5 signal_delta = signal_max - signal_min Temp_Max = 0 Temp_Min = 24 basic.forever (function () {if (input.buttonIsPressed (Button. A)) {Temp_Max = 0 Temp_Min = 24 basic.clearScreen ()} while (input.buttonIsPressed (Button. B)) { basic.showNumber (Math.round (envirobit.getTemperature ())) basic.showString ("C")} Temp_25 = Math.floor ((envirobit.getTemperature () - signal_min) / signal_delta * 25) if (Temp_25> 24) {Temp_25 = 24} if (Temp_25 <0) {Temp_25 = 0} Temp_5 = Math.floor (Temp_25 / 5) Temp_x = Temp_25 - Temp_5 * 5 led.plot (Temp_x, Temp_5) basic.pause (100) if (Temp_25 Temp_Min) {led.unplot (Temp_x, Temp_5)} if (Temp_25> Temp_Max) {Temp_Max = Temp_25} if (Temp_25 <Temp_Min) {Temp_Min = Temp_25}})
Рекомендуемые:
Детектор уровня воды: 7 шагов
Детектор уровня воды: ультразвуковой датчик работает по тем же принципам, что и радар. Ультразвуковой датчик может преобразовывать электрическую энергию в акустические волны и наоборот. Знаменитый ультразвуковой датчик HC SR04 генерирует ультразвуковые волны с частотой 40 кГц. Типа
Измеритель или знак уровня небезопасного шума: 4 шага (с изображениями)
Измеритель или знак небезопасного уровня шума: мне нравится смотреть на творческие проекты людей. Современные инструменты и инструменты технологии дают нам так много творческих возможностей. Я преподаю трудные материалы ученикам средней школы в старшей школе в Новой Зеландии, поэтому я всегда развиваюсь & пробовать новые вещи. Ти
Детектор уровня света LDR: открытие и закрытие глаз: 6 шагов
Детектор уровня освещенности LDR: Открывающиеся и закрывающиеся глаза: Всем привет, я надеюсь, что это руководство вам по душе. Любые сомнения, комментарии или исправления будут приняты. Эта схема была реализована как модуль управления для предоставления информации о том, сколько света находится в окружающей среде, чтобы
Детектор уровня коксовой машины - теперь с речью!: 6 шагов (с изображениями)
Детектор уровня коксовой машины - теперь с речью !: Этот проект представляет собой ремикс моего детектора уровня коксовой машины (https://www.instructables.com/id/Coke-Machine-Can-Level-Detector/) с новыми датчиками , и добавление разговорного звука! После того, как я сделал свой первый детектор уровня, я добавил пьезозуммер к g
Слушайте свои мелодии для работы в условиях высокого уровня шума: 16 шагов
Слушайте свои мелодии для работы в условиях высокого уровня шума. Это моя первая попытка решить эту проблему со мной. Проблема: на работе нам не разрешают носить наушники, и, поскольку существует правило 100% защиты слуха, именно так я победил систему. Нам разрешены радиоприемники, но мы находимся в стальном здании и ра