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


#include <Servo.h>

Servo myServo;

const int trigPin = 9;
const int echoPin = 10;
const int servoPin = 6;

long duration;
int distance;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  myServo.attach(servoPin);
  myServo.write(0);        // серва в исходном положении
  Serial.begin(9600);
  delay(500);
}

void loop() {
  // --- Измеряем расстояние ---
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.034 / 2;   // перевод в сантиметры

  Serial.print("Расстояние: ");
  Serial.print(distance);
  Serial.println(" см");

  // --- Логика сервы ---
  if (distance > 0 && distance < 20) {
    myServo.write(90);   // объект ближе 20 см → поворот на 90°
  } else {
    myServo.write(0);    // иначе → назад в 0°
  }

  delay(100);
}