Съдържание:
- Стъпка 1: Използвани части и софтуер
- Стъпка 2: Кодът
- Стъпка 3: Код за сензор за температура (влажност, налягане) с индикатори за мин/макс
Видео: Микро: битов детектор за ниво на шум: 3 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Това е само кратък пример за детектор за ниво на шум, базиран на micro: bit и Pimoroni enviro enviro: bit.
Микрофонът на околната среда: бит открива нивото на звука и от получената стойност се изчислява позиция на 5x5 LED матрицата и съответният светодиод се активира. Измерените максимални стойности се съхраняват и остават показани на LED матрицата.
Стойностите могат да се показват и в цифри.
Така че това е основно много прост инструмент за откриване на нивото на шума, напр. за експерименти в класната стая.
Описаният метод за показване на действителните и максималните стойности, открити от сензор на микро: бита 5x5 LED матрица, може да се използва и за други параметри като температура, влажност или налягане.
Стъпка 1: Използвани части и софтуер
Хардуер:
- Микро: бит
- Околна среда на Пиморони: бит - идва с три сензора за звук, светлина и цвят и налягане/температура/влажност (20 GBP в Pimoroni)
- Захранване на Pimoroni: бит - за захранване на устройството от батерии (по избор или по друг начин за захранване на микробита, 6 GBP в Pimoroni)
Софтуер:
- Microsoft MakeCode
- Разширението Pimoroni enviro: bit MakeCode
За да заредите скрипта във вашия micro: bit, просто копирайте предоставения шестнадесетичен файл във вашия micro: bit с прикачен enviro: bit.
Стъпка 2: Кодът
Кодът е написан с помощта на Microsoft MakeCode в блоков режим, с помощта на разширението Enviro: Bit. Bellow намирате съответния JavaScript код.
Функцията envirobit.getSoundLevel () чете нивото на звука от сензора, връщайки стойност от 0 до 443.
Константата signal_max определя максимална стойност на динамичния диапазон, която да се показва на LED матрицата, стойностите по -горе ще се третират като същество signal_max. Това ви позволява да оптимизирате чувствителността на устройството за вашето приложение.
Максималната стойност, открита в измервателен кръг, се съхранява във варианта noise_max и остава показана на LED матрицата.
Натискането на бутон „A“нулира шума_макс и изчиства екрана, натискането на бутон „B“показва измерената стойност на шума като действително число.
За да се покаже стойността, стойностите под signal_max се поставят в 25 "контейнера", представени с един светодиод, започвайки от 0 (горе вляво) до 24 (долу вдясно). След това се изчислява позицията x/y и съответният светодиод се включва. Стойностите над signal_max се поставят в контейнер 24. Ако стойността е под noise_max, светодиодите ще бъдат изключени отново.
нека noise_x = 0 нека signal_max = 0 нека шум_5 = 0 нека шум_25 = 0 нека шум_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 temperature.
Параметрите signal_min и signal_max задават минималните и максималните температури (*C), показани на LED матрицата. Тук настройката 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 hPA) би позволило да се покажат тези параметри на LED матрицата.
нека 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}})
Препоръчано:
Arduino Nano-MMA8452Q 3-ос 12-битов/8-битов цифров акселерометър Урок: 4 стъпки
Arduino Nano-MMA8452Q 3-ос 12-битов/8-битов цифров акселерометър Урок: MMA8452Q е интелигентен, триосен, капацитивен, микромашинен акселерометър с 12 бита резолюция. Гъвкави програмируеми от потребителя опции се предлагат с помощта на вградени функции в акселерометъра, конфигурируеми за две прекъсвания
Raspberry Pi MMA8452Q 3-ос 12-битов/8-битов цифров акселерометър Python Урок: 4 стъпки
Raspberry Pi MMA8452Q 3-осен 12-битов/8-битов цифров акселерометър Python Урок: MMA8452Q е интелигентен, триосен, капацитивен, микромашинен акселерометър с 12 бита резолюция. Гъвкави програмируеми от потребителя опции се предлагат с помощта на вградени функции в акселерометъра, конфигурируеми за две прекъсвания
Несигурен измервател или знак за ниво на шум: 4 стъпки (със снимки)
Несигурен измервател или знак за ниво на шум: Обичам да разглеждам творческите проекти на хората. Съвременни инструменти & технологиите ни дават толкова много творчески възможности. Преподавам твърди материали на ученици в гимназия в Нова Зеландия, така че винаги се развивам & изпробвайте нови неща. Thi
Програмиране на микро: битов робот и джойстик: битов контролер с MicroPython: 11 стъпки
Програмиране на микро: битов робот и джойстик: битов контролер с MicroPython: За Robocamp 2019, нашия летен лагер по роботика, млади хора на възраст 10-13 години запояват, програмират и изграждат BBC микро: битов базиран „робот с тегло“, както и програмиране микро: бит, който да използвате като дистанционно управление. Ако в момента сте в Robocamp, карайте ски
Система за предупреждение за опасно ниво на шум: 11 стъпки (със снимки)
Система за предупреждение за опасно ниво на шум: Кухнята за инженерно проектиране на Oshman (OEDK) е най-голямото пространство за създаване в университета Райс, предоставящо място за всички студенти да проектират и прототипират решения на реални предизвикателства. За да служи на тази цел, OEDK разполага с редица електрически инструменти