Измерьте расстояние с помощью датчика сонара на ардуине

Измерьте расстояние с помощью датчика сонара на ардуине
Измерьте расстояние с помощью датчика сонара на ардуине
Anonim

Измерьте расстояние с помощью датчика сонара на Arduino

Измерьте!

Датчики сонара

Самое популярное и основное использование сонара - «видеть» под водой. Сонар использует распространение звука для обнаружения объектов. Поскольку звуковые волны движутся дальше в воде, чем в воздухе, сонар предпочтительнее других типов датчиков, таких как радар по этой причине. Несмотря на то, что для подводного зондирования предпочтительнее, гидролокатор все еще может использоваться на воздухе; однако существует небольшая вероятность вмешательства, которую мы можем видеть при измерении расстояния.

Существует два типа гидролокатора: пассивный гидролокатор и активный гидролокатор. Активный сонар имеет излучатель и детектор: в зависимости от времени, которое сигнал принимает, чтобы вернуться к гидролокатору, он может определять дальность или расстояние объекта и его ориентацию. Он также определяет силу сигнала, чтобы определить, сколько времени потребовалось для приема приемником. Пассивные сонары используются для сбора сигналов от судов и другой морской жизни, таких как киты и подводные лодки. Пассивные сонары не имеют излучателей; они просто получают звуковые волны, приближающиеся к ним.

Image
Image

Билль о материалах

  1. Arduino Uno
  2. Ультразвуковой сканер MaxBotix
  3. 3 свободные провода
  4. Паяльник
  5. припой
  6. Компьютер с интегрированной средой разработки Arduino IDE
  7. USB Type B для подключения Arduino
  8. мультиметр

Мы будем использовать Arduino Uno в качестве нашего микропроцессора, чтобы иметь возможность считывать расстояние, обнаруженное сонаром. Сонар, который мы используем, - это ультразвуковой дальномер Maxbotix, но любые модели, которые близки к этому, с выходом в виде ширины импульса или аналогового сигнала, могут быть использованы в этом проекте. Три незакрепленных провода будут припаиваться к Ультразвуковой дальномер. Нам нужен пайка и паяльник для припаивания проводов к датчику. После того, как все будет спаяно и на месте, код ниже должен быть загружен в Arduino через IDE, и он также будет подключен к USB-типу B.

Начиная

Поскольку Arduino и код будут интерпретировать выход сонара в вольтах, мы не хотим, чтобы между цепью были какие-либо ложные соединения или шорты, поэтому мы должны убедиться, что при пайке пайки нет никакого остатка припоя, который может вызвать короткое замыкание.

Ниже показаны 3 контакта, которые будут пайки на датчике сонара.

Image
Image

Припаяйте провод к земле, V в +5 вольт, а второй снизу - выходной сигнал ширины импульса. После пайки этих трех штифтов очистите ватным тампоном и немного спирта вокруг отверстий, чтобы избавиться от остатков, которые могут остаться из припоя. Чтобы проверить наличие шорт, используйте мультиметр и проверьте сопротивление между этими тремя контактами. Между GND и +5 V должно быть OL или бесконечное сопротивление. Если вы проверите с мультиметром для открытия или если вы проверите непрерывность, тогда он не должен появляться. Если между любыми этими тремя контактами существует некоторая непрерывность, вам необходимо отсоединить провода и очистить остатки паяльника. Как только провода припаяны на Sonar Sensor, и вы не проверили отсутствие шорт, вы можете подключиться к Arduino.

Image
Image

Как подключить датчик к Arduino

Вы можете подключить датчик и Arduino выше с помощью макета в качестве носителя, или вы можете напрямую подключить датчик к Arduino. Датчик заземляется на Arduino и получает питание от выхода Arduino + 5V. Выходной сигнал ширины импульса датчика подключается к любому входу на Arduino, который может принимать ширину импульса. В этом случае я использую цифровой контакт 3.


#include "Maxbotix.h" Maxbotix rangeSensorPW(3, Maxbotix::PW, Maxbotix::LV); // #3 Defines which Digital Input in being Read //Maxbotix:PW defines that the Arduino is reading PW signals void setup() { Serial.begin(9600); } void loop() { unsigned long start; Serial.println("Reading 1st Sensor"); //Serial Monitor will print this line start = millis(); // Number of Milli seconds until the Sonar Receives the signal it sent out Serial.print("PW 1: "); Serial.print(rangeSensorPW.getRange()*.393701); // Multiply by this to convert Cm to Inches Serial.print(" inches - "); Serial.print(millis() - start); Serial.println("ms"); Serial.println(); delay(1500); // Wait for 1.5 Seconds }

Код сонара Ардуино

Когда Arduino подключен, как показано на диаграмме выше, и загруженный код, вы можете открыть последовательный монитор, и расстояния будут отображаться в дюймах с обновлением каждые 1, 5 секунды. Когда вы запускаете серийный монитор, в зависимости от того, где указывается ваш датчик сонара, он даст вам определенное количество дюймов. Если вы положите руку или другой крупный объект, где находится сонар, он также прочитает это и отобразит его расстояние. Для этого специального гидролокатора диапазон составляет 20 футов.

Ниже приведен образ того, как последовательный монитор и код должны выглядеть, как только они запускаются. Счастливое здание!

Image
Image

Попробуйте этот проект сами! Получить спецификацию.