Ультразвуковой измеритель расстояния
- Войдите на сайт для отправки комментариев
Купил вот такую штуку. http://iteadstudio.com/store/index.php?main_page=product_info&cPath=4&products_id=52 Там же есть библиотека. Все работает, но библиотека дает разрешение в 1 см. А датчик может мерять с точностью 3мм. Библиотека предоставляет такую функцию - Timing(), которая возварщает длительность импульса от датчика, чтобы потом по формуле высчитать расстояние:
Distance = ((Duration of high level)*(Sonic :340m/s))/2
Я понял, что Duration of high level=Timing()
а что это за параметр Sonic???
Возможно это можно понять из этого текста, но при всем моем знании английского, понят смысла не могу:
There are 4 pins out of the module : VCC , Trig, Echo, GND . So it’s a very easy interface for controller to use it ranging. The all process is : pull the Trig pin to high level for more than 10us impulse , the module start ranging ; finish ranging , If you find an object in front , Echo pin will be high level , and based on the different distance,it will take the different duration of high level. So we can calculated the distance easily :
Я понял что мы на вход "Trig" подаем высокий уровень на 10миллисекунд. И после этого ловим на выходе "Echo" высокий уровень. Когда пришел высокий уровень, мы меряем его длительность (Duration of high level), ее возвращает функция Timing(). А что такое в формуле Sonic?
там же написано - Sonic:340m/s. Скорость звука.
Берем время между началом отправки у/з-сигнала и получением первого отклика. Умножаем это время на скорость звука. Получаем расстояние, которое звук прошел до ближайшего отражающего объекта и обратно. Делим полученное значение на два. В сухом остатке - искомая величина Distance.
Я делал так:
Ну а дальше меняйте расчет как хотите
А можно к строкам програмы добавить цетаты, чтоб было понятно что и за что отвечает?