Загрузка данных


const int trigPin = 9;
const int echoPin = 10;
const int buzzerPin = 8;

const int ledPairs[4][2] = {
  {2, 6},
  {3, 7},
  {4, 11},
  {5, 12}
};

long duration;
int distance;

void setup()
{
	pinMode(trigPin, OUTPUT);
  	pinMode(echoPin, INPUT);
  	pinMode(buzzerPin, OUTPUT);
  
  	for (int i = 0; i < 4; i++){
  		pinMode(ledPairs[i][0], OUTPUT);
    	pinMode(ledPairs[i][1], OUTPUT);
    }
  
  	Serial.begin(9600);
}

void loop()
{
	digitalWrite(trigPin, LOW);
  	delayMicroseconds(2);
  	digitalWrite(trigPin, HIGH);
  	delayMicroseconds(10);
	digitalWrite(trigPin, LOW);
  	
  	duration = pulseIn(echoPin, HIGH);
  	distance = duration * 0.034 / 2;
  	
  	if (distance < 1) distance = 1;
  	
  	int pairsToLight = 0;
  	
    if (distance <= 37){
      	pairsToLight = 4;
    }else if (distance <= 75){
    	pairsToLight = 3;
    }else if (distance <= 112){
    	pairsToLight = 2;
    }else if (distance <= 150){
    	pairsToLight = 1;
    }else{
    	pairsToLight = 0;
    }
  
  	for (int i = 0; i < 4; i++){
      if (i < pairsToLight){
      	digitalWrite(ledPairs[i][0], HIGH);
        digitalWrite(ledPairs[i][1], HIGH);
      }else{
      	digitalWrite(ledPairs[i][0], LOW);
        digitalWrite(ledPairs[i][1], LOW);
      }
    }
  
  
  
}