使用arduino和声音传感器时,串口监听器不断说0

时间:2017-05-16 02:18:32

标签: audio arduino led

我遇到了arduino声音传感器和LED的问题。我继续在我的串行监视器中获得0的值,同样的事情发生在我拥有的另一个声音传感器上。我目前正试图根据声音点亮LED,但串行监视器读数为0时,它不会激活代码。应该附上一张照片。声音传感器上的指示灯亮起,因此我知道GND和5V正在工作。因为很难说我使用330欧姆的电阻。我从elegoo入门套件中获得了声音传感器,所以我知道它可能很便宜。图片在最后的链接中。谢谢。

     int MicPin = A0;
     int MicValue1 = 0;
     int MicValue2 = 0;

     int led1 = 2;
     int led2 = 4;
     int led3 = 6;
     int led4 = 8;

     void setup() {
     pinMode(led1, OUTPUT);
     pinMode(led2, OUTPUT);
     pinMode(led3, OUTPUT);
     pinMode(led4, OUTPUT);
     pinMode(MicPin, OUTPUT);
     Serial.begin(9600);
      }

     void loop() {
     MicValue1 = analogRead(MicPin);
     Serial.println(MicValue1);
     delay(1);
     MicValue2 = analogRead(MicPin);
     Serial.println(MicValue2);

     if (MicValue1 - MicValue2 > 1) {
     digitalWrite(led1, HIGH);
     delay(2000);
     }
     else {
     digitalWrite(led1, LOW);
     }
    } 

enter image description here

1 个答案:

答案 0 :(得分:1)

我假设您有一个简单的模拟输出传感器模块,可根据环境音量级别提供10位模拟值。如果这个假设是正确的,那么你正确地连接所有引脚并且接收的值总是超出范围或最大值,你可能必须集成一个电阻来获得有效值。尝试使用小电阻并增加电阻,直到获得合适的值。也许您的模块文档提供了更多信息。

有一个小旋钮连接到传感器,我们需要旋转它来调整特定的电阻值,你可以在串口监视器中看到不同的值。

有用的link