Innholdsfortegnelse:
- Trinn 1: Deler og programvare som brukes
- Trinn 2: Koden
- Trinn 3: En kode for en temperatur (fuktighet, trykk) sensor med min/maks -indikatorer
Video: Micro: bit Støynivådetektor: 3 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Dette er bare et kort eksempel på en støynivådetektor basert på micro: bit og Pimoroni enviro: bit.
Mikrofonen på enviro: bit oppdager lydnivået, og fra den resulterende verdien beregnes en posisjon på 5x5 LED -matrisen og den tilhørende LED -en aktiveres. Maksimale verdier lagres og vises fortsatt på LED -matrisen.
Verdiene kan også vises i tall.
Så det er i utgangspunktet et veldig enkelt verktøy for deteksjon av støynivå, f.eks. for eksperimenter i klasserommet.
Metoden beskrevet for å vise faktiske og maksimale verdier oppdaget av en sensor på micro: bits 5x5 LED -matrisen kan også brukes for andre parametere som temperatur, fuktighet eller trykk.
Trinn 1: Deler og programvare som brukes
Maskinvare:
- En mikro: bit
- En Pimoroni enviro: bit - leveres med tre sensorer for lyd, lys og farge, og trykk/temperatur/fuktighet (20 GBP på Pimoroni)
- En Pimoroni -effekt: bit - for å drive enheten fra batterier (valgfritt eller annen måte å drive mikrobiten på, 6 GBP på Pimoroni)
Programvare:
- Microsoft MakeCode
- Pimoroni enviro: bit MakeCode -utvidelsen
For å laste skriptet til micro: bit, bare kopier den medfølgende hex-filen til micro: bit med en enviro: bit vedlagt.
Trinn 2: Koden
Koden er skrevet med Microsoft MakeCode i blokkmodus, med Enviro: Bit -utvidelsen. Her finner du den tilsvarende JavaScript -koden.
Funksjonen envirobit.getSoundLevel () leser lydnivået fra sensoren og returnerer en verdi fra 0 til 443.
Konstant signal_max definerer en maksimal verdi for det dynamiske området som skal vises på LED -matrisen, verdiene ovenfor vil bli behandlet som et signal_max. Dette lar deg optimalisere enhetens følsomhet for applikasjonen din.
Den maksimale verdien som oppdages i en målesirkel er lagret i varianten noise_max og forblir vist på LED -matrisen.
Ved å trykke på knappen "A" tilbakestilles noise_max og tømmes på skjermen, ved å trykke på knappen "B" vises den målte støyverdien som det faktiske tallet.
For å vise verdien plasseres verdiene under signal_max i 25 "binger" representert med en LED, som starter fra 0 (øverst til venstre) til 24 (nederst til høyre). Deretter beregnes x/y -posisjonen og den tilhørende lysdioden slås på. Verdier over signal_max plasseres i skuff 24. Hvis verdien er under noise_max, slås lysdiodene på igjen.
la noise_x = 0let signal_max = 0 la noise_5 = 0 la noise_25 = 0 la noise_max = 0 basic.showString ("Noise") noise_max = 0 noise_25 = 0 noise_5 = 0 signal_max = 250 basic.forever (funksjon () {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) 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}})
Trinn 3: En kode for en temperatur (fuktighet, trykk) sensor med min/maks -indikatorer
Her finner du en kode for enviro: bits temperaturfunksjon.
Parametrene signal_min og signal_max angir minimum og maksimum temperaturer (*C) som vises på LED -matrisen. Her resulterer innstilling av signal_main = 5 og signal_max = 30 i at 5 og 6*C representeres av den øvre venstre LED (0, 0) og 28/29*C av den nedre høyre LED (4, 4).
Det er rom for optimalisering: med den nåværende koden stigende og fallende temperaturer etterlater et spor av lysdioder enten slått på eller av. På den annen side tillater dette å lese gjeldende temperaturtendens (fallende/stigende), ettersom gjeldende verdi indikeres av blinkende LED.
Hvis du erstatter getTemperature () med getHumidity () eller getPressure () og justerer signal_min og signal_max verdiene deretter (f.eks.
la Temp_x = 0let Temp_5 = 0 la signal_delta = 0 la Temp_25 = 0 la Temp_Min = 0 la signal_min = 0 la Temp_Max = 0 la 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} hvis (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}})
Anbefalt:
Slik kjører du servomotorer ved bruk av Moto: bit med mikro: bit: 7 trinn (med bilder)
Slik kjører du servomotorer ved bruk av Moto: bit med Micro: bit: En måte å utvide funksjonaliteten til micro: bit er å bruke et brett kalt moto: bit av SparkFun Electronics (omtrent $ 15-20). Det ser komplisert ut og har mange funksjoner, men det er ikke vanskelig å kjøre servomotorer fra det. Moto: bit lar deg
Micro: Bot - Micro: Bit: 20 trinn
Micro: Bot - Micro: Bit: Bygg deg en Micro: Bot! Det er en Micro: Bit kontrollert robot med innebygd ekkolodd for autonom kjøring, eller hvis du har to Micro: Bits, radiostyrt kjøring
Micro: bit - Micro Drum Machine: 10 Steps (med bilder)
Micro: bit - Micro Drum Machine: Dette er en micro: bit mikrotrommemaskin, som i stedet for bare å generere lyden, faktisk trommer. Det er tungt inspirert av kaninene fra mikro: bit orkester. Det tok litt tid å finne noen solenoider som var enkle å bruke med mokroen: bit
Programmering av en Micro: Bit Robot & Joystick: Bit Controller With MicroPython: 11 trinn
Programmering av en Micro: Bit Robot & Joystick: Bit Controller With MicroPython: For Robocamp 2019, vår sommerrobotikkleir, lodder, programmerer og bygger en ungdom i alderen 10-13 år en BBC micro: bitbasert 'antweight robot', samt programmering en mikro: bit å bruke som fjernkontroll. Hvis du for tiden er på Robocamp, går du på ski
Lys- og fargemålinger Med Pimoroni Enviro: bit for Micro: bit: 5 trinn
Lys- og fargemålinger Med Pimoroni Enviro: bit for Micro: bit: Jeg hadde jobbet med noen enheter som tillater lys- og fargemålinger tidligere, og du kan finne mye om teorien bak slike målinger, instruktørene her og her. Pimoroni har nylig utgitt enviro: bit, et tillegg for m