Per il progetto della fiera scientifica di mia figlia (categoria Informatica e matematica), vorrebbe usare l'RPi per andare in giro e misurare se diversi suoni forti sono al di sopra della soglia del dolore e ci stanno danneggiando. È una seconda media, ma ha esperienza con RPi e programmazione in Python. Phillip Heels Nichols ha risposto ad alcune domande sulla pagina RPi di FB, ma ha suggerito di venire qui per ulteriore aiuto. Vuole calibrare il Pi con un misuratore di pressione sonora (ne ho uno di questi) per capire quanti millivolt vengono prodotti
Ecco cosa stiamo pensando finora. Abbiamo acquistato un adc (mcp3008) da adafruit e stiamo aspettando il suo arrivo. Se colleghiamo l'uscita digitale dall'adc al pin 11 GPIO e al pin 12 GPIO a un LED rosso, questo semplice programma funzionerà?
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11,GPIO.IN)
GPIO.setup(12,GPIO.OUT)
GPIO.output(12,GPIO.LOW) #make sure LED is off
SPL=0 #zero the variable
While SPL<??: #Where ?? is the value in millivolts produced by a sound at 130 db
SPL=GPIO.input(11) #get value from adc connected to microphone
GPIO.output(12,GPIO.HIGH) #turn LED on if the sound level is higher than ??
Se questo funzionasse, quale codice potrebbe essere inserito alla fine per ripristinare il programma con la pressione di un pulsante collegato ai pin GPIO? Vuole che sia portatile, quindi non sarà in grado di digitare comandi per eseguire nuovamente il programma.