ультразвук
- Войдите на сайт для отправки комментариев
Чт, 30/03/2017 - 16:13
const int Echo = 8; const int Trig = 9; void setup() { pinMode(Echo, OUTPUT); pinMode(Trig, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); Serial.begin(9600); } unsigned int time=0; unsigned int distance=0; void loop() { digitalWrite(Trig, HIGH); delayMicroseconds(10); digitalWrite(Trig, LOW); time=pulseIn(Echo, HIGH); distance=time/58; Serial.println(distance); if (distance>50) { digitalWrite(4, HIGH); analogWrite(5, 100); digitalWrite(7,HIGH); analogWrite(6, 100); } else { digitalWrite(4, HIGH); analogWrite(5, 0); digitalWrite(7,HIGH); analogWrite(6, 0); } delay(100); }
по этой проге не работает,
а вот по этой проге все работает. Пожалуйста обозначте ошибку.
const int Trig = 8; const int Echo = 9; void setup() { pinMode(Trig, OUTPUT); pinMode(Echo, INPUT); pinMode( 4 , OUTPUT); pinMode( 7 , OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); } unsigned int time_us=0; unsigned int distance_sm=0; void loop() { digitalWrite(Trig, HIGH); // Подаем сигнал на выход микроконтроллера delayMicroseconds(10); // Удерживаем 10 микросекунд digitalWrite(Trig, LOW); // Затем убираем time_us=pulseIn(Echo, HIGH); // Замеряем длину импульса distance_sm=time_us/58; // Пересчитываем в сантиметры // Выводим на порт if (distance_sm<50) // Если расстояние меньше 50 сантиметром { digitalWrite( 4 , HIGH ); //остановка если впереди препятствие analogWrite(5, 0); analogWrite(6, 0); digitalWrite( 7 , HIGH ); } else { digitalWrite( 4 , HIGH );//ехать если нет препятствия analogWrite(5, 100); analogWrite(6, 100); digitalWrite( 7 , HIGH ); } delay(100); }
по этой проге не работает,
а вот по этой проге все работает. Пожалуйста обозначте ошибку.
Что работает? Что не работает? Что делается? Что должно делаться? ХЗ!
Ошибку обозначу без пролбем: ошибка в том, как описана проблема и как задаётся вопрос.
как минимум.
+1 к возгласу ЕвгенийП
1. Кто/что не позволил прочитать то, что выдает
Serial
.println(distance) ?
2. Читаем описание pulseIn()
спасибо