Përmbajtje:

Mikro: Zbuluesi i nivelit të zhurmës së bitit: 3 hapa
Mikro: Zbuluesi i nivelit të zhurmës së bitit: 3 hapa

Video: Mikro: Zbuluesi i nivelit të zhurmës së bitit: 3 hapa

Video: Mikro: Zbuluesi i nivelit të zhurmës së bitit: 3 hapa
Video: Check out the Ulanzi UW-MIC, the most cost-effective wireless microphone! 2024, Nëntor
Anonim
Mikro: Zbulues i nivelit të zhurmës së bitit
Mikro: Zbulues i nivelit të zhurmës së bitit
Mikro: Zbulues i nivelit të zhurmës së bitit
Mikro: Zbulues i nivelit të zhurmës së bitit
Mikro: Zbulues i nivelit të zhurmës së bitit
Mikro: Zbulues i nivelit të zhurmës së bitit

Ky është vetëm një shembull i shkurtër për një detektor të nivelit të zhurmës bazuar në mikro: bit dhe Pimoroni enviro: bit.

Mikrofoni në mjedis: bit zbulon nivelin e zërit, dhe nga vlera që rezulton një pozicion në matricën LED 5x5 llogaritet dhe LED përkatës aktivizohet. Vlerat maksimale të matura ruhen dhe mbeten të shfaqura në matricën LED.

Vlerat gjithashtu mund të shfaqen në numra.

Pra, në thelb është një mjet shumë i thjeshtë i zbulimit të nivelit të zhurmës, p.sh. për eksperimentet e dhomës së klasës.

Metoda e përshkruar për të shfaqur vlerat aktuale dhe maksimale të zbuluara nga një sensor në mikro: bitët 5x5 matrica LED mund të përdoren gjithashtu për parametra të tjerë si temperatura, lagështia ose presioni.

Hapi 1: Pjesët dhe Softueri i Përdorur

Hardware:

  • Një mikro: pak
  • Një Pimoroni enviro: bit - vjen me tre sensorë për tingullin, dritën dhe ngjyrën, dhe presionin/temperaturën/lagështinë (20 GBP në Pimoroni)
  • Një fuqi Pimoroni: bit - për të fuqizuar pajisjen nga bateritë (opsionale, ose ndonjë mënyrë tjetër për të fuqizuar mikrobitin, 6 GBP në Pimoroni)

Softuer:

  • Microsoft MakeCode
  • The Pimoroni enviro: bit zgjerimi i MakeCode

Për të ngarkuar skenarin në mikro: bitin tuaj, thjesht kopjoni skedarin gjashtëkëndësh të dhënë në mikro: bitin tuaj me një mjedis: bit të bashkangjitur.

Hapi 2: Kodi

Kodi është shkruar duke përdorur Microsoft MakeCode në modalitetin e bllokimit, duke përdorur shtesën Enviro: Bit. Më poshtë gjeni kodin përkatës JavaScript.

Funksioni envirobit.getSoundLevel () lexon nivelin e zërit nga sensori, duke kthyer një vlerë nga 0 në 443.

Sinjali_max konstant përcakton një vlerë maksimale të diapazonit dinamik që do të shfaqet në matricën LED, vlerat e mësipërme do të trajtohen si një sinjal_max. Kjo ju lejon të optimizoni ndjeshmërinë e pajisjes për aplikacionin tuaj.

Vlera maksimale e zbuluar në një rreth matës ruhet në variantin e zhurmës_max dhe mbetet e shfaqur në matricën LED.

Shtypja e butonit "A" rivendos zhurmën_max dhe pastron ekranin, duke shtypur butonin "B" shfaq vlerën e matur të zhurmës si numër aktual.

Për të shfaqur vlerën, vlerat më poshtë signal_max vendosen në 25 "kosha" të përfaqësuar nga një LED, duke filluar nga 0 (sipër majtas) deri në 24 (poshtë djathtas). Pastaj pozicioni x/y llogaritet dhe LED përkatës ndizet. Vlerat mbi sinjalin_max vendosen në koshin 24. Nëse vlera është nën zhurmën_max, LED -të do të ndizen përsëri.

le zhurmë_x = 0let sinjal_max = 0 le zhurmë_5 = 0 le zhurmë_25 = 0 le zhurmë_max = 0 bazë.showString ("Zhurma") zhurmë_max = 0 zhurmë_25 = 0 zhurmë_5 = 0 sinjal_max = 250 bazë. përherë (funksioni () {ndërsa (hyrje.buttonIsPressed (Button. B)) {Basic.showNumber (envirobit.getSoundLevel ()) Basic.showString ("-")} nëse (input.buttonIsPressed (Button. A)) {noise_max = 0 themelore.clearScreen ()} noise_25 = Math.floor (envirobit.getSoundLevel () / signal_max * 25) nëse (zhurmë_25> 24) {zhurmë_25 = 24} zhurmë_5 = Matematikë. dysheme (zhurmë_25 / 5) zhurmë_x = zhurmë_25 - zhurmë_5 * 5 led.plot (zhurmë_x, zhurmë_5) bazë. pauzë (200) nëse (zhurmë_25 zhurmë_max) {zhurmë_max = zhurmë_25}})

Hapi 3: Një kod për sensorin e temperaturës (lagështisë, presionit) me indentifikues minimal/maksimal

Një kod për një sensor të temperaturës (lagështisë, presionit) me indentifikues minimal/maksimal
Një kod për një sensor të temperaturës (lagështisë, presionit) me indentifikues minimal/maksimal

Këtu gjeni një kod për funksionin enviro: temperatura e bitit.

Parametrat signal_min dhe signal_max vendosin temperaturat minimale dhe maksimale (*C) të shfaqura në matricën LED. Këtu vendosja e sinjalit_main = 5 dhe sinjalit_max = 30 rezulton në 5 dhe 6*C që përfaqësohen nga LED -i i sipërm i majtë (0, 0) dhe 28/29*C nga LED i poshtëm i djathtë (4, 4).

Ka vend për optimizim: me kodin aktual rritja dhe rënia e temperaturave po lënë një gjurmë të LED -ve ose të ndezura ose të fikura. Nga ana tjetër kjo ju lejon të lexoni tendencën aktuale të temperaturës (rënie/ngritje), pasi vlera aktuale tregohet nga drita LED që pulson.

Zëvendësimi i getTemperature () nga getHumidity () ose getPressure () dhe rregullimi i vlerave të sinjalit_min dhe sinjalit_max në përputhje me rrethanat (p.sh. 0/100 % respektivisht 950/1150 hPA) do të lejonte shfaqjen e këtyre parametrave në matricën LED.

le Temp_x = 0let Temp_5 = 0 le sinjal_delta = 0 le Temp_25 = 0 le Temp_Min = 0 le sinjal_min = 0 le Temp_Max = 0 le sinjal_max = 0 bazë.showString ("Temp") signal_max = 30 signal_min = 5 signal_delta = signal_max - signal_min Temp_Max = 0 Temp_Min = 24 bazë.përgjithmonë (funksioni () {nëse (input.buttonIsPressed (Button. A)) {Temp_Max = 0 Temp_Min = 24 themelor.clearScreen ()} ndërsa (input.buttonIsPressed (Button. B)) { Basic.showNumber (Math.round (envirobit.getTemperature ())) Basic.showString ("C")} Temp_25 = Math.floor ((envirobit.getTemperature () - signal_min) / signal_delta * 25) nëse (Temp_25> 24) {Temp_25 = 24} nëse (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) bazë.pushim (100) nëse (Temp_25 Temp_Min) {led.unplot (Temp_x, Temp_5)} nëse (Temp_25> Temp_Max) {Temp_Max = Temp_25} nëse (Temp_25 <Temp_Min) {Temp_Min = Temp_25}})

Recommended: