对于我女儿的Science Fair项目(计算机科学和数学类),她想使用RPi来测量不同的响声是否超过疼痛阈值并损害我们的耳朵。她是6年级的学生,但是她具有RPi和Python编程经验。Phillip Heels Nichols在FB RPi页面上回答了一些问题,但建议我们过来寻求更多帮助。她想用声压计(我有一个)校准Pi,以找出产生了多少毫伏。
到目前为止,这是我们的想法。我们从adafruit购买了ADC(MCP3008),正在等待其到来。如果我们将adc的数字输出连接到GPIO引脚11,并将GPIO引脚12连接到红色LED,那么这个简单的程序可以工作吗?
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 ??
如果可行,那么按下与GPIO引脚相连的按钮,可以在代码末尾放置什么代码以重置程序?她希望这是可移植的,因此她将无法键入命令来再次运行该程序。