Livrăm în toată Moldova
CONSTRUIEȘTE PAS CU PAS

Măsurarea distanței folosind senzorul ultrasonic

Măsurarea distanței folosind senzorul ultrasonic Arduino este un proiect foarte simplu pentru a măsura distanțe mici.

13.04.2019Lecții Arduino
Măsurarea distanței folosind senzorul ultrasonic

Măsurarea distanței folosind senzorul ultrasonic Arduino este un proiect foarte simplu pentru a măsura distanța. Înainte de a începe, trebuie să știți câteva informații despre senzorul ultrasonic HC SR-04, care este un senzor cu cost redus. Senzorul ultrasonic este alcătuit din 2 module, transmițător și receptor. Transmițătorului scoate impulsul iar receptorului recepționează impulsul. Dacă un obstacol este plasat înaintea senzorului, pulsul transmis lovește obstacolul și se reflectă înapoi. Pulsul reflectat este recepționat de partea receptorului. Se calculează timpul dintre transmisie și recepție. Aceste date sunt procesate pentru a calcula distanța.

În acest proiect, am folosit un HCSR-04 pentru a determina distanța obstacolului de la senzor. Principiul de bază al măsurării distanței cu un senzor ultrasonic se bazează pe ECHO. Atunci când undele sonore sunt transmise în mediul înconjurător, undele sunt returnate la origine după ce s-au lovit de obstacol. Așadar, trebuie doar să calculam timpul de călătorie al ambelor sunete, ceea ce înseamnă timpul de ieșire și timpul de întoarcere la origine după ce semnalul s-a lovit de obstacol. Pe măsură ce viteza sunetului este cunoscută, după un anumit calcul putem calcula distanța.

Am conectat senzorul ultrasonic la placa Arduino:

Pin Senzor Ultrasunet Conectat la Arduino Uno
5V 5V
TRIG Digital 2
ECHO Digital 3
GND GND

Am conectat LCD I2C la placa Arduino:

Pin LCD I2C Conectat la Arduino Uno
GND GND
5V 5V
SDA A4
SCL A5

Principiul de lucru al senzorului ultrasonic

  • Semnalul high-level este trimis la 10 microsecunde folosind Trigger
  • Modulul trimite semnalele de 40 kHz și apoi detectează dacă impulsul este primit sau nu prin Echo.
  • Dacă semnalul este primit, atunci acesta este high-level. Se face calculul de timp dintre trimiterea și primirea semnalului.

Formula de calcul al distanței:

Distanța = (Timp x Viteza luminii (340 m/s))/2

 

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

#define I2C_ADDR 0x27 
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7

LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);


const int trigPin = 3;
const int echoPin = 2;
long duration;
int distanceCm, distanceInch;
void setup() {
   lcd.begin (16,2);
  lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
  lcd.setBacklight(HIGH);
  lcd.home ();
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
}
void loop() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distanceCm = duration * 0.0340 / 2;
  distanceInch = duration * 0.01330 / 2;
  lcd.setCursor(0, 0);
  lcd.print("Distanta: ");
  Serial.println(distanceCm);
  lcd.print(distanceCm);
  lcd.print(" cm");
  lcd.setCursor(0, 1);
  lcd.print("    ");
  lcd.print(distanceInch);
  lcd.print(" inch");
  delay(1000);
}

Schema proiectului

Schema proiectului Descarcă biblioteca ↓

Piesele de care ai nevoie

Display-uri și LED-uri

Ecran LCD 1602 IIC/I2C

Acest ecran LCD 1602 cu modul IIC/I2C integrat, este compatibil cu Arduino Uno R3 / Arduino Mega 2560 și poate fi folosit pentru afișarea informațiilor, primite de la diferiți senzori de temperatura, umiditate sau orice fel de mesaje programate.

✓ În stoc
155.00 lei
Senzori

Senzor ultrasonic HC-SR04

Senzorul ultrasonic HC-SR04 este unul dintre cei mai utilizați senzori pentru aflarea distanței.

✓ În stoc
50.00 lei

Discuții în atelier

Teodor

mai e nevoie și de fire tata tata

Lasă un comentariu