Kızımın science fair projesi (Bilgisayar Bilimi ve Matematik kategorisi) için RPi'yi dolaşmak ve farklı yüksek seslerin acı eşiğinin üstünde olup olmadığını ve kulaklarımıza zarar verip vermediğini ölçmek istiyor. 6. sınıf öğrencisi, ancak Python'da RPi ve programlama deneyimi var. Phillip Heels Nichols, FB RPi sayfasında bazı soruları yanıtladı, ancak daha fazla yardım için buraya gelmemizi önerdi. Pi'yi kaç milivolt üretildiğini anlamak için bir ses basıncı ölçerle (bunlardan birine sahibim) kalibre etmek istiyor
İşte şimdiye kadar düşündüğümüz şey. Adafruit'ten bir adc (mcp3008) satın aldık ve gelişini bekliyoruz. ADC'den dijital çıkışı GPIO pin 11'e ve GPIO pin 12'ye kırmızı bir LED'e bağlarsak, bu basit program işe yarar mı?
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 ??
Bu işe yararsa, GPIO pinlerine bağlı bir düğmeye basarak programı sıfırlamak için hangi kodun sonuna konabilir? Bunun taşınabilir olmasını istiyor, bu yüzden programı tekrar çalıştırmak için komut yazamayacak.