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


long R = 0; long x = 1;

long ultrason_11() {
  long duration, distance;
  digitalWrite(11,LOW);    delayMicroseconds(2);
  digitalWrite(11, HIGH);  delayMicroseconds(10);
  digitalWrite(11, LOW);
  duration = pulseIn(12, HIGH);
  distance = duration/58;
  return distance;
}

void setup() {
  Serial.begin(9600);
  pinMode(11, OUTPUT);
  pinMode(12, INPUT);
}

void loop() {
  R = ultrason_11();
  if (R > 3 & R < 15) {
    x = x * -1;
    Serial.println(x);
    if (x == -1) {
      pinMode(2, OUTPUT);  digitalWrite(2, 1);
      delay(1500);
    }
    if (x == 1) {
      pinMode(2, OUTPUT);  digitalWrite(2, 0);
      delay(1500);
    }
  }
}
#include <Servo.h>
Servo myservo;

void setup() {
  myservo.attach(4);
}

void loop() {
  myservo.write(0);
  delay(3000);
  myservo.write(90);
  delay(3000);
}

// без библиотеки Servo.h
#define servoPin 4

void setup() {
  pinMode(servoPin, OUTPUT);
}

void loop() {
  digitalWrite(servoPin, HIGH);
  delayMicroseconds(1000);
  digitalWrite(servoPin, LOW);
  delay(3000);

  digitalWrite(servoPin, HIGH);
  delayMicroseconds(1); // Конец строки обрезан на фото, но по логике здесь должен быть импульс для другого угла (например, 1.5 мс или 2 мс)