Mündəricat:
- Addım 1: İstifadə olunan hissələr və proqram
- Addım 2: Kod
- Addım 3: Min/Maks Göstəriciləri olan İstilik (Nəmlik, Təzyiq) Sensoru üçün Kod
Video: Mikro: bit səs -küy səviyyəsi detektoru: 3 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Bu mikro: bit və Pimoroni mühiti: bitə əsaslanan səs -küy səviyyəsi detektoru üçün qısa bir nümunədir.
Ətrafdakı mikrofon: bit səs səviyyəsini algılar və nəticədə 5x5 LED matrisində bir mövqe hesablanır və müvafiq LED aktiv olur. Ölçülmüş maksimum dəyərlər LED matrisində saxlanılır və göstərilir.
Dəyərlər rəqəmlərlə də göstərilə bilər.
Beləliklə, əsasən çox sadə bir səs -küy səviyyəsi aşkarlama vasitəsidir, məsələn. sinif otağında təcrübələr üçün.
Sensor tərəfindən aşkar edilən həqiqi və maksimum dəyərləri göstərmək üçün təsvir edilən üsul 5x5 bitlik LED matris, temperatur, rütubət və ya təzyiq kimi digər parametrlər üçün də istifadə edilə bilər.
Addım 1: İstifadə olunan hissələr və proqram
Avadanlıq:
- Mikro: bit
- Pimoroni mühiti: bit - səs, işıq və rəng və təzyiq/temperatur/rütubət üçün üç sensorla gəlir (Pimoroni -də 20 GBP)
- Pimoroni gücü: bit - cihazı batareyalardan gücləndirmək üçün (isteğe bağlı olaraq və ya mikrobiti gücləndirmək üçün başqa bir yolla, Pimoroni -də 6 GBP)
Proqram təminatı:
- Microsoft MakeCode
- Pimoroni mühiti: bit MakeCode uzantısı
Ssenarini mikro: bit-ə yükləmək üçün, verilən hex-faylını micro: bit-ə bir enviro: bit əlavə edərək kopyalayın.
Addım 2: Kod
Kod, Enviro: Bit uzantısından istifadə edərək blok rejimində Microsoft MakeCode istifadə edərək yazılmışdır. Bellow, uyğun JavaScript Kodunu tapırsınız.
Envirobit.getSoundLevel () funksiyası sensordan səs səviyyəsini oxuyur və 0 -dan 443 -ə qədər bir dəyər qaytarır.
Sabit signal_max, LED matrisində göstəriləcək dinamik aralığın maksimum dəyərini təyin edir, yuxarıdakı dəyərlər bir signal_max olaraq qəbul ediləcək. Bu, tətbiqiniz üçün cihazın həssaslığını optimallaşdırmağa imkan verir.
Bir ölçü dairəsində aşkar edilən maksimum dəyər, noise_max variantında saxlanılır və LED matrisində qalır.
"A" düyməsinə basaraq noise_max sıfırlanır və ekranı təmizləyir, "B" düyməsinə basaraq ölçülmüş səs -küy dəyərini həqiqi rəqəm olaraq göstərir.
Dəyəri göstərmək üçün signal_max altındakı dəyərlər 0 (yuxarı sol) ilə 24 (aşağı sağ) başlayaraq bir LED ilə təmsil olunan 25 "zibil qutusuna" yerləşdirilir. Sonra x/y mövqeyi hesablanır və müvafiq LED yandırılır. Signal_max -dan yuxarı olan dəyərlər 24 -cü qutuya yerləşdirilir. Əgər dəyər noise_max -dan aşağı olarsa, LEDlər yenidən dəyişdiriləcək.
gürültü_x = 0 burax siqnal_max = 0 səs -küy_5 = 0 səs -küy_25 = 0 səs -küy_max = 0 əsas.showString ("Səs -küy") səs_max = 0 səs -küy_25 = 0 səs -küy_5 = 0 siqnal_max = 250 əsas. sonsuz (funksiya () {zamanı (giriş).buttonIsPressed (Button. B)) {basic.showNumber (envirobit.getSoundLevel ()) basic.showString ("-")} if (input.buttonIsPressed (Button. A)) {noise_max = 0 basic.clearScreen ()} gürültü_25 = Math.floor (envirobit.getSoundLevel () / signal_max * 25) əgər (səs -küy_25> 24) {səs -küy_25 = 24} səs -küy_5 = Math.floor (səs -küy_25 / 5) səs -küy = səs_25 - gürültü_5 * 5 led.plot (səs -küy, səs -küy_5) əsas.pauza (200) əgər (səs -küy_25 səs_max) {səs_max = səs -küy_25}})
Addım 3: Min/Maks Göstəriciləri olan İstilik (Nəmlik, Təzyiq) Sensoru üçün Kod
Burada enviro: bit temperatur funksiyası üçün bir kod tapa bilərsiniz.
Signal_min və signal_max parametrləri LED matrisində göstərilən minimum və maksimum temperaturları (*C) təyin edir. Burada signal_main = 5 və signal_max = 30 ayarı 5 və 6*C ilə nəticələnir, sol üst LED (0, 0) və 28/29 C aşağı sağ LED (4, 4) ilə təmsil olunur.
Optimallaşdırma üçün bir yer var: mövcud kod ilə yüksələn və aşağı düşən temperaturlar LED -lərin izini buraxır və ya yandırır. Digər tərəfdən bu, mövcud temperatur meylini (düşmə/yüksəlmə) oxumağa imkan verir, çünki cari dəyər yanıb -sönən LED ilə göstərilir.
GetTumperature () funksiyasını getHumidity () və ya getPressure () ilə əvəz etmək və buna uyğun olaraq signal_min və signal_max dəyərlərini tənzimləmək (məsələn, 0/100 % sırasıyla 950/1150 hPA) bu parametrləri LED matrisində göstərməyə imkan verir.
let Temp_x = 0let Temp_5 = 0 let signal_delta = 0 olsun Temp_25 = 0 olsun Temp_Min = 0 olsun signal_min = 0 olsun Temp_Max = 0 olsun siqnal_max = 0 əsas olsun. 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} əgər (Temp_25 <Temp_Min) {Temp_Min = Temp_25}})
Tövsiyə:
Su səviyyəsi detektoru: 7 addım
Su Səviyyə Dedektoru: Ultrasonik sensor bir radar sistemi ilə eyni prinsiplər üzərində işləyir. Ultrasonik sensor elektrik enerjisini akustik dalğalara və əksinə çevirə bilər. Məşhur HC SR04 ultrasəs sensoru 40 kHz tezlikdə ultrasəs dalğaları yaradır
Yenilənmiş bir VFD -dən səs səviyyəsi ölçən: 7 addım
Yenilənmiş bir VFD -dən Səs Səviyyə Ölçən: VFD - Vakuum Floresan Göstəricilər, bir növ Ekran Texnologiyası Dinozavrı, hələ də olduqca gözəl və sərin, bir çox köhnəlmiş və baxımsız ev elektronika cihazlarında tapıla bilər. Onları ataq? Noooo hələ də onlardan istifadə edə bilərik. Bir az zəhmət çəkdi
Səs/Səs Səviyyə Göstəricisi: 10 addım
Səs/Səs Səviyyə Göstəricisi: Bu layihədə, əməliyyat gücləndiricilərindən istifadə edərək sadə bir səs səviyyəsi göstəricisi qurmağı sizə göstərəcəyəm. Qeyd: Sual vermək üçün zəhmət olmasa Ekspertdən soruşun saytına daxil olun.Faydalı Əlavə Videolar: Çörək lövhəsində simulyasiya edilmiş dövrə (Proto
Səs Gücləndiricisində Səs, Bas və Tiz Dövrü: 11 Addım
Səs Gücləndiricisində Həcm, Bass və Tiz Dövrə: Salam dostum, Bu gün Səs, bas və Tizdən ibarət bir dövrə hazırlayacağam. Bu dövrə gücləndiricinin və basın həcmini idarə edəcək, həmçinin gücləndiricinin zirvəsini də idarə edəcək. dövrə yalnız bir kanallı audio ampl üçün olacaq
Su səviyyəsi detektoru: 6 addım
Su səviyyəsi detektoru: