Добрый день! Я новичок и программирую еще на уровне 0+. Есть ультразвуковой дальномер HC-SR04. Взял за основу опыт №9, только отключил все кнопки от всех пинов, и подключил HC-SR04 (int echoPin = 10; int trigPin = 8; ). Мотор управляется с 9 пина. Нужно чтобы при считывании сигнала 2000 мс(дистанция от 0 до 15см) моторчик запускался на 1\2 макс скорости, при считывании сигнала 4000 мс(дистанция от 0 до 15см) моторчик работал на полную мощность, при считывании сигнала 8000 мс(дистанция от 0 до 15см) моторчик работал уходил на о. Помогите если не трудно
Попробовал написать, чтоб заводился хотя бы от приближения, выдает ошибки, не пойму в чем int echoPin = 10; int trigPin = 8; #define MOTOR_PIN 9 void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(MOTOR_PIN, OUTPUT); } void loop(){ digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); int distance = pulseIn(echoPin, HIGH); if (distance < 1500) {analogWrite(MOTOR_PIN, 255);} else { analogWrite(MOTOR_PIN, 0) }
int echoPin = 10; int trigPin = 8; void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); } void loop() { int duration, cm; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); cm = duration / 58; Serial.print(cm); Serial.println(" cm"); delay(100); } что в сериал выводится ?
Вот код Моторчик стал реагировать на датчик Убираю руку он останавливается но при полной остановке подергивается чуток
#define echoPin 10 #define trigPin 8 #define MOTOR_PIN 9 void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(MOTOR_PIN, OUTPUT); } void loop(){ digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); int distance = pulseIn(echoPin, HIGH); if (distance < 3000) analogWrite(MOTOR_PIN, 255); else analogWrite(MOTOR_PIN, 0); }
value: период рабочего цикла значение между 0 (полностью выключено) and 255 (сигнал подан постоянно) а у меня при 0 движение