Sisukord:

Mikro: bitine mürataseandur: 3 sammu
Mikro: bitine mürataseandur: 3 sammu

Video: Mikro: bitine mürataseandur: 3 sammu

Video: Mikro: bitine mürataseandur: 3 sammu
Video: Микросервисы: Коммуникации через очередь сообщений. Часть 3 2024, November
Anonim
Mikro: bitine mürataseandur
Mikro: bitine mürataseandur
Mikro: bitine müratase
Mikro: bitine müratase
Mikro: bitine mürataseandur
Mikro: bitine mürataseandur

See on vaid lühike näide micro: bit ja Pimoroni enviro: bit põhineva mürataseanduri kohta.

Mikrofon enviro: bit tuvastab helitaseme ja saadud väärtuse põhjal arvutatakse asukoht 5x5 LED maatriksil ja aktiveeritakse vastav LED. Maksimaalsed mõõdetud väärtused salvestatakse ja kuvatakse LED -maatriksil.

Väärtusi saab kuvada ka numbritega.

Seega on see põhimõtteliselt väga lihtne mürataseme tuvastamise tööriist, nt. klassiruumi katseteks.

Kirjeldatud meetodit, et kuvada anduri poolt tuvastatud tegelikke ja maksimaalseid väärtusi mikro: bitti 5x5 LED -maatriksil, saab kasutada ka muude parameetrite jaoks, nagu temperatuur, niiskus või rõhk.

Samm: kasutatud osad ja tarkvara

Riistvara:

  • Mikro: natuke
  • Pimoroni ümbrus: bit - kaasas kolm andurit heli, valguse ja värvi ning rõhu/temperatuuri/niiskuse jaoks (20 GBP Pimoronis)
  • A Pimoroni toide: bit - seadme toiteks akudest (valikuline või muul viisil mikrobiti toiteks, 6 GBP Pimoronis)

Tarkvara:

  • Microsofti MakeCode
  • Pimoroni ümbrus: bit MakeCode laiend

Skripti oma micro: bitisse laadimiseks kopeerige lihtsalt kaasasolev hex-fail oma micro: bitile koos lisatud keskkonnaga: bit.

2. samm: kood

Kood on kirjutatud Microsoft MakeCode'i abil blokeerimisrežiimis, kasutades laiendit Enviro: Bit. Allpool leiate vastava JavaScripti koodi.

Funktsioon envirobit.getSoundLevel () loeb sensori helitaset, andes tagasi väärtuse 0 kuni 443.

Pidev signaali_max määrab LED -maatriksil kuvatava dünaamilise vahemiku maksimaalse väärtuse, ülaltoodud väärtusi käsitletakse kui signaali_max. See võimaldab teil oma rakenduse jaoks seadme tundlikkust optimeerida.

Mõõtmisringis tuvastatud maksimaalne väärtus salvestatakse variandis noise_max ja see kuvatakse LED -maatriksil.

Nupu "A" vajutamine lähtestab noise_max ja tühjendab ekraani, nupule "B" vajutades kuvatakse mõõdetud müra väärtus tegeliku numbrina.

Väärtuse kuvamiseks paigutatakse signaali_max all olevad väärtused 25 "prügikasti", mida tähistab üks LED, alustades 0 (vasakul ülaosas) kuni 24 (paremal all). Seejärel arvutatakse x/y asend ja lülitatakse sisse vastav LED. Väärtused signaali_max kohal on paigutatud lahtrisse 24. Kui väärtus on alla müra_maksi, lülitatakse LED -id uuesti välja.

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) kui (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. samm: temperatuuri (niiskus, rõhk) anduri kood, millel on min/max indikaatorid

Temperatuuri (niiskus, rõhk) anduri kood, millel on min/max indikaatorid
Temperatuuri (niiskus, rõhk) anduri kood, millel on min/max indikaatorid

Siit leiate funktsiooni enviro: bit temperatuuri funktsiooni.

Parameetrid signal_min ja signal_max määravad LED -maatriksil kuvatava minimaalse ja maksimaalse temperatuuri (*C). Siin seadistades signaali_main = 5 ja signaali_max = 30 tulemuseks on 5 ja 6*C, mida tähistab vasakpoolne ülemine LED (0, 0) ja 28/29*C alumine parem LED (4, 4).

Seal on ruumi optimeerimiseks: praeguse koodi tõustes ja langedes jäävad LED -ide jäljed sisse või välja. Teisest küljest võimaldab see lugeda praegust temperatuuri tendentsi (langemist/tõusu), kuna praegust väärtust näitab vilkuv LED.

Kui asendada getTemperature () väärtusega getHumidity () või getPressure () ning vastavalt kohandada signaali_min ja signaali_max väärtusi (nt 0/100 % vastavalt 950/1150 hPA), saaks neid parameetreid LED -maatriksil kuvada.

las Temp_x = 0let Temp_5 = 0 let signal_delta = 0 las Temp_25 = 0 las Temp_Min = 0 laseb signal_min = 0 las Temp_Max = 0 laseb 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}})

Soovitan: