Obsah:
- Krok 1: Použité součásti a software
- Krok 2: Kód
- Krok 3: Kód pro snímač teploty (vlhkosti, tlaku) s identifikátory min/max
Video: Mikro: bitový detektor úrovně šumu: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Toto je jen krátký příklad pro detektor hladiny hluku založený na micro: bit a Pimoroni enviro: bit.
Mikrofon na enviro: bit detekuje úroveň zvuku a z výsledné hodnoty se vypočítá poloha na matici LED 5x5 a aktivuje se odpovídající LED. Maximální naměřené hodnoty jsou uloženy a zůstávají zobrazeny na LED matici.
Hodnoty lze také zobrazit v číslech.
Jedná se tedy v podstatě o velmi jednoduchý nástroj pro detekci hladiny hluku, např. pro experimenty ve třídách.
Metodu popsanou pro zobrazení skutečných a maximálních hodnot detekovaných senzorem na mikro: bitech 5x5 LED matice lze použít také pro jiné parametry, jako je teplota, vlhkost nebo tlak.
Krok 1: Použité součásti a software
Hardware:
- Micro: bit
- Pimoroni enviro: bit - je dodáván se třemi senzory pro zvuk, světlo a barvy a tlak/teplotu/vlhkost (20 GBP u Pimoroni)
- Napájení Pimoroni: bit - k napájení zařízení z baterií (volitelně nebo jiným způsobem k napájení mikrobitu, 6 GBP u Pimoroni)
Software:
- Microsoft MakeCode
- Rozšíření Pimoroni enviro: bit MakeCode
Chcete-li načíst skript do souboru micro: bit, zkopírujte poskytnutý hex soubor do souboru micro: bit s připojeným souborem enviro: bit.
Krok 2: Kód
Kód byl napsán pomocí Microsoft MakeCode v blokovém režimu pomocí rozšíření Enviro: Bit. Níže najdete odpovídající kód JavaScript.
Funkce envirobit.getSoundLevel () čte hladinu zvuku ze senzoru a vrací hodnotu od 0 do 443.
Konstanta signal_max definuje maximální hodnotu dynamického rozsahu, která má být zobrazena na matici LED, výše uvedené hodnoty budou považovány za bytost signal_max. To vám umožní optimalizovat citlivost zařízení pro vaši aplikaci.
Maximální hodnota detekovaná v měřicím kruhu je uložena ve variantě noise_max a zůstává zobrazena na LED matici.
Stisknutím tlačítka „A“resetujete noise_max a vymažete obrazovku, stisknutím tlačítka „B“zobrazíte naměřenou hodnotu hluku jako skutečné číslo.
Pro zobrazení hodnoty jsou hodnoty pod signal_max umístěny do 25 "přihrádek" reprezentovaných jednou LED, počínaje od 0 (vlevo nahoře) do 24 (vpravo dole). Poté se vypočítá poloha x/y a rozsvítí se odpovídající LED. Hodnoty nad signal_max jsou umístěny do přihrádky 24. Pokud je hodnota nižší než noise_max, LED diody se opět vypnou.
nechte noise_x = 0 nechte signal_max = 0 nechte noise_5 = 0 nechte noise_25 = 0 nechte noise_max = 0 basic.showString („Noise“).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 pro snímač teploty (vlhkosti, tlaku) s identifikátory min/max
Zde najdete kód pro funkci enviro: bitová teplota.
Parametry signal_min a signal_max nastavují minimální a maximální teploty (*C) zobrazené na LED matici. Zde nastavení signal_main = 5 a signal_max = 30 má za následek, že 5 a 6*C budou reprezentovány levou horní LED (0, 0) a 28/29*C spodní pravou LED (4, 4).
Je zde prostor pro optimalizaci: při současném kódu stoupající a klesající teploty zanechávají stopu LED buď zapnutých, nebo vypnutých. Na druhé straně to umožňuje odečítat aktuální teplotní tendenci (klesající/stoupající), protože aktuální hodnota je indikována blikající LED.
Nahrazení getTemperature () getHumidity () nebo getPressure () a příslušná úprava hodnot signal_min a signal_max (např. 0/100 % respektive 950/1150 hPA) by umožnilo zobrazit tyto parametry na LED matici.
nechte Temp_x = 0let Temp_5 = 0 nechte signal_delta = 0 nechte Temp_25 = 0 nechte Temp_Min = 0 nechte signal_min = 0 nechte Temp_Max = 0 nechte 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 (funkce () {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}})
Doporučuje:
Detektor úrovně světla LDR: otevírání a zavírání očí: 6 kroků
Detektor úrovně světla LDR: Otevírání a zavírání očí: Ahoj všichni, doufám, že se vám tento návod líbí. Jakékoli pochybnosti, komentáře nebo opravy budou dobře přijaty. Tento obvod byl realizován jako řídicí modul, který poskytuje informace o tom, kolik světla je v okolí, aby
Detektor úrovně koksovacího stroje - nyní s řečí!: 6 kroků (s obrázky)
Coke Machine Level Detector-Now with Speech !: This project is a remix of my Coke Machine Can Level detector, (https://www.instructables.com/id/Coke-Machine-Can-Level-Detector/) with new sensor , a přidání mluveného zvuku! Poté, co jsem vyrobil svůj první detektor úrovně, přidal jsem piezo bzučák do g
Mikro: bitový směrový indikátor pro cyklistické přilby: 5 kroků
Mikro: bitový směrový indikátor pro cyklistické přilby: aktualizovaná verze 2018-květen-12 Níže naleznete pokyny pro sestavení jednoduchého mikro: bitového směrového indikátoru pro cyklistické přilby (nebo podobné). Jako ovládací prvky používá akcelerometry zabudované v mikro: bitu. Poskytnuté skripty micro python jsou optimalizovány
Jednoduchý mikro: bitový robot s koly Lego Technics: 5 kroků
Jednoduchý mikro: bitový robot s koly Lego Technics: Tento instruktáž je o použití velmi jednoduchého podvozku pomocí 2 kusů 5 mm perspexu, které jsem nařezal a vyvrtal, abych mohl co nejrychleji rozjet mikro: bitový robot. nastavit scénu, že jsem nepoužíval žádné elektrické nářadí kromě
Detektor úrovně koksovacího stroje: 5 kroků (s obrázky)
Coke Machine Can Detector Level: Rev 2.5 - uklidil 3D tištěné části a aktualizoval konektor na společnou jednotku PCB. Rev 2 - ultrazvukové " tlačítko " nahrazuje ruční tlačítko. Stisknutí tlačítka je tak stará móda, zvláště když už používám ultrazvukový senzor