Satura rādītājs:

Mikro: bitu trokšņa līmeņa detektors: 3 soļi
Mikro: bitu trokšņa līmeņa detektors: 3 soļi

Video: Mikro: bitu trokšņa līmeņa detektors: 3 soļi

Video: Mikro: bitu trokšņa līmeņa detektors: 3 soļi
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Novembris
Anonim
Mikro: bitu trokšņa līmeņa detektors
Mikro: bitu trokšņa līmeņa detektors
Mikro: bitu trokšņa līmeņa detektors
Mikro: bitu trokšņa līmeņa detektors
Mikro: bitu trokšņa līmeņa detektors
Mikro: bitu trokšņa līmeņa detektors

Šis ir tikai īss piemērs trokšņa līmeņa detektoram, kura pamatā ir micro: bit un Pimoroni enviro: bit.

Mikrofons enviro: bit nosaka skaņas līmeni, un no iegūtās vērtības tiek aprēķināta pozīcija 5x5 LED matricā un tiek aktivizēta atbilstošā gaismas diode. Maksimālās izmērītās vērtības tiek saglabātas un paliek redzamas LED matricā.

Vērtības var parādīt arī skaitļos.

Tātad būtībā tas ir ļoti vienkāršs trokšņa līmeņa noteikšanas rīks, piem. klases telpu eksperimentiem.

Aprakstīto metodi, lai parādītu sensora noteiktās maksimālās vērtības mikro: bitu 5x5 LED matricā, varētu izmantot arī citiem parametriem, piemēram, temperatūrai, mitrumam vai spiedienam.

1. darbība. Izmantotās detaļas un programmatūra

Aparatūra:

  • Mikro: bits
  • Pimoroni vide: bit - komplektā ir trīs skaņas, gaismas un krāsu, spiediena/temperatūras/mitruma sensori (20 GBP Pimoroni)
  • A Pimoroni jauda: bits - ierīces barošanai no baterijām (pēc izvēles vai jebkurā citā veidā, lai barotu mikrobitu, 6 GBP Pimoroni)

Programmatūra:

  • Microsoft MakeCode
  • Pimoroni vide: bit MakeCode paplašinājums

Lai ielādētu skriptu savā micro: bit, vienkārši nokopējiet piedāvāto hex failu uz micro: bit ar pievienotu enviro: bit.

2. darbība: kods

Kods ir rakstīts, izmantojot Microsoft MakeCode bloķēšanas režīmā, izmantojot paplašinājumu Enviro: Bit. Tālāk ir atrodams atbilstošais JavaScript kods.

Funkcija envirobit.getSoundLevel () nolasa skaņas līmeni no sensora, atgriežot vērtību no 0 līdz 443.

Pastāvīgā signāla_maks. Nosaka maksimālo dinamiskā diapazona vērtību, kas jāparāda LED matricā, iepriekš minētās vērtības tiks uzskatītas par būtisku signāla_maksu. Tas ļauj optimizēt ierīces jutību jūsu lietojumprogrammai.

Mērījumu aplī noteiktā maksimālā vērtība tiek saglabāta trokšņa_maks. Variantā un paliek redzama LED matricā.

Nospiežot pogu "A", tiek atiestatīts noise_max un tiek notīrīts ekrāns, nospiežot pogu "B", tiek parādīta izmērītā trokšņa vērtība kā faktiskais skaitlis.

Lai parādītu vērtību, vērtības zem signāla_max tiek ievietotas 25 "tvertnēs", ko apzīmē viena gaismas diode, sākot no 0 (augšējā kreisajā pusē) līdz 24 (labajā apakšējā stūrī). Pēc tam tiek aprēķināta pozīcija x/y un ieslēgta atbilstošā gaismas diode. Vērtības virs signāla_max tiek ievietotas 24. tvertnē. Ja vērtība ir zemāka par troksni_max, gaismas diodes atkal izslēgsies.

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), ja (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), ja (noise_25 noise_max) {noise_max = noise_25}})

3. solis: temperatūras (mitruma, spiediena) sensora kods ar minimālajiem/maksimālajiem indikatoriem

Temperatūras (mitruma, spiediena) sensora kods ar minimālajiem/maksimālajiem indikatoriem
Temperatūras (mitruma, spiediena) sensora kods ar minimālajiem/maksimālajiem indikatoriem

Šeit jūs atradīsit enviro: bit temperatūras funkcijas kodu.

Parametri signal_min un signal_max nosaka minimālo un maksimālo temperatūru (*C), kas parādīta LED matricā. Šeit iestatot signālu_main = 5 un signāla_max = 30, 5 un 6*C attēlo augšējā kreisā gaismas diode (0, 0) un 28/29*C apakšējā labā gaismas diode (4, 4).

Ir iespējas optimizēt: pieaugot pašreizējam kodam un pazeminoties temperatūrai, tiek atstātas ieslēgtas vai izslēgtas gaismas diodes. No otras puses, tas ļauj nolasīt pašreizējās temperatūras tendenci (kritumu/pieaugumu), jo pašreizējo vērtību norāda mirgojoša gaismas diode.

Aizstājot getTemperature () ar getHumidity () vai getPressure () un attiecīgi pielāgojot signāla_min un signāla_max vērtības (piemēram, attiecīgi 0/100 % 950/1150 hPA), šie parametri tiktu parādīti LED matricā.

ļaujiet Temp_x = 0let Temp_5 = 0 let signal_delta = 0 let Temp_25 = 0 let Temp_Min = 0 let sign_min = 0 let Temp_Max = 0 let sign_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), ja (Temp_25> 24) {Temp_25 = 24} ja (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}})

Ieteicams: