Вопрос: Ультрасоник без библиотеки.

triada13
Offline
Зарегистрирован: 04.01.2013

Доброе время суток.

Пытаюсь применить на практике вот такой код:

//Устанавливаем контакты для первого датчика
#define  T1  12
#define  E1  13

void setup() 
{
  Serial.begin(9600);
  pinMode(T1, OUTPUT);
}

void loop() 
{
  Serial.print("D1 = ");
  Serial.print(Ultrasonic(T1, E1));
  Serial.println("cm");
  delay(100);
}

int Ultrasonic(byte Trig_pin, byte Echo_pin)
{
  digitalWrite(Trig_pin, HIGH);
  delayMicroseconds(10);
  digitalWrite(Trig_pin, LOW);   
  return pulseIn(Echo_pin, HIGH, 20000)/29.0/2;
}

Все работает прекрасно, но есть одна непонятка. Почему то при растоянии свыше 120 см показания составляют 5 см. И что то я не могу допереть в ем причина. С библиотекой такого не происходит.

Уважаемый maksim наставте на путь истиный.

maksim
Offline
Зарегистрирован: 12.02.2012

У меня при расстоянии 120 см - 120 см

D1 = 116cm
D1 = 116cm
D1 = 117cm
D1 = 117cm
D1 = 117cm
D1 = 118cm
D1 = 119cm
D1 = 119cm
D1 = 120cm
D1 = 120cm
D1 = 121cm
D1 = 121cm
D1 = 121cm
D1 = 121cm
D1 = 122cm
D1 = 123cm
D1 = 124cm
D1 = 124cm
D1 = 124cm
D1 = 125cm
D1 = 125cm
D1 = 126cm
D1 = 126cm
D1 = 126cm
D1 = 126cm
D1 = 125cm
D1 = 122cm

а значит у вас что-то не то с датчиком или акустикой в помещении.

triada13
Offline
Зарегистрирован: 04.01.2013

А может у нас датчики различаются? Хотя при применении библиотеки такого трабла не наблюдается.

maksim
Offline
Зарегистрирован: 12.02.2012

Покажите лог.

triada13
Offline
Зарегистрирован: 04.01.2013

Теперь к сожалению только завтра, если вы не против.

triada13
Offline
Зарегистрирован: 04.01.2013

Загрузил скетч с другого компа, заработал гад. Че за глюк? Лано буду разбираться.

maksim сори что побеспокоил напрасно.