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 мс)