สำหรับโครงงานวิทยาศาสตร์ของลูกสาวของฉัน (หมวดวิทยาศาสตร์คอมพิวเตอร์และคณิตศาสตร์) เธอต้องการใช้ RPi ไปรอบ ๆ และวัดว่าเสียงที่แตกต่างกันนั้นสูงกว่าระดับความเจ็บปวดหรือไม่และทำให้หูของเราเสียหาย เธอเป็นนักเรียนเกรด 6 แต่เธอมีประสบการณ์เกี่ยวกับ RPi และการเขียนโปรแกรมใน Python Phillip Heels Nichols ได้ตอบคำถามบางข้อในหน้า FB RPi แต่แนะนำว่าเรามาที่นี่เพื่อรับความช่วยเหลือเพิ่มเติม เธอต้องการที่จะสอบเทียบ Pi ด้วยเครื่องวัดความดันเสียง (ฉันมีหนึ่งในนั้น) เพื่อหาจำนวนมิลลิโวลต์ที่ผลิต
นี่คือสิ่งที่เรากำลังคิด เราซื้อ adc (mcp3008) จาก adafruit และกำลังรอการมาถึงของมัน ถ้าเราเชื่อมต่อเอาท์พุทดิจิตอลจาก adc ไปยัง GPIO pin 11 และ GPIO pin 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? เธอต้องการให้อุปกรณ์พกพาดังนั้นเธอจึงไม่สามารถพิมพ์คำสั่งเพื่อเรียกใช้โปรแกรมอีกครั้ง