todo navbar etc

Ультразвуковой датчик дистанции

Прислали китайские товарищи посылку с девайсом HC-SR04 Ultrasonic Sensor Distance Measuring Module.

Некоторые параметры сенсора:

	- Sensor angle: Not more than 15 degrees.
	- Detection distance: 2cm~450cm.
	- High precision: Up to 3mm
	- Mode of connection: VCC / trig(T) / echo(R) / GND
 

Вольный перевод принципа работы:

На ноге trig устанавливаем высокий уровень на 10 микросекунд. Датчик передает посылку 40кГц (Если я правильно понял, 8 импульсов) и слушает ответ. После получения отраженного сигнала, на ноге echo устанавливается лог 1. Ну и как в локаторах, по времени задержки определяем расстояние до цели, прямая пропорциональность. Коэффициент пропорциональности для преобразования микросекунд в сантиметры нагуглил, он составляет 58. Потом можно будет подобрать точнее.

Вот так выглядит на макетной плате (светодиоды от другого проекта):

Измеряю расстояние до монитора:

Выводим лог через UART, если сравнить с рулеткой, похоже на правду:

Листинг программы:

/**
 * (c)2013-04-07
 */
 
int echoPin = 23; //RX
int trigPin = 25; //TX
int timeResponse = 0;

void setup() {
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  digitalWrite(trigPin, 0);
}

void loop() { 
  Serial.println("\n -------loop start-------");
    
  digitalWrite(trigPin, 1);
  delayMicroseconds(10);
  digitalWrite(trigPin, 0);
  
  timeResponse = pulseIn(echoPin, 1);

  Serial.print( "time: " );
  Serial.print( timeResponse );
  Serial.print( ";  distance:" );    
  Serial.print( timeResponse / 58.0 );
  
  delay(1000);
}

#30

Тут могла бы быть ваша реклама :-)
Tags