Taula de continguts:
- Pas 1: parts i programari utilitzat
- Pas 2: el codi
- Pas 3: un codi per a un sensor de temperatura (humitat, pressió) amb identificadors mínims / màxims
Vídeo: Detector de nivell de soroll Micro: bit: 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Aquest és només un breu exemple per a un detector de nivell de soroll basat en el micro: bit i el Pimoroni enviro: bit.
El micròfon del bit enviro: detecta el nivell de so i, a partir del valor resultant, es calcula una posició a la matriu de 5x5 LED i s’activa el LED corresponent. Els valors màxims mesurats s’emmagatzemen i es mantenen visualitzats a la matriu de LED.
Els valors també es poden mostrar en números.
Per tant, bàsicament és una eina de detecció de nivell de soroll molt senzilla, per exemple. per a experiments a l'aula.
El mètode descrit per mostrar els valors reals i màxims detectats per un sensor a la matriu LED micro: bits 5x5 també es podria utilitzar per a altres paràmetres com la temperatura, la humitat o la pressió.
Pas 1: parts i programari utilitzat
Maquinari:
- Un micro: bit
- A Pimoroni enviro: bit: inclou tres sensors de so, llum i color i pressió / temperatura / humitat (20 GBP a Pimoroni)
- Una potència de Pimoroni: bit: per alimentar el dispositiu amb bateries (opcional o qualsevol altra manera d’alimentar el microbit, 6 GBP a Pimoroni)
Programari:
- Microsoft MakeCode
- L'extensió MakeCode de Pimoroni enviro: bit
Per carregar l'script al vostre micro: bit, només cal que copieu el fitxer hexadecimal proporcionat al vostre micro: bit amb un enviro: bit adjunt.
Pas 2: el codi
El codi s’ha escrit amb Microsoft MakeCode en mode de bloc, mitjançant l’extensió Enviro: Bit. A continuació trobareu el codi JavaScript corresponent.
La funció envirobit.getSoundLevel () llegeix el nivell de so del sensor, retornant un valor de 0 a 443.
La constant signal_max defineix un valor màxim del rang dinàmic que es mostrarà a la matriu de LED, els valors anteriors es tractaran com a signal_max. Això us permet optimitzar la sensibilitat del dispositiu per a la vostra aplicació.
El valor màxim detectat en un cercle de mesura s’emmagatzema a la variant noise_max i es manté a la matriu LED.
En prémer el botó "A" es restableix noise_max i s'esborra la pantalla, prement el botó "B" es mostra el valor de soroll mesurat com a número real.
Per mostrar el valor, els valors que hi ha a sota de signal_max es col·loquen en 25 "contenidors" representats per un LED, començant de 0 (superior esquerre) a 24 (inferior dret). A continuació, es calcula la posició x / y i s'encén el LED corresponent. Els valors superiors a signal_max es col·loquen a la safata 24. Si el valor és inferior a noise_max, els LED es tornaran a canviar.
deixa noise_x = 0 deixa signal_max = 0 deixa noise_5 = 0 deixa noise_25 = 0 deixa noise_max = 0 basic.showString ("Noise") noise_max = 0 noise_25 = 0 noise_5 = 0 signal_max = 250 basic.forever (function () {while (entrada.buttonIsPressed (Button. B)) {basic.showNumber (envirobit.getSoundLevel ()) basic.showString ("-")} si (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}})
Pas 3: un codi per a un sensor de temperatura (humitat, pressió) amb identificadors mínims / màxims
Aquí trobareu un codi per a la funció de temperatura enviro: bit.
Els paràmetres signal_min i signal_max estableixen les temperatures mínima i màxima (* C) que es mostren a la matriu del LED. En configurar signal_main = 5 i signal_max = 30, 5 i 6 * C són representats pel LED superior esquerre (0, 0) i 28/29 * C pel LED inferior dret (4, 4).
Hi ha marge per a l'optimització: amb l'augment i la baixada del codi actual, les temperatures deixen un rastre de LEDs activats o apagats. D'altra banda, això permet llegir la tendència actual de la temperatura (caiguda / pujada), ja que el valor actual s'indica amb el LED parpellejant.
Substituir getTemperature () per getHumidity () o getPressure () i ajustar els valors signal_min i signal_max en conseqüència (per exemple, 0/100% respectivament 950/1150 hPA) permetria mostrar aquests paràmetres a la matriu LED.
deixa Temp_x = 0 deixa Temp_5 = 0 deixa signal_delta = 0 deixa Temp_25 = 0 deixa Temp_Min = 0 deixa signal_min = 0 deixa Temp_Max = 0 deixa 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 ()} mentre que (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}})
Recomanat:
Detector de nivell d'aigua: 7 passos
Detector de nivell d’aigua: el sensor d’ultrasons funciona sobre els mateixos principis que un sistema de radar. Un sensor d'ultrasons pot convertir l'energia elèctrica en ones acústiques i viceversa. El famós sensor d’ultrasons HC SR04 genera ones ultrasòniques a una freqüència de 40 kHz
Mesurador o senyal de nivell de soroll insegur: 4 passos (amb imatges)
Mesurador o signe de nivell de soroll insegur: m'encanta mirar els projectes creatius de la gent. Eines modernes & la tecnologia ens proporciona tantes opcions creatives. Ensenyo materials durs a estudiants de secundària en un institut de Nova Zelanda, de manera que sempre estic desenvolupant & provant coses noves. Thi
Detector de nivell de llum LDR: ulls d'obertura i tancament: 6 passos
Detector de nivell de llum LDR: ulls d'obertura i tancament: Hola a tothom, espero que sigui instructiu del vostre gust. Qualsevol dubte, comentari o correcció serà ben rebut. Aquest circuit es va realitzar com un mòdul de control per proporcionar informació sobre la quantitat de llum que hi ha als voltants, per poder
Sistema d'alerta de nivell de soroll insegur: 11 passos (amb imatges)
Sistema d’alerta de nivell de soroll insegur: la cuina de disseny d’enginyeria Oshman (OEDK) és l’espai més gran de la Universitat Rice, que ofereix un espai perquè tots els estudiants puguin dissenyar i prototipar solucions als reptes del món real. Per complir aquest propòsit, l'OEDK alberga diverses eines elèctriques
Detector de nivell de màquina de coc: ara amb veu: 6 passos (amb imatges)
Detector de nivell de màquina de coc: ara amb veu: aquest projecte és una remescla del meu detector de nivell de màquina de coc, (https://www.instructables.com/id/Coke-Machine-Can-Level-Detector/) amb nous sensors , i l'addició de so parlat! Després de fer el meu primer detector de nivell, vaig afegir un brunzidor de piezo a g