Para o projeto da feira de ciências da minha filha (categoria Ciência da computação e matemática), ela gostaria de usar o RPi para medir e medir se diferentes sons altos estão acima do limiar da dor e estão prejudicando nossos ouvidos. Ela é da sexta série, mas tem experiência com RPi e programação em Python. Phillip Heels Nichols respondeu a algumas perguntas na página do FB RPi, mas sugeriu que viéssemos aqui para obter mais ajuda. Ela quer calibrar o Pi com um medidor de pressão sonora (eu tenho um destes) para descobrir quantos milivolts são produzidos
Aqui está o que estamos pensando até agora. Compramos um adc (mcp3008) da adafruit e aguardamos sua chegada. Se conectarmos a saída digital do adc ao pino GPIO 11 e ao pino GPIO 12 a um LED vermelho, este programa simples funcionará?
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 isso funcionasse, qual código poderia ser colocado no final para redefinir o programa com o pressionar de um botão conectado aos pinos GPIO? Ela deseja que isso seja portátil, para que não seja possível digitar comandos para executar o programa novamente.