美文网首页
【树莓派+arduino实验记录14 】声音传感器

【树莓派+arduino实验记录14 】声音传感器

作者: Geekero | 来源:发表于2020-09-02 09:12 被阅读0次

    Arduino

    const int ledPin = 13; //built-in led
    const int soundPin = A0; //sound sensor
    
    void setup()
    {
      pinMode(ledPin, OUTPUT);
      Serial.begin(9600);
    }
    
    void loop()
    {
      int value = analogRead(soundPin); //read the value of value sensor
      Serial.println(value); 
      if (value > 58) //if the value of sound sensor is greater than 600
      {
        printf('turn on');
        digitalWrite(ledPin, HIGH); //turn on
        delay(200);
        digitalWrite(ledPin, LOW); //turn off
      }
    }
    

    树莓派

    C

    #include <stdio.h>
    #include <wiringPi.h>
    #include <pcf8591.h>
    
    #define PCF  120
    
    int main (void)
    {
        int value;
        int count = 0;
        wiringPiSetup();
        //setup pcf8591 on base pin 120, and address 0x48
        pcf8591Setup(PCF, 0x48);
        while(1) //loop forever
        {
             value = analogRead(PCF + 0);
             //printf("%d\n", value);
             if (value > 70){
                count ++;
                printf("Voice In!! %d\n", count);
            }
        }
        return 0;
    }
    

    Python

    #!/usr/bin/env python
    import PCF8591 as ADC
    import RPi.GPIO as GPIO
    import time
    GPIO.setmode(GPIO.BCM)
    
    def setup():
        ADC.setup(0x48)
    
    def loop():
        count = 1
        while True:
            voiceValue = ADC.read(0)
            if voiceValue:
                print('Value:{}'.format(voiceValue))
            if voiceValue > 65:
                print("Voice detected! {}".format(count))
                count += 1
            time.sleep(0.2)
    
    
    if __name__ == '__main__':
        try:
            setup()
            loop()
        except KeyboardInterrupt:
            pass
    

    相关文章

      网友评论

          本文标题:【树莓派+arduino实验记录14 】声音传感器

          本文链接:https://www.haomeiwen.com/subject/nwgvsktx.html