Đối với dự án hội chợ khoa học của con gái tôi (hạng mục Khoa học và Toán học), cô ấy muốn sử dụng RPi để đi khắp nơi và đo xem các âm thanh lớn khác nhau có vượt quá ngưỡng đau và làm hỏng tai chúng ta không. Cô ấy là học sinh lớp 6, nhưng cô ấy có kinh nghiệm với RPi và lập trình bằng Python. Phillip gót Nichols đã trả lời một số câu hỏi trên trang FB RPi, nhưng đề nghị chúng tôi đến đây để được giúp đỡ thêm. Cô ấy muốn hiệu chỉnh Pi bằng máy đo áp suất âm thanh (tôi có một trong số này) để tìm ra có bao nhiêu millivolt được sản xuất
Đây là những gì chúng ta đang nghĩ cho đến nay. Chúng tôi đã mua một adc (mcp3008) từ adafbean và đang chờ nó đến. Nếu chúng ta kết nối đầu ra kỹ thuật số từ adc với chân GPIO 11 và chân GPIO 12 với đèn LED màu đỏ, chương trình đơn giản này có hoạt động không?
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 ??
Nếu điều này hoạt động, đoạn mã nào có thể được đặt ở cuối để thiết lập lại chương trình bằng cách nhấn nút được kết nối với chân GPIO? Cô ấy muốn cái này có thể mang theo được, vì vậy cô ấy sẽ không thể gõ các lệnh để chạy lại chương trình.