私の娘のscience fairプロジェクト(コンピューターサイエンスと数学のカテゴリー)では、彼女はRPiを使用して、さまざまな大きな音が痛みのしきい値を超えており、耳に損傷を与えているかどうかを測定したいと考えています。彼女は6年生ですが、RPiとPythonでのプログラミングの経験があります。Phillip Heels NicholsがFB RPiページでいくつかの質問に回答しましたが、さらにヘルプが必要な場合はここに来ることを提案しました。彼女は、生成されたミリボルト数を把握するために、音圧計(私はこれらの1つを持っています)を使用して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ピンに接続されたボタンを押すことでプログラムをリセットするために、どのコードを最後に置くことができますか?彼女はこれを移植可能にしたいので、コマンドを入力してプログラムを再度実行することはできません。