roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 апр 2025, 16:42

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: проблема с HC-SR04 Ultrasonic Sensor
СообщениеДобавлено: 29 янв 2012, 00:22 
Не в сети
Аватара пользователя

Зарегистрирован: 22 июл 2006, 13:32
Сообщения: 137
Откуда: Украина. г. Прилуки
прог. языки: basic
ФИО: щербина анатолий
Решил протестить сонар с ардуинкой подключил. Залил скетч:
int echo_on = 2; //Пин для включения эхо локатора
int echo_in = 12; //ШИМ выход, выдает импульс длительностью с шагом 147 мкс (1 дюйм)
unsigned long duration, duration_crt ;

void setup()
{
pinMode(echo_on, OUTPUT);
pinMode(echo_in, INPUT);
Serial.begin(115200);
}
//-----------------------------------------------
void loop()
{
digitalWrite(echo_on, LOW); // включить сонар
delayMicroseconds(5); // время на включение устройства
duration = pulseIn(echo_in, HIGH); // замер ответа эха
delay(1);
duration_crt = pulseIn(echo_in, HIGH); // контрольный замер ответа эха
if(duration == duration_crt) // если замеры равны, то значит нет ошибки
{
Serial.println(duration/58); //переводим в мм и отправляем в порт[/spoiler]
на ходе сериал монитор только нули в столбик, независимо от расстояния датчика до препятствия.
Попробовал залить скетч который ипользует библиотеку ультрасоник, честно стыбреную с
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1272177425
резалт тот же столбик нулей...
понятно, что в зависимости от скетча меняется схема подключения сонара к ардуино.
сонар нерабочий или руки кривые?!
может подключение неправильное,
покурив доки представлялось так: trig- включение сонара. echo- собсно замеряем эхо...
само собой vcc-плюс 5в,а gnd-земля.


Последний раз редактировалось overlocker 03 фев 2012, 21:40, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: проблема с HC-SR04 Ultrasonic Sensor
СообщениеДобавлено: 30 янв 2012, 20:55 
Не в сети
Аватара пользователя

Зарегистрирован: 22 июл 2006, 13:32
Сообщения: 137
Откуда: Украина. г. Прилуки
прог. языки: basic
ФИО: щербина анатолий
неужели даже мыслей ниукого нет, инфракрасный бампер уж очень не хочется юзать- пройденый этап, совсем неинтересно, да и точность\достоверность минимальная.....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: проблема с HC-SR04 Ultrasonic Sensor
СообщениеДобавлено: 03 фев 2012, 09:03 
Не в сети
Аватара пользователя

Зарегистрирован: 22 июл 2006, 13:32
Сообщения: 137
Откуда: Украина. г. Прилуки
прог. языки: basic
ФИО: щербина анатолий
60 просмотров и ниодного ответа....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: проблема с HC-SR04 Ultrasonic Sensor
СообщениеДобавлено: 03 фев 2012, 11:28 
Не в сети
Аватара пользователя

Зарегистрирован: 10 дек 2010, 13:16
Сообщения: 4995
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей
Так кода-то никто не увидел. Скрыт он.

Добавлено спустя 4 минуты 58 секунд:
У тебя инит неправильно сделан. Инит - это пульс длительностью 10 мкс, а ты просто роняешь пин в ноль.

Оставь только это:
digitalWrite(echo_on, HIGH); // включить сонар
delayMicroseconds(10); // время на включение устройства
digitalWrite(echo_on, LOW); // включить сонар
duration = pulseIn(echo_in, HIGH); // замер ответа эха

_________________
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: проблема с HC-SR04 Ultrasonic Sensor
СообщениеДобавлено: 16 фев 2012, 17:11 
Не в сети
Аватара пользователя

Зарегистрирован: 22 июл 2006, 13:32
Сообщения: 137
Откуда: Украина. г. Прилуки
прог. языки: basic
ФИО: щербина анатолий
де
Цитата:
У тебя инит неправильно сделан. Инит - это пульс длительностью 10 мкс, а ты просто роняешь пин в ноль.

действительно мой вариант алогичен, твой более правдоподобен.
переделал скетч добавив задержку, но на выходе всеравно столбик нулей. ( пробовал меять задержкуот 0 до 10 - результата тот же нули.
помогите плиз.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: проблема с HC-SR04 Ultrasonic Sensor
СообщениеДобавлено: 25 фев 2012, 18:27 
Не в сети
Аватара пользователя

Зарегистрирован: 13 окт 2011, 09:32
Сообщения: 24
Откуда: Ханты-Мансийск
прог. языки: AVR asembler, Delphi, C++, Php
Код не смотрел, так как сам пишу на ассемблере, да и лень. Но посоветую проверить а точнее сверить то что нужно сделать (смотри доку, либо статьи по этому дальномеру) и то что делается у тебя в коде (такие ошибки часто бывают).

Тебе по сути после инита нужно ждать 1 на линии Echo и потом высчитать время пока на Echo держится 1. А далее все просто. Мой можешь глянуть в разделе про Linetracer'ы

_________________
https://sites.google.com/site/skyersoft/home


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: проблема с HC-SR04 Ultrasonic Sensor
СообщениеДобавлено: 25 фев 2012, 23:40 
Не в сети

Зарегистрирован: 05 янв 2010, 23:07
Сообщения: 283
Откуда: Красноармейск
Skype: dmitry.vladimirivich
ФИО: Дима.В.
http://iteadstudio.com/application-note ... h-hc-sr04/
http://www.elecfreaks.com/244.html
Может поможет чем-то, а может Вы это уже видели =)
А вообще - может нужно его на пины вешать которые ШИМ поддерживают, или имеют таймер встроенный?

_________________
#define TRUE FALSE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: проблема с HC-SR04 Ultrasonic Sensor
СообщениеДобавлено: 03 мар 2012, 17:01 
Не в сети
Аватара пользователя

Зарегистрирован: 22 июл 2006, 13:32
Сообщения: 137
Откуда: Украина. г. Прилуки
прог. языки: basic
ФИО: щербина анатолий
Цитата:
Но посоветую проверить а точнее сверить то что нужно сделать (смотри доку, либо статьи по этому дальномеру) и то что делается у тебя в коде (такие ошибки часто бывают).

такие ошибки часто бывают. какие именно ошибки?!
понятное дело- доку курил, там все еще проще чем в статьях-примерах!
код переписывал с нуля несколько раз. ответ четкий столбик нулей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: проблема с HC-SR04 Ultrasonic Sensor
СообщениеДобавлено: 05 апр 2012, 23:34 
Не в сети

Зарегистрирован: 05 апр 2012, 23:26
Сообщения: 1
Цитата:
резалт тот же столбик нулей...

Недавно (вчера) столкнулся с такой проблемой, даже потревожил магазин, где заказывал, чтоб поменяли, но с новым такая же проблема - "столбик нулей"!
Но сегодня меня озарило! проблема в следующем : ультразвуковой датчик на вход trigger требует импульс уровня 5 В, ниже он понимает как какие-то помехи или дребезг, поэтому в таком случае на выходе Echo будет 0! питал я Arduino Nano через miniUsb, в итоге ардуино работает на 3,3 В (тоже самое если подавать на Vin 5 В, стабилизатор кушает 1 В -> получаем 4), то на выводах I/O будет напряжение 3-4 В! В итоге Ардуино надо кормить только через + 5V pin))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: проблема с HC-SR04 Ultrasonic Sensor
СообщениеДобавлено: 03 янв 2013, 12:37 
Не в сети
Аватара пользователя

Зарегистрирован: 22 июл 2006, 13:32
Сообщения: 137
Откуда: Украина. г. Прилуки
прог. языки: basic
ФИО: щербина анатолий
2Sinaver
так вам удалось решить проблему, или все закончилось на ровне - осенило?
подключал стабилизированный источник питания на 9 вольт, проблема та же столбик нулей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: проблема с HC-SR04 Ultrasonic Sensor
СообщениеДобавлено: 19 фев 2013, 02:52 
Не в сети

Зарегистрирован: 19 фев 2013, 02:46
Сообщения: 1
Если у кого-то еще осталась эта проблема, то у меня такой код работает:
#define trigPin 12
#define echoPin 13

int duration, distance;

void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}

void loop() {
digitalWrite(trigPin, HIGH);
delayMicroseconds(1000);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance >= 400 || distance <= 0){
Serial.println("Out of range");
}
else {
Serial.print(distance);
Serial.println(" cm");
}
delay(500);
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: проблема с HC-SR04 Ultrasonic Sensor
СообщениеДобавлено: 22 фев 2016, 00:00 
Не в сети

Зарегистрирован: 22 сен 2015, 08:06
Сообщения: 2
Откуда: Бийск, Алтайский край
прог. языки: Pascal, VBS
ФИО: Молодцов Роман
Всем доброго времени суток. Мучаю уже пару дней этот датчик с Arduino Nano.
Проблема в следующем:
1 вариант. Подключаем к компу через USB, без внешнего питания, датчик подключен к +5V на ардуино (реально 4.54 V), крутим датчик в разные стороны, показывает как надо, при выходе за диапазон выдает нули, при возвращении в диапазон измерений опять шлет корректные данные.
2 вариант. Не меняя скетч, на ходу, подключаем на VIN внешнее питание от батареи (LiPo 7.4 V), при этом напряжение на датчике реально 4.95 V, крутим датчик в разные стороны, продолжает показывать как надо, при выходе за диапазон выдает нули, при возвращении в диапазон измерений продолжает показывать нули сколько угодно долго (если померить напряжение на ECHO +4.95 V ). Лечится передергиванием питания, прикосновением к конденсаторам на датчике, щелчке по излучателю. После чего измерения продолжаются до очередного выхода за границы диапазона. Если во время "зависания" отключить внешнее питание - начинает работать нормально...
Тестировал разные библиотеки, поведение одинаковое. Получается проблема хардварная (?) IMHO - с питанием, но что конкретно делать/мерить - ума не приложу. На данный момент к ардуине больше ничего не подключено. Батарея понятное дело заряжена..
Прошу помощи..!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO