Подключение дальномера HC-SR04 к Arduino

Дим M
Автор темы, Администратор
Администратор
Аватара
Дим M
Автор темы, Администратор
Администратор
Сообщения: 1608
Зарегистрирован: 5 апреля 2013
С нами: 10 лет 11 месяцев

#1 Дим » 25 июня 2017, 12:45

Для начала рассмотрим некоторые особенности ультразвукового дальномера HC-SR04

Простота в использовании, 4-контактное подключение.
Диапазон измерения: от 2 см до 400 см.
Точность измерения: ± 1 см (при максимальной дальности ± 3 см).
Угол измерения: 15º.
Ультразвуковой диапазон работы на частоте 40 кГц.
Рабочее напряжение 4,8 В до 5,5 В (± 0.2В макс).
Диапазон рабочих температур: 0 ° С до 60 ° С (± 10%).

Подключаем по нижеприведенной схеме
подключение дальномера HC-SR04 к Arduino.jpg
Подключение дальномера HC-SR04 к Arduino
подключение дальномера HC-SR04 к Arduino.jpg (104.22 КБ) 1031 просмотр

Заливаем скетч и тестируем.

Код: Выделить всё

//Тестировалось на Arduino UNO
#define Trig 9
#define Echo 8
#define ledPin 13

void setup() 
{  
  pinMode
(Trig, OUTPUT); //инициируем как выход 
  pinMode(Echo, INPUT); //инициируем как вход 
  pinMode(ledPin, OUTPUT); 
  Serial
.begin(9600); 
  
/* задаем скорость общения. В нашем случае с компьютером */
} 
unsigned int impulseTime
=0; 
unsigned int distance_sm
=0; 

void loop
() 
{  
  digitalWrite
(Trig, HIGH); 
  
/* Подаем импульс на вход trig дальномера */
  delayMicroseconds(10); // равный 10 микросекундам 
  digitalWrite(Trig, LOW); // Отключаем 
  impulseTime=pulseIn(Echo, HIGH); // Замеряем длину импульса 
  distance_sm=impulseTime/58; // Пересчитываем в сантиметры 
  Serial.println(distance_sm); // Выводим на порт 
  if (distance_sm<10) // Если расстояние менее 10 сантиметром 
  {     
    digitalWrite
(ledPin, HIGH); // Светодиод горит 
  }  
  else 
  
{   
    digitalWrite
(ledPin, LOW); // иначе не горит 
  }   
  delay
(100); 
  
/* ждем 0.1 секунды, Следующий импульс может быть излучён, только после исчезновения эха от предыдущего. 
   Это время называется периодом цикла (cycle period). 
   Рекомендованный период между импульсами должен быть не менее 50 мс.  */
}

phpBB [media]
[center]i love you [s]mxIni[/s] Mysql[/center]


  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Аппаратная часть»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 4 гостя