Obsah:
- Krok 1: Použité diely a softvér
- Krok 2: Kód
- Krok 3: Kód pre snímač teploty (vlhkosti, tlaku) s identifikátormi min/max
Video: Mikro: bitový detektor úrovne šumu: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
Toto je len krátky príklad pre detektor hladiny hluku založený na mikro: bite a Pimoroni enviro: bite.
Mikrofón na zariadení enviro: bit detekuje hladinu zvuku a z výslednej hodnoty sa vypočíta poloha na matici LED 5x5 a aktivuje sa zodpovedajúca dióda LED. Maximálne namerané hodnoty sa uložia a zostanú zobrazené na matici LED.
Hodnoty je možné zobraziť aj v číslach.
Ide teda v podstate o veľmi jednoduchý nástroj na zisťovanie hladiny hluku, napr. na experimenty v triede.
Metóda opísaná na zobrazenie skutočných a maximálnych hodnôt detegovaných snímačom na mikro: bitovej matici 5x5 LED môže byť použitá aj pre iné parametre, ako je teplota, vlhkosť alebo tlak.
Krok 1: Použité diely a softvér
Hardvér:
- Mikro: bit
- Pimoroni enviro: bit - dodáva sa s tromi snímačmi zvuku, svetla a farieb a tlaku/teploty/vlhkosti (20 GBP v Pimoroni)
- Napájanie Pimoroni: bit - na napájanie zariadenia z batérií (voliteľné alebo akýmkoľvek iným spôsobom na napájanie mikrobitu, 6 GBP v Pimoroni)
Softvér:
- Microsoft MakeCode
- Rozšírenie Pimoroni enviro: bit MakeCode
Ak chcete skript načítať do svojho súboru micro: bit, skopírujte poskytnutý hex súbor do súboru micro: bit s pripojeným súborom enviro: bit.
Krok 2: Kód
Kód bol napísaný pomocou kódu Microsoft MakeCode v blokovom režime pomocou rozšírenia Enviro: Bit. Nižšie nájdete príslušný kód JavaScript.
Funkcia envirobit.getSoundLevel () číta hladinu zvuku zo snímača a vracia hodnotu od 0 do 443.
Konštanta signal_max definuje maximálnu hodnotu dynamického rozsahu, ktorá sa má zobraziť na matici LED, vyššie uvedené hodnoty sa budú považovať za hodnoty signal_max. To vám umožní optimalizovať citlivosť zariadenia pre vašu aplikáciu.
Maximálna hodnota zistená v meracom kruhu je uložená vo variante noise_max a zostáva zobrazená na matici LED.
Stlačením tlačidla „A“sa vynuluje hluk_max a vymaže sa obrazovka. Stlačením tlačidla „B“sa nameraná hodnota hluku zobrazí ako skutočné číslo.
Na zobrazenie hodnoty sú hodnoty nižšie signal_max umiestnené do 25 „zásobníkov“reprezentovaných jednou diódou LED, začínajúc od 0 (vľavo hore) do 24 (vpravo dole). Potom sa vypočíta poloha x/y a rozsvieti sa príslušná dióda LED. Hodnoty nad signal_max sú umiestnené do priehradky 24. Ak je hodnota nižšia ako noise_max, LED diódy sa opäť vypnú.
nechajte noise_x = 0 nechajte signal_max = 0 nechajte.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}})
Krok 3: Kód pre snímač teploty (vlhkosti, tlaku) s identifikátormi min/max
Tu nájdete kód pre funkciu enviro: bitová teplota.
Parametre signal_min a signal_max nastavujú minimálne a maximálne teploty (*C) zobrazené na matici LED. Tu nastavenie signal_main = 5 a signal_max = 30 má za následok, že 5 a 6*C budú reprezentované ľavou hornou diódou LED (0, 0) a 28/29*C dolnou pravou diódou LED (4, 4).
Existuje priestor na optimalizáciu: so súčasným kódom stúpajúce a klesajúce teploty zanechávajú stopu LED diód buď zapnutých alebo vypnutých. Na druhej strane to umožňuje odčítať aktuálnu tendenciu teploty (klesajúca/stúpajúca), pretože aktuálna hodnota je indikovaná blikajúcou diódou LED.
Nahradenie getTemperature () hodnotou getHumidity () alebo getPressure () a príslušným nastavením hodnôt signal_min a signal_max (napr. 0/100 % respektíve 950/1150 hPA) by umožnilo zobraziť tieto parametre na matici LED.
nechajte Temp_x = 0 nechajte Temp_5 = 0 nechajte signal_delta = 0 nechajte Temp_25 = 0 nechajte Temp_Min = 0 nechajte signal_min = 0 nechajte Temp_Max = 0 nechajte 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}})
Odporúča:
„High-Fivey“kartónový mikro: bitový robot: 18 krokov (s obrázkami)
„High-Fivey“, Cardboard Micro: bit Robot: Zostali ste doma, ale stále máte potrebu niekoho vyzdvihnúť? Vyrobili sme priateľského malého robota s trochou kartónu a mikro: bitu spolu s Crazy Circuits Bit Board a všetko, čo od vás chce, je päťka, aby udržala lásku k vám nažive. Ak máte radi
Raspberry Pi MMA8452Q 3-osový 12-bitový/8-bitový digitálny akcelerometer Python výučba: 4 kroky
Trojosový 12-bitový/8-bitový digitálny akcelerometer Raspberry Pi MMA8452Q Python Výukový program: MMA8452Q je inteligentný, trojosový, kapacitný, mikroobrábaný akcelerometer s nízkym výkonom a 12 bitovým rozlíšením. Flexibilné programovateľné možnosti pre používateľov sú k dispozícii pomocou vstavaných funkcií v akcelerometri, konfigurovateľných na dve prerušenia
DIY vzdelávací mikro: bitový robot: 8 krokov (s obrázkami)
DIY Educational Micro: bit Robot: Tento návod vám ukáže, ako postaviť relatívne prístupného, schopného a lacného robota. Mojím cieľom pri navrhovaní tohto robota bolo navrhnúť niečo, čo by si väčšina ľudí mohla dovoliť, aby pre nich pútavým spôsobom učili informatiku alebo sa naučili
Mikro: bitový snímač videnia MU pre začiatočníkov - hodnoty štítkov a rozpoznávanie číselných kariet: 6 krokov
Mikro: bitový zrakový snímač MU pre začiatočníkov - hodnoty štítkov a rozpoznávanie číselných kariet: Toto je môj druhý sprievodca k zrakovému senzoru MU. V tomto projekte naprogramujeme mikro: bit na rozpoznanie rôznych číselných kariet pomocou hodnôt štítkov
3-osový 12-bitový/8-bitový digitálny akcelerometer Raspberry Pi MMA8452Q Java návod: 4 kroky
Trojosový 12-bitový/8-bitový digitálny akcelerometer Raspberry Pi MMA8452Q Java: MMA8452Q je inteligentný, trojosový, kapacitný, mikroobrábaný akcelerometer s nízkym výkonom a 12 bitovým rozlíšením. Flexibilné programovateľné možnosti pre používateľov sú k dispozícii pomocou vstavaných funkcií v akcelerometri, konfigurovateľných na dve prerušenia