Innehållsförteckning:
- Steg 1: Delar och programvara som används
- Steg 2: Koden
- Steg 3: En kod för en temperaturgivare (luftfuktighet, tryck) med min/max -indikatorer
Video: Micro: bit Noise Level Detector: 3 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Detta är bara ett kort exempel på en brusnivådetektor baserad på micro: bit och Pimoroni enviro: bit.
Mikrofonen på enviro: bit detekterar ljudnivån, och från det resulterande värdet beräknas en position på 5x5 LED -matrisen och motsvarande LED aktiveras. De högsta mätvärdena lagras och visas kvar på LED -matrisen.
Värdena kan också visas i siffror.
Så det är i grunden ett mycket enkelt bullernivådetekteringsverktyg, t.ex. för experiment i klassrum.
Metoden som beskrivs för att visa faktiska och maximala värden som detekteras av en sensor på micro: bits 5x5 LED -matrisen kan också användas för andra parametrar som temperatur, luftfuktighet eller tryck.
Steg 1: Delar och programvara som används
Hårdvara:
- En mikro: bit
- En Pimoroni -miljö: bit - levereras med tre sensorer för ljud, ljus och färg och tryck/temperatur/luftfuktighet (20 GBP på Pimoroni)
- En Pimoroni -effekt: bit - för att driva enheten från batterier (tillval eller annat sätt att driva mikrobiten, 6 GBP på Pimoroni)
Programvara:
- Microsoft MakeCode
- Tillägget Pimoroni enviro: bit MakeCode
För att ladda skriptet till din micro: bit, kopiera bara den medföljande hex-filen till din micro: bit med en enviro: bit bifogad.
Steg 2: Koden
Koden har skrivits med Microsoft MakeCode i blockläge, med tillägget Enviro: Bit. Nedan hittar du motsvarande JavaScript -kod.
Funktionen envirobit.getSoundLevel () läser ljudnivån från sensorn och returnerar ett värde från 0 till 443.
Den konstanta signalen_max definierar ett maximivärde för det dynamiska intervall som ska visas på LED -matrisen, värden ovan kommer att behandlas som en signal_max. Detta låter dig optimera enhetens känslighet för din applikation.
Det maximala värdet som detekteras i en mätcirkel lagras i varianten noise_max och visas kvar på LED -matrisen.
Genom att trycka på knappen "A" återställs noise_max och rensas på skärmen, genom att trycka på knappen "B" visas det uppmätta brusvärdet som det faktiska talet.
För att visa värdet placeras värdena nedanför signal_max i 25 "fack" representerade av en lysdiod, från 0 (övre vänster) till 24 (nedre högra). Därefter beräknas x/y -läget och motsvarande lysdiod tänds. Värden över signal_max placeras i fack 24. Om värdet ligger under noise_max slås lysdioderna på igen.
låt noise_x = 0let signal_max = 0 låt noise_5 = 0 låt noise_25 = 0 låt noise_max = 0 basic.showString ("Noise") noise_max = 0 noise_25 = 0 noise_5 = 0 signal_max = 250 basic.forever (funktion () {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}})
Steg 3: En kod för en temperaturgivare (luftfuktighet, tryck) med min/max -indikatorer
Här hittar du en kod för funktionen enviro: bit temperature.
Parametrarna signal_min och signal_max ställer in lägsta och högsta temperatur (*C) som visas på LED -matrisen. Här resulterar inställning signal_main = 5 och signal_max = 30 i att 5 och 6*C representeras av den övre vänstra lysdioden (0, 0) och 28/29*C av den nedre högra lysdioden (4, 4).
Det finns utrymme för optimering: med den nuvarande koden stigande och sjunkande temperaturer lämnar ett spår av lysdioder antingen på eller av. Å andra sidan gör det möjligt att avläsa den aktuella temperaturtendensen (fallande/stigande), eftersom det aktuella värdet indikeras av den blinkande lysdioden.
Att ersätta getTemperature () med getHumidity () eller getPressure () och justera signal_min- och signal_max -värdena därefter (t.ex. 0/100 % respektive 950/1150 hPA) skulle göra det möjligt att visa dessa parametrar på LED -matrisen.
låt Temp_x = 0let Temp_5 = 0 låt signal_delta = 0 låt Temp_25 = 0 låt Temp_Min = 0 låt signal_min = 0 låt Temp_Max = 0 låt 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} om (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}})
Rekommenderad:
Programmering av en Micro: Bit Robot & Joystick: Bit Controller With MicroPython: 11 steg
Programmering av en Micro: Bit Robot & Joystick: Bit Controller Med MicroPython: För Robocamp 2019, vårt sommarrobotläger, lödder, programmerar och bygger en ungdom i åldern 10-13 år en BBC micro: bitbaserad "antweight robot", samt programmerar en mikro: bit att använda som fjärrkontroll.Om du för närvarande är på Robocamp, åk skidor
LDR Light Level Detector: Öppnande och stängande ögon: 6 steg
LDR Light Level Detector: Öppnande och stängande ögon: Hej alla, jag hoppas att den här instruktören passar er. Alla tvivel, kommentarer eller korrigeringar kommer att bli väl mottagna. Denna krets förverkligades som en styrmodul för att ge information om hur mycket ljus det finns i omgivningen för att sam
Coke Machine Level Detector - Nu med tal !: 6 steg (med bilder)
Coke Machine Level Detector-Now With Speech !: Detta projekt är en remix av min Coke Machine Can Level detector, (https://www.instructables.com/id/Coke-Machine-Can-Level-Detector/) med nya sensorer , och tillägg av talat ljud! Efter att jag gjort min första nivådetektor lade jag till en piezo -summer till g
Ljus- och färgmätningar Med Pimoroni Enviro: bit för Micro: bit: 5 steg
Ljus- och färgmätningar Med Pimoroni Enviro: bit för Micro: bit: Jag hade arbetat med några enheter som tillåter ljus- och färgmätningar tidigare och du kan hitta mycket om teorin bakom sådana mätningar som instruerbara här och här. Pimoroni har släppte nyligen enviro: bit, ett tillägg för m
Coke Machine Can Level Detector: 5 steg (med bilder)
Coke Machine Can Level Detector: Rev 2.5 - städade upp de 3D -tryckta delarna och uppdaterade pluggkontakten till en vanlig PCB -enhet. Rev 2 - ultraljud " -knapp " ersätter manuell tryckknapp. Att trycka på en knapp är så gammaldags, särskilt när jag redan använder en ultraljudssensor