Подскажите что делать. Скетч для двух дальномеров. Парктроника короче Код (C++): #define trigPin 12 // прямо #define echoPin 13 // прямо #define trigPin2 9 // вниз #define echoPin2 10 // вниз #define buzzer 11 //int sound = 1500; void setup() { Serial.begin (9600); // настройка pinMode(trigPin, OUTPUT); // портов pinMode(echoPin, INPUT); pinMode(buzzer, OUTPUT); pinMode(trigPin2, OUTPUT); // портов pinMode(echoPin2, INPUT); } void loop() { long duration, distance; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); // чтобы начать измерения, delayMicroseconds(10); // необходимо на вход trigPin подать высокий сигнал 5В на 10мкс digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); // с выхода echoPin считывается как долго был открыт порт distance = (duration/2) / 29.1; // преобразование полученного параметра в дистанцию if (distance <= 30) { // первое условие, если расстояние меньше либо равно 30, // sound = 1500; } if (distance < 100) { tone(11, 1700, 100); delay(100); tone(11, 1700, 100); } if (distance < 70) { tone(11, 1600, 100); delay(200); tone(11, 1600, 100); } if (distance < 50) { tone(11, 1500, 100); delay(200); tone(11, 1500, 100); } if (distance < 30) { tone(11, 1000, 100); delay(200); tone(11, 1000, 100); } if (distance < 10) { tone(11, 700, 100); delay(100); tone(11, 700, 100); } if (distance > 100 || distance <= 0){ Serial.println("***"); noTone(11); } else { Serial.print(distance); // выводит расстояние в сантиметрах Serial.println(" cm"); // в мониторе последовательного порта // tone(buzzer, sound); // задает соответствующий тон пьезодинамика } delay(50); // задержка пол сикунды } /* ////////////////////////// / ///////////////////////// ////////////////////////// / ///////////////////////// ////////////////////////// / ///////////////////////// ////////////////////////// / ///////////////////////// ////////////////////////// / ///////////////////////// ////////////////////////// / ///////////////////////// ////////////////////////// */ { { { long duration2, distance2; digitalWrite(trigPin2, LOW); delayMicroseconds(2); digitalWrite(trigPin2, HIGH); // чтобы начать измерения, delayMicroseconds(10); // необходимо на вход trigPin подать высокий сигнал 5В на 10мкс digitalWrite(trigPin2, LOW); duration2 = pulseIn(echoPin2, HIGH); // с выхода echoPin считывается как долго был открыт порт distance2 = (duration2/2) / 29.1; // преобразование полученного параметра в дистанцию if (distance2 <= 30) { // первое условие, если расстояние меньше либо равно 30, // sound = 1500; } } } if (distance2 < 10) { tone(11, 700, 100); delay(100); tone(11, 700, 100); } if (distance2 > 20 || distance2 <= 0){ Serial.println("***"); noTone(11); } else { Serial.print(distance2); // выводит расстояние в сантиметрах Serial.println(" cm"); // в мониторе последовательного порта // tone(buzzer, sound); // задает соответствующий тон пьезодинамика } delay(50); // задержка пол сикунды }
не благодари Код (C++): #define trigPin 12 // прямо #define echoPin 13 // прямо #define trigPin2 9 // вниз #define echoPin2 10 // вниз #define buzzer 11 //int sound = 1500; void setup() { Serial.begin (9600); // настройка pinMode(trigPin, OUTPUT); // портов pinMode(echoPin, INPUT); pinMode(buzzer, OUTPUT); pinMode(trigPin2, OUTPUT); // портов pinMode(echoPin2, INPUT); } void loop() { long duration, distance; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); // чтобы начать измерения, delayMicroseconds(10); // необходимо на вход trigPin подать высокий сигнал 5В на 10мкс digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); // с выхода echoPin считывается как долго был открыт порт distance = (duration/2) / 29.1; // преобразование полученного параметра в дистанцию if (distance <= 30) { // первое условие, если расстояние меньше либо равно 30, // sound = 1500; } if (distance < 100) { tone(11, 1700, 100); delay(100); tone(11, 1700, 100); } if (distance < 70) { tone(11, 1600, 100); delay(200); tone(11, 1600, 100); } if (distance < 50) { tone(11, 1500, 100); delay(200); tone(11, 1500, 100); } if (distance < 30) { tone(11, 1000, 100); delay(200); tone(11, 1000, 100); } if (distance < 10) { tone(11, 700, 100); delay(100); tone(11, 700, 100); } if (distance > 100 || distance <= 0){ Serial.println("***"); noTone(11); } else { Serial.print(distance); // выводит расстояние в сантиметрах Serial.println(" cm"); // в мониторе последовательного порта // tone(buzzer, sound); // задает соответствующий тон пьезодинамика } delay(50); // задержка пол сикунды long duration2, distance2; digitalWrite(trigPin2, LOW); delayMicroseconds(2); digitalWrite(trigPin2, HIGH); // чтобы начать измерения, delayMicroseconds(10); // необходимо на вход trigPin подать высокий сигнал 5В на 10мкс digitalWrite(trigPin2, LOW); duration2 = pulseIn(echoPin2, HIGH); // с выхода echoPin считывается как долго был открыт порт distance2 = (duration2/2) / 29.1; // преобразование полученного параметра в дистанцию if (distance2 <= 30) { // первое условие, если расстояние меньше либо равно 30, // sound = 1500; } if (distance2 < 10) { tone(11, 700, 100); delay(100); tone(11, 700, 100); } if (distance2 > 20 || distance2 <= 0){ Serial.println("***"); noTone(11); } else { Serial.print(distance2); // выводит расстояние в сантиметрах Serial.println(" cm"); // в мониторе последовательного порта // tone(buzzer, sound); // задает соответствующий тон пьезодинамика } delay(50); // задержка пол сикунды }