Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 20
  1. #1
    Гуру Аватар для St@rz
    Регистрация
    20.06.2008
    Возраст
    49
    Сообщений
    2,293
    Вес репутации
    859

    По умолчанию Парктроник

    Скопировал статью отсюда. Можно взять за основу для парктроника.

    Ping — сверхзвуковой дальномер parallaxe. Он может измерять расстояние до объектов, расположенных близко к сенсору до 3м. При работе он испускает сверхзвуковой сигнал, а затем улавливает отраженный от объекта звук (эхо). Печатная плата Arduino посылает короткий импульс, чтобы начать сканирование, затем улавливает импульс на том же самом штырьковом (pin) выводе. Продолжительность этого второго импульса равна времени, потраченному ультразвуком на преодоление пути до объекта и обратно. И при использовании значения скорости звука, данные о полученном сигнале могут быть преобразованы в расстояние.

    Метод проектирования схемы:

    5V pin вывод PING соединяем с 5V pin на Arduino, соответственно соединяем GDN выводы и SIG(сигнальный) вывод PING соединяем с цифровым pin 7 на Arduino.






    PHP код:
    // this constant won't change.  It's the pin number
     // of the sensor's output:
     
    const int pingPin 7;

     
    void setup() {
       
    // initialize serial communication:
       
    Serial.begin(9600);
     }

     
    void loop()
     {
       
    // establish variables for duration of the ping,
       // and the distance result in inches and centimeters:
       
    long durationinchescm;

       
    // The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
       // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
       
    pinMode(pingPinOUTPUT);
       
    digitalWrite(pingPinLOW);
       
    delayMicroseconds(2);
       
    digitalWrite(pingPinHIGH);
       
    delayMicroseconds(5);
       
    digitalWrite(pingPinLOW);

       
    // The same pin is used to read the signal from the PING))): a HIGH
       // pulse whose duration is the time (in microseconds) from the sending
       // of the ping to the reception of its echo off of an object.
       
    pinMode(pingPinINPUT);
       
    duration pulseIn(pingPinHIGH);

       
    // convert the time into a distance
       
    inches microsecondsToInches(duration);
       
    cm microsecondsToCentimeters(duration);

       
    Serial.print(inches);
       
    Serial.print("in, ");
       
    Serial.print(cm);
       
    Serial.print("cm");
       
    Serial.println();

       
    delay(100);
     }

     
    long microsecondsToInches(long microseconds)
     {
       
    // According to Parallax's datasheet for the PING))), there are
       // 73.746 microseconds per inch (i.e. sound travels at 1130 feet per
       // second).  This gives the distance travelled by the ping, outbound
       // and return, so we divide by 2 to get the distance of the obstacle.
       // See: [url]http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf[/url]
       
    return microseconds 74 2;
     }

     
    long microsecondsToCentimeters(long microseconds)
     {
       
    // The speed of sound is 340 m/s or 29 microseconds per centimeter.
       // The ping travels out and back, so to find the distance of the
       // object we take half of the distance travelled.
       
    return microseconds 29 2;
     } 
    Последний раз редактировалось XsanderS; 17.10.2011 в 23:30.

  2. #2
    Гуру Аватар для St@rz
    Регистрация
    20.06.2008
    Возраст
    49
    Сообщений
    2,293
    Вес репутации
    859

    По умолчанию Re: Парктроник

    Жаль что дороговат датчик.
    Нужно другой какой нибудь приделать.

  3. #3
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,376
    Вес репутации
    10

    По умолчанию Re: Парктроник

    Я делал лет 5 назад на таких датчиках приемник и передатчик

  4. #4
    Новичок
    Регистрация
    19.04.2009
    Возраст
    36
    Сообщений
    3
    Вес репутации
    0

    По умолчанию Re: Парктроник

    // The same pin is used to read the signal from the PING))): a HIGH
    // pulse whose duration is the time (in microseconds) from the sending
    // of the ping to the reception of its echo off of an object.
    pinMode(pingPin, INPUT);
    duration = pulseIn(pingPin, HIGH);
    Я не совсем понимаю.. Здесь написано, что "длительность HIGH pulse есть время в микросекундах от отправки пинга до получения его эхо отраженного от объекта", и затем через duration = pulseIn(pingPin, HIGH) замеряется длительность импульса. Почему так?
    ЗЫ: я так понимаю, что тут duration получится 5 микросек, столько же сколько времени отправляли импульс, и надо замерять длительность LOW импульса предшествующего отраженному HIGH (если так можно сделать)..
    ЗЫЫ: вот тут написано:
    pulseIn

    Вызов:

    pulseIn(порт, значение);

    Описание:

    Считывает импульс (высокий или низкий) c цифрового порта и возвращает продолжительность импульса в микросекундах.

    Например, если параметр «значение» при вызове функции установлен в HIGH, то pulseIn() ожидает, когда на порт поступит высокий уровень сигнала. С момента его поступления начинается отсчет времени до тех пор, пока на порт не поступит низкий уровень сигнала. Функция возвращает длину импульса (высокого уровня) в микросекундах. Работает с импульсами от 10 микросекунд до 3 минут...

  5. #5
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,376
    Вес репутации
    10

    По умолчанию Re: Парктроник

    pinMode(pingPin, OUTPUT);
    digitalWrite(pingPin, LOW);
    delayMicroseconds(2);
    digitalWrite(pingPin, HIGH);
    delayMicroseconds(5);
    digitalWrite(pingPin, LOW);
    Данным способом выдают импульс для что бы возбудить пьезопластину на резонансной частоте 40кГц(ультразвук) и по этой частоте можно будет распознать принятые импульсы и отделить от акустического шума. Одного импульса достаточно, потому что сам излучатель выдаст целый пакет таких импульсов , за счет резонанса.
    Последний раз редактировалось Chip; 07.09.2009 в 20:25.

  6. #6
    Новичок
    Регистрация
    19.04.2009
    Возраст
    36
    Сообщений
    3
    Вес репутации
    0

    По умолчанию Re: Парктроник

    Прошу прощения за мою тупость/тормознутость, но я все равно ничего не понял ..
    - Каким образом измерение длительности принятого сигнала влияет на обеспечение (как я понял) исходного сигнала частотой 40 кГц ??
    - Какой участок вышеприведенного кода отвечает за распознавание принятых импульсов и отделения их от акустического шума??
    - И, в таком случае, где же все таки происходит замер расстояния(времени путешествия сигнала) до препятствия?



    PS: Уважаемый Chip, буду очень признателен за понятный и развернутый ответ.
    PSS: Если, конечно, Вас не затруднит

  7. #7
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,376
    Вес репутации
    10

    По умолчанию Re: Парктроник

    Поправил свой пост, думал об одном писал про другом
    Да и вообще в данном проекте используется активный излучатель и приемник. И прежде чем понять алгоритм кода, нужно ознакомится с его работой.
    Последний раз редактировалось Chip; 07.09.2009 в 20:28.

  8. #8
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,376
    Вес репутации
    10

    По умолчанию Re: Парктроник

    Заказал себе LV-MaxSonar®-EZ1 2 шт. буду пробовать акустический тачь делать.
    Последний раз редактировалось Chip; 07.09.2009 в 21:22.

  9. #9
    Новичок
    Регистрация
    19.04.2009
    Возраст
    36
    Сообщений
    3
    Вес репутации
    0

    Счастье Re: Парктроник

    Спасибо Chip, почитал описание к LV-MaxSonar®-EZ1 и понял принцип действия кода сабжа, дело в том, что parallaxe(как и вышеупомянутый сонар) имеет какую-то собственную схему отпраки и обнаружения сигнала, подсчета расстояния, и возвращения на вход/выход сигнала длительностью соразмерной расстоянию до обнаруженного препятствия. Я же почему-то считал, что там тупо передатчик и приемник подобные этим:
    Цитата Сообщение от Chip Посмотреть сообщение
    Я делал лет 5 назад на таких датчиках приемник и передатчик
    ..с этим связаны все мои дурацкие вопросы..

    В свете новой, для меня, информации у меня возникает следующий вопрос: можно ли подцепить к *duino, например, вот такой сонар без дополнительных схем/плат(я в их составлении, расчетах и построении ноль, полный)?

  10. #10
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,376
    Вес репутации
    10

    По умолчанию Re: Парктроник

    Без дополнительной схемы такой не подсоеденить , да и время резонанса у него большое.
    Последний раз редактировалось Chip; 08.09.2009 в 01:39.

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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