Sommario:
- Passaggio 1: parti e software utilizzati
- Passaggio 2: il codice
- Passaggio 3: un codice per un sensore di temperatura (umidità, pressione) con identificatori Min/Max
Video: Micro: rilevatore di livello di rumore bit: 3 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Questo è solo un breve esempio per un rilevatore di livello di rumore basato sul micro:bit e sul Pimoroni enviro:bit.
Il microfono dell'enviro:bit rileva il livello sonoro, e dal valore risultante viene calcolata una posizione sulla matrice LED 5x5 e si attiva il LED corrispondente. I valori massimi misurati vengono memorizzati e rimangono visualizzati sulla matrice LED.
I valori possono essere visualizzati anche in numeri.
Quindi è fondamentalmente uno strumento di rilevamento del livello di rumore molto semplice, ad es. per esperimenti in classe.
Il metodo descritto per visualizzare i valori effettivi e massimi rilevati da un sensore sulla matrice LED micro:bits 5x5 potrebbe essere utilizzato anche per altri parametri come temperatura, umidità o pressione.
Passaggio 1: parti e software utilizzati
Hardware:
- Un micro:bit
- Un Pimoroni enviro:bit - viene fornito con tre sensori per suono, luce e colore e pressione/temperatura/umidità (20 GBP a Pimoroni)
- Un Pimoroni power:bit - per alimentare il dispositivo tramite batterie (opzionale, o in qualsiasi altro modo per alimentare il microbit, 6 GBP presso Pimoroni)
Software:
- Microsoft MakeCode
- L'estensione Pimoroni enviro:bit MakeCode
Per caricare lo script sul tuo micro:bit, copia semplicemente il file esadecimale fornito sul tuo micro:bit con un enviro:bit allegato.
Passaggio 2: il codice
Il codice è stato scritto utilizzando Microsoft MakeCode in modalità blocco, utilizzando l'estensione Enviro:Bit. Di seguito trovi il codice JavaScript corrispondente.
La funzione envirobit.getSoundLevel() legge il livello sonoro dal sensore, restituendo un valore da 0 a 443.
La costante signal_max definisce un valore massimo della gamma dinamica da visualizzare sulla matrice LED, i valori sopra verranno trattati come un essere signal_max. Ciò consente di ottimizzare la sensibilità del dispositivo per la propria applicazione.
Il valore massimo rilevato in un cerchio di misura viene memorizzato nella variante noise_max e rimane visualizzato sulla matrice di LED.
Premendo il pulsante "A" si ripristina noise_max e si cancella lo schermo, premendo il pulsante "B" viene visualizzato il valore del rumore misurato come numero effettivo.
Per visualizzare il valore, i valori sotto signal_max sono posti in 25 "bin" rappresentati da un LED, a partire da 0 (in alto a sinistra) a 24 (in basso a destra). Quindi viene calcolata la posizione x/y e il LED corrispondente viene acceso. I valori superiori a signal_max vengono inseriti nel bin 24. Se il valore è inferiore a noise_max, i LED verranno nuovamente spenti.
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(function () { 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 } })
Passaggio 3: un codice per un sensore di temperatura (umidità, pressione) con identificatori Min/Max
Qui trovi un codice per la funzione di temperatura enviro:bit.
I parametri signal_min e signal_max impostano le temperature minima e massima (*C) visualizzate sulla matrice di LED. Qui impostando signal_main=5 e signal_max=30 si ottiene che 5 e 6*C sono rappresentati dal LED in alto a sinistra (0, 0) e 28/29*C dal LED in basso a destra (4, 4).
C'è spazio per l'ottimizzazione: con il codice attuale l'aumento e la diminuzione delle temperature lasciano una traccia di LED accesi o spenti. D'altra parte questo permette di leggere l'andamento della temperatura attuale (diminuzione/aumento), in quanto il valore attuale è indicato dal LED lampeggiante.
La sostituzione di getTemperature() con getHumidity() o getPressure() e la regolazione dei valori signal_min e signal_max di conseguenza (ad es. 0/100 % rispettivamente 950/1150 hPA) consentirebbe di visualizzare questi parametri sulla matrice LED.
let Temp_x = 0let Temp_5 = 0 let signal_delta = 0 let Temp_25 = 0 let Temp_Min = 0 let signal_min = 0 let Temp_Max = 0 let 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 } })
Consigliato:
Rilevatore del livello dell'acqua: 7 passaggi
Rilevatore del livello dell'acqua: il sensore a ultrasuoni funziona secondo gli stessi principi di un sistema radar. Un sensore a ultrasuoni può convertire l'energia elettrica in onde acustiche e viceversa. Il famoso sensore a ultrasuoni HC SR04 genera onde ultrasoniche a una frequenza di 40kHz. Tipico
Indicatore o indicatore del livello di rumore non sicuro: 4 passaggi (con immagini)
Indicatore o indicatore del livello di rumore non sicuro: mi piace guardare i progetti creativi delle persone. Strumenti moderni e la tecnologia ci offre così tante opzioni creative. Insegno materiali duri agli studenti delle scuole secondarie in una scuola superiore in Nuova Zelanda, quindi sviluppo sempre & sperimentando cose nuove. questo
Rilevatore del livello di luce LDR: apertura e chiusura degli occhi: 6 passaggi
Rilevatore del livello di luce LDR: apertura e chiusura degli occhi: ciao a tutti, spero che questo istruibile sia di vostro gradimento. Qualsiasi dubbio, commento o correzione sarà ben accolto. Questo circuito è stato realizzato come modulo di controllo per fornire informazioni su quanta luce c'è nei dintorni, al fine di co
Sistema di avviso del livello di rumore non sicuro: 11 passaggi (con immagini)
Sistema di allerta del livello di rumore non sicuro: l'Oshman Engineering Design Kitchen (OEDK) è il più grande spazio di produzione della Rice University, che offre a tutti gli studenti uno spazio per progettare e prototipare soluzioni alle sfide del mondo reale. Per servire a questo scopo, l'OEDK ospita una serie di utensili elettrici
Rilevatore di livello della macchina della Coca-Cola - Ora con la voce!: 6 passaggi (con immagini)
Rilevatore di livello di Coke Machine - Now With Speech!: Questo progetto è un remix del mio rilevatore di livello di lattina di Coke Machine, (https://www.instructables.com/id/Coke-Machine-Can-Level-Detector/) con nuovi sensori e l'aggiunta del suono parlato! Dopo aver realizzato il mio primo rilevatore di livello, ho aggiunto un cicalino piezoelettrico a g