Підключення датчику дистанції HC-SR04 до Ардуіно

Використання датчиків різної дії для побудови детекторів перешкод, сонарів, вимірювання товщини та відстані до обєктів. Ультравукові, оптичні, фотоелектричні датчики відстані
Відповісти
Аватар користувача
Arduino
Site Admin
Повідомлень: 98
З нами з: 16 травня 2017 18:18

Підключення датчику дистанції HC-SR04 до Ардуіно

Повідомлення Arduino » 28 травня 2017 20:24

HC-SR04-Arduino.jpg
Після успішного підключення можна швидко написати код, який буде вираховувати відстань в сантиметрах. Код прокоментований, так що питань не повинно бути .
Ультразвуковий Датчик відстані http://arduinka.biz.ua/uk/datchik-dista ... 20c74.html :arrow:


// задаємо піни
int echoPin = 2;
int trigPin = 3;

void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// відключаємо подачу імпульсу
digitalWrite(trigPin, LOW);
}

void loop() {
int duration, cm;
// подаємо імпульс
digitalWrite(trigPin, HIGH);
// чекаємо 10 мікросекунд
delayMicroseconds(10);
// відключаемо подачу імпульсу
digitalWrite(trigPin, LOW);
// зчитуємо довжину сигналу
duration = pulseIn(echoPin, HIGH);
// перетворюємо у сантиметри
Serial.print(duration / 58);
Serial.println(" cm");
// чекаємо пів секунди до слідуючого виміру
delay(500);
}
HC-SR04-Arduino-2.jpg
Всю програму можна спростити до кількох стрічок використавши бібліотеку для HC-SR04 Ultrasonic
#include <Ultrasonic.h>
Ultrasonic ultrasonic(3,2);
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print(ultrasonic.Ranging(CM));
Serial.println(" cm");
delay(500);
}
Вивід даних про відстань на дисплей 1602 - остаточний короткий варіант пргограми
#include <LiquidCrystal.h>
#include <Ultrasonic.h>

LiquidCrystal lcd(13,12,11,10,9,8);
Ultrasonic ultrasonic(3,2);

void setup() {
Serial.begin(9600);
lcd.begin(16,2);
}
void loop() {
int cm = ultrasonic.Ranging(CM);
// очищаем экран
lcd.clear();
// устанавливаем курсор в начало
lcd.setCursor(0,0);
lcd.print(cm);
lcd.print(" cm");
// теперь мы не засоряем консоль, и задержку можно поставить поменьше
delay(200);
}
Відео з джерела інформації

Код: Виділити все

  https://youtu.be/_JLQCeHbB1w

Відповісти

Повернутись до “Модулі детекції першкод, переміщення, відстані”