Für das Science-Fair-Projekt meiner Tochter (Kategorie Informatik und Mathematik) möchte sie das RPi verwenden, um zu messen, ob verschiedene laute Geräusche über der Schmerzschwelle liegen und unsere Ohren schädigen. Sie ist eine Sechstklässlerin, hat aber Erfahrung mit RPi und Programmierung in Python. Phillip Heels Nichols hat einige Fragen auf der FB RPi-Seite beantwortet, aber vorgeschlagen, dass wir hierher kommen, um weitere Hilfe zu erhalten. Sie möchte den Pi mit einem Schalldruckmesser (ich habe einen davon) kalibrieren, um herauszufinden, wie viele Millivolt produziert werden
Folgendes denken wir bisher. Wir haben einen ADC (MCP3008) von Adafruit gekauft und warten auf seine Ankunft. Funktioniert dieses einfache Programm, wenn wir den digitalen Ausgang des ADC mit dem GPIO-Pin 11 und den GPIO-Pin 12 mit einer roten LED verbinden?
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 ??
Wenn dies funktionieren würde, welcher Code könnte am Ende eingefügt werden, um das Programm per Knopfdruck zurückzusetzen, der mit den GPIO-Pins verbunden ist? Sie möchte, dass dies portabel ist, sodass sie keine Befehle eingeben kann, um das Programm erneut auszuführen.