W przypadku projektu Science Fair mojej córki (kategoria informatyka i matematyka) chciałaby używać RPi do poruszania się i sprawdzania, czy różne głośne dźwięki są powyżej progu bólu i uszkadzają nasze uszy. Jest szóstoklasistką, ale ma doświadczenie z RPi i programowaniem w Pythonie. Phillip Heels Nichols odpowiedział na kilka pytań na stronie FB RPi, ale zasugerował, abyśmy przyszli tutaj po więcej pomocy. Chce skalibrować Pi za pomocą miernika ciśnienia akustycznego (mam jeden z nich), aby dowiedzieć się, ile miliwoltów jest wytwarzanych
Oto, co myślimy do tej pory. Kupiliśmy adc (mcp3008) od adafruita i czekamy na jego przybycie. Czy po podłączeniu wyjścia cyfrowego z adc do styku GPIO 11 i styku 12 GPIO do czerwonej diody LED, ten prosty program będzie działał?
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 ??
Jeśli to zadziała, jaki kod można umieścić na końcu, aby zresetować program po naciśnięciu przycisku podłączonego do pinów GPIO? Chce, aby było to przenośne, więc nie będzie mogła wpisywać poleceń, aby ponownie uruchomić program.