मेरी बेटी के विज्ञान मेले प्रोजेक्ट (कंप्यूटर विज्ञान और गणित श्रेणी) के लिए, वह आरपीआई का उपयोग करने के लिए चारों ओर जाना और मापना चाहेगी कि क्या विभिन्न तेज आवाजें दर्द की दहलीज से ऊपर हैं और हमारे कानों को नुकसान पहुंचा रही हैं। वह एक 6 वीं ग्रेडर है, लेकिन उसे आरपी और पायथन में प्रोग्रामिंग के साथ अनुभव है। फिलिप हील्स निकोल्स ने एफबी आरपीआई पेज पर कुछ सवालों के जवाब दिए हैं, लेकिन सुझाव दिया है कि हम यहां अधिक मदद के लिए आते हैं। वह एक ध्वनि दबाव मीटर (मेरे पास इनमें से एक है) के साथ पाई को कैलिब्रेट करना चाहता है ताकि यह पता चले कि कितने मिलिवोल्ट्स का उत्पादन किया जाता है
यहाँ हम अभी तक क्या सोच रहे हैं। हमने adafruit से एक adc (mcp3008) खरीदा और इसके आने का इंतजार कर रहे हैं। अगर हम डिजिटल आउटपुट को adc से GPIO पिन 11 और GPIO पिन 12 से एक लाल एलईडी से जोड़ते हैं, तो क्या यह सरल प्रोग्राम काम करेगा?
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 पिन से जुड़े बटन के प्रेस के साथ प्रोग्राम को रीसेट करने के लिए अंत में क्या कोड रखा जा सकता है? वह चाहती है कि यह पोर्टेबल हो, इसलिए वह प्रोग्राम को फिर से चलाने के लिए कमांड टाइप नहीं कर पाएगी।