Помогите с таймером!!!
- Войдите на сайт для отправки комментариев
Пнд, 21/03/2016 - 21:37
Здравствуйте уважаемые программисты. Несколько дней не могу " добить" прог-му. Помогите.
Есть HC-SR04, будет находится спереди машины( типа парктроник). Будет говорить сколько осталось до впереди идущей машины. Пока холодно тестирую дома, работает на ура! Загвоздка вот в чем, не могу сообразить, как сделать так, что, если машины стоят в пробке( или на светофоре) больше, ну например, больше 2ух минут, говорить"ПОЕХАЛИ" . Вот прога-
int echoPin = 7;
int trigPin = 8;
int duration, cm;
int cv=cv;
int x=0;
int y=0;
int z=0;
int s=0;
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
do
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH,30000);
cm = duration / 56;
if (duration == 0 || cm==0 ) {
pinMode(echoPin, OUTPUT);
digitalWrite(echoPin, LOW);
pinMode(echoPin, INPUT);
}
} while (duration==0 || cm==0);
int d=cm-cv;// ЭТО Я НАЧИНАЛ ДЕЛАТЬ , ЕСЛИ d=0 ТО МАШИНЫ СТОЯТ
if ( cm<150&& cm>100 && x==0)
{ Serial.println( "1,5 METRA");
x=1, y=0, z=0, s=0;}
if (cm<100 && cm>50 && y==0)
{ Serial.println("METR");
x=0, y=1, z=0, s=0;}
if (cm<50 && cm>10 && z==0)
{ Serial.println ("POLMETRA");
x=0, y=0, z=1, s=0;}
if ( cm<10 && s==0)
{ Serial.println( "STOP");
x=0, y=0, z=0, s=1;}
cv=cm;
delay(100);
}
я пытался работать с millis() --чо-то не получилось.
я пытался работать с millis() --чо-то не получилось.
Еще пробуйте - получится. Смотрите на свои строки 34-45. И так же рассуждайте про время прошедшее после начала стояния как про cm. Сохраняйте время начала состояния "стоим" из millis(), затем каждый раз посчитайте сколько времени прошло и сравните его с требуемым.
все, разобрался. не мог понять как работает millis(). методом создания нескольких скетчей с millis() понял. Теперь, наверное, совсем тупой вопрос--а можно ли "говорить" не прибегая к мр3 модулю и т.п.( слов-то 5шт). библиотека play sound подойдет?