Звуковой датчик для Arduino Uno - PullRequest
0 голосов
/ 03 апреля 2019

Я недавно получил комплект Arduino Kit, и я пробую небольшой проект.Используя датчик звука, я хочу последовательно включить 3 светодиода.Это означает, что один хлопок поворачивает LED1, затем второй, второй и так далее.Проблема заключается в том, что это происходит только для светодиодов 1 и 2, и, не дожидаясь третьего хлопка, включается третий светодиод, а без четвертого хлопа свет гаснет, хотя я считаю их и сбрасываю значение с датчика.Я не могу понять, почему этот код работает для первого и второго светодиодов, но 3-й и 4-й этапы идут автоматически.Спасибо!

Я попробовал следующий код, но он работает только для первого и второго светодиодов, когда счетчик равен 0 и 1, когда он достигает 2 или 3, он активируется, даже если я не активирую датчик.


int soundSensor=2;
int LED1=4;
int LED2=5;
int LED3=6;
int counter =0;
 int SensorData=0;

void setup() {
  Serial.begin(9600);
 pinMode(soundSensor,INPUT);
 pinMode(LED1,OUTPUT);
  pinMode(LED2,OUTPUT);
   pinMode(LED3,OUTPUT);
 counter = 0;


}

void loop() {


  SensorData=digitalRead(soundSensor); 


  if(SensorData==1 && counter == 0){    
        digitalWrite(LED1,HIGH);
        counter++;
        SensorData=2;
        delay(1000);
  }
  if(SensorData==1 && counter == 1){
        digitalWrite(LED2,HIGH);
        counter++;
        SensorData=2;
        delay(1000);
  }
    if(SensorData==1 && counter == 2){
        digitalWrite(LED3,HIGH);
        counter++;
        SensorData=2;
        delay(1000);  
     }
      if(SensorData==1 && counter == 3){
        digitalWrite(LED1,LOW);
        digitalWrite(LED2,LOW);
        digitalWrite(LED3,LOW);
        counter++;
        SensorData=2;
        delay(1000);
         counter =0;
     }

  }

...