Cuprins:
- Pasul 1: Piese și software utilizate
- Pasul 2: Codul
- Pasul 3: un cod pentru un senzor de temperatură (umiditate, presiune) cu identificatori min / max
Video: Detector de nivel de zgomot Micro: bit: 3 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Acesta este doar un scurt exemplu pentru un detector de nivel de zgomot bazat pe micro: bit și Pimoroni enviro: bit.
Microfonul de pe enviro: bit detectează nivelul sonor, iar din valoarea rezultată se calculează o poziție pe matricea LED 5x5 și se activează LED-ul corespunzător. Valorile maxime măsurate sunt stocate și rămân afișate pe matricea LED.
Valorile pot fi afișate și în cifre.
Deci este practic un instrument foarte simplu de detectare a nivelului de zgomot, de ex. pentru experimente în sala de clasă.
Metoda descrisă pentru a afișa valorile reale și maxime detectate de un senzor pe matricea LED micro: biți 5x5 ar putea fi utilizată și pentru alți parametri precum temperatura, umiditatea sau presiunea.
Pasul 1: Piese și software utilizate
Hardware:
- Un micro: bit
- A Pimoroni enviro: bit - vine cu trei senzori pentru sunet, lumină și culoare și presiune / temperatură / umiditate (20 GBP la Pimoroni)
- O putere Pimoroni: bit - pentru a alimenta dispozitivul din baterii (opțional sau orice alt mod de a alimenta microbitul, 6 GBP la Pimoroni)
Software:
- Microsoft MakeCode
- Extensia Pimoroni enviro: bit MakeCode
Pentru a încărca scriptul pe micro: bit, trebuie doar să copiați fișierul hex furnizat pe micro: bit cu un enviro: bit atașat.
Pasul 2: Codul
Codul a fost scris folosind Microsoft MakeCode în modul bloc, utilizând extensia Enviro: Bit. Mai jos găsiți codul JavaScript corespunzător.
Funcția envirobit.getSoundLevel () citește nivelul de sunet de la senzor, returnând o valoare de la 0 la 443.
Constanta signal_max definește o valoare maximă a intervalului dinamic care urmează să fie afișat pe matricea LED, valorile de mai sus vor fi tratate ca ființă signal_max. Acest lucru vă permite să optimizați sensibilitatea dispozitivului pentru aplicația dvs.
Valoarea maximă detectată într-un cerc de măsurare este stocată în varianta noise_max și rămâne afișată pe matricea LED.
Apăsând butonul "A" se resetează noise_max și se șterge ecranul, apăsând butonul "B" se afișează valoarea zgomotului măsurat ca număr real.
Pentru a afișa valoarea, valorile de sub signal_max sunt plasate în 25 de "coșuri" reprezentate de un LED, începând de la 0 (stânga sus) la 24 (dreapta jos). Apoi se calculează poziția x / y și se aprinde LED-ul corespunzător. Valorile peste signal_max sunt plasate în coșul 24. Dacă valoarea este sub noise_max, LED-urile vor fi comutate din nou.
let noise_x = 0let signal_max = 0 let noise_5 = 0 let noise_25 = 0 let noise_max = 0 basic.showString ("Noise") noise_max = 0 noise_25 = 0 noise_5 = 0 signal_max = 250 basic.forever (funcție () {while (intrare.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}})
Pasul 3: un cod pentru un senzor de temperatură (umiditate, presiune) cu identificatori min / max
Aici găsiți un cod pentru funcția de temperatură de biți.
Parametrii signal_min și signal_max setează temperaturile minime și maxime (* C) afișate pe matricea LED. Aici setarea signal_main = 5 și signal_max = 30 are ca rezultat 5 și 6 * C fiind reprezentate de LED-ul din stânga sus (0, 0) și 28/29 * C de LED-ul din dreapta jos (4, 4).
Există spațiu pentru optimizare: odată cu creșterea și scăderea codului actual, temperaturile lasă o urmă de LED-uri fie aprinse, fie oprite. Pe de altă parte, acest lucru permite citirea tendinței actuale de temperatură (scădere / creștere), deoarece valoarea curentă este indicată de LED-ul intermitent.
Înlocuirea getTemperature () cu getHumidity () sau getPressure () și ajustarea corespunzătoare a valorilor signal_min și signal_max (de exemplu, 0/100% respectiv 950/1150 hPA) ar permite afișarea acestor parametri pe matricea LED.
lasa Temp_x = 0 lasa Temp_5 = 0 lasa signal_delta = 0 lasa Temp_25 = 0 lasa Temp_Min = 0 lasa signal_min = 0 lasa Temp_Max = 0 lasa 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}})
Recomandat:
Mașină de zgomot Arduino: 4 pași
Mașină de zgomot Arduino: Am găsit un difuzor mic în timp ce dărâmam un P.C. pentru reciclare și m-am gândit să văd cum sună folosind funcția Arduino Tone (). Am început cu un potențiometru de 10Ω pentru a controla tonul și am început să fac ceva zgomot. Funcția Tone ()
Contor de nivel de zgomot nesigur sau semn: 4 pași (cu imagini)
Contor de nivel de zgomot nesemn sau semn: Îmi place să privesc proiectele creative ale oamenilor. Instrumente moderne & tehnologia ne oferă atât de multe opțiuni creative. Învăț materiale dificile elevilor de gimnaziu la un liceu din Noua Zeelandă, așa că dezvolt mereu & încercând lucruri noi. Thi
Semafor de zgomot - DIY 3D imprimat: 8 pași (cu imagini)
Semafor de zgomot - DIY 3D imprimat: Toți oamenii doresc să lucreze în tăcere și este important să aveți un mediu de lucru bun. Tăcerea duce la o muncă eficientă. Am făcut acest proiect pentru a ajunge la această propunere. Semaforul de zgomot constă dintr-un „semafor” care controlează dB
Sistem de alertă la nivel de zgomot nesigur: 11 pași (cu imagini)
Sistem de avertizare cu nivel de zgomot nesigur: Bucătăria Oshman Engineering Design (OEDK) este cel mai mare spațiu de producție de la Universitatea Rice, oferind un spațiu tuturor studenților pentru a proiecta și a prototipa soluții la provocările din lumea reală. Pentru a îndeplini acest scop, OEDK găzduiește o serie de instrumente electrice
Lumina albă de zgomot alb: 11 pași (cu imagini)
White Noise Night Light: Acesta este un proiect pe care l-am făcut pentru copilul meu de 1 an de Crăciun. Sincer, totuși, a fost un cadou sănătos pentru mine și soția mea. Este un aparat de zgomot alb care poate reda mai multe sunete diferite selectate printr-o interfață web și, de asemenea, încorporează lumină