hc-sr04 ultrasonic

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем defo, 28 ноя 2014.

  1. defo

    defo Нуб

    Привет, можно вопрос от новичка?
    http://amperka.ru/product/hc-sr04-ultrasonic-sensor-distance-module
    работает стандартная библиотека Ultrasonic
    выдает почти постоянные значения в см, от 120-150, явно реагируя на предмет перед сенсором. но значения к реальным - отношения не имеют.....


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

    что я не так включил? )
    код - из примера к библиотеки
     
  2. Alex19

    Alex19 Гуру

    Убедитесь, что все подключено правильно.
    [​IMG]

    По поводу библиотеки не знаю, брал от сюда
    http://robocraft.ru/files/sensors/Ultrasonic/HC-SR04/ultrasonic-HC-SR04.zip
    Там есть пример, только в примере Trig - pin 12, Echo - pin 13

    Пробовал работать и с NewPing на странице описания продукта. Работает нормально с любой из них, на сколько точно работает не скажу, определяю падение детали:) на станке, но на глаз +/- 5см.

    Если выдает 0, то возможно перепутали Trig и Echo.

    Был случай когда датчик показывал не реальные значения за метр, но проблема была в том, что капли с охлаждения попали на сетку "глазков". Убедитесь, что в самих "глазках" чисто. Я решил проблему, продув воздухом из компрессора.

    UPD. Да и проверьте соединения мультиметром.
     
    Последнее редактирование: 28 ноя 2014
  3. defo

    defo Нуб

    [​IMG]


    пересобрал.
    код - пример из вашей ссылки
    на ножках сенсора - 5В.
    тригер и эхо менял местами - 0.
    ответы 0.


    обнаружил, что тестировал схему , в том числе через БП - с включенным напряжением 12В.
    вопрос: мог я сжечь сенсор 12Вольтами?
    возможно, я ему на тригер и эхо даже при коммутации включал 12В.
     
  4. Alex19

    Alex19 Гуру

    Конечно могли. Надо быть очень внимательным, при подключении.

    У меня 3 таких, ни с одним проблем не обнаружил. 2 стоят на машинах в режиме 24 часа, один не смог настроить, не достаточный угол.

    UPD. Как-то вы запутано сделали это на макетке, Trig и Echo верно. Только есть ощущение, что не все провода вставлены, но раз проверили, значит норм.

    Интересная макетка, с такой не работал. Что с + и - не понятно. С права Вы подаете + и - от Ардуины. Слева плюс от V1 и минус от макетки. Потом перемычка от V1 + слева на V2 + справа. Не понимаю, что у Вас там с питанием.

    Сам пока плохо разбираюсь в электронике, но меня очень спасает мультимерт и простая позвонка кабелей.
     
    Последнее редактирование: 29 ноя 2014
  5. defo

    defo Нуб

    борд был куплен пару лет назад. вот настало время расчехлить.
    на нем схема питания разведена как надо, на фото это не очевидно, но я ее перепроверял. к тому же на ножках - явно 5Вт. Grn - я специально для фото подал напрямую в контроллер. вещад мультиметр на TRIG и ECHO. мультиметр ловит что "то там"...(ассоцилографа нет под рукой.) думаю, я его спалил... поехал купил другой. сам виноват.
    спасибо за сочувствие :)
     
  6. defo

    defo Нуб

    борд классный - просторный - я развожу на красный синий по периметру Vc и Grn. получается, что можно несколько схем тестить.
     
  7. Alex19

    Alex19 Гуру

    Да это точно, если проверяли мультиметром, значит все должно быть ок.

    Увы скорее всего.

    Это точно, классная вещь, иногда не уживаюсь на своем, приходится ставить 2 и т.д.
     
  8. Nitro77rus

    Nitro77rus Гик

    Можно ещё вопрос от новичка? :)
    У меня с данными все ок. Вот только ни как не могу заставить гореть диоды, в зависимости от полученых значений. Что то вроде парктроника хочу...
    Сразу скажу - программирование не мой конёк ;)
     
  9. Nitro77rus

    Nitro77rus Гик

    ВсЁ :) заставил гореть диоды... Но теперь дугой вопрос.
    Как сделать, что бы каждый следующий загорался при увеличении дистанции на 10 см, а не на 1?

    #include "Ultrasonic.h"

    #define FIRST_LED_PIN 2
    #define LED_COUNT 10

    // sensor connected to:
    // Trig - 12, Echo - 13
    Ultrasonic ultrasonic(13, 12);

    void setup()
    {
    Serial.begin(9600); // start the serial port

    for (int i = 0; i < LED_COUNT; ++i)
    pinMode(i + FIRST_LED_PIN, OUTPUT);
    }

    void loop()
    {
    float dist_cm = ultrasonic.Ranging(CM); // get distance
    Serial.println(dist_cm); // print the distance
    delay(100); // arbitary wait time.

    for (int i = 0; i < LED_COUNT; ++i)
    {
    boolean enableSegment = (dist_cm >= 10+i);
    digitalWrite(i + FIRST_LED_PIN, enableSegment);
    }
    }
     
  10. geher

    geher Гуру

    boolean enableSegment = (dist_cm >= 10+(i*10)); ?
     
    Nitro77rus нравится это.
  11. Nitro77rus

    Nitro77rus Гик

    Спасибо :)
     
  12. asd-zxc

    asd-zxc Нуб

    Помогите, пожалуйста, ламеру! :)
    Использую датчик HC-SR04, Arduino micro и источник питания 12в (с него питаются ленты светодиодов)
    Пытаюсь сделать плавную регулировку яркости от расстояния. тестирую на 13м светодиоде. Код fade-а выглядит примерно так
    Код (Text):
    if (cm < 100)
    {

    int cm2 = 100 - cm;

    int fadeValue2 = map(cm2 , 0, 100, 0, 254);


    analogWrite(13, fadeValue2);
    }

    else
    {
    analogWrite(13, 0);

    }
    }
     
    Но проблема в том, что если мерить свыше 50см, то при работе от источника питания диод горит постоянно. При условии до 50см, все нормально. При работе от USB все тоже хорошо. куда копать?! Голову всю сломал уже…
     
  13. ВовВовыч

    ВовВовыч Нерд

    Ну вроде как у светодиода нелинейная характеристика по яркости.
    Попробуйте простейшим скетчем по очереди на него задать значения 126,190,254 и попытайтесь определить различие яркости.
     
  14. vvr

    vvr Инженерище

    Если от юсби работает, а от внешнего источника питания нет, то вопрос в схеме подключения, разбираемся...:)
     
  15. Наверно Питание слабовато(Или в коде ошибка)