Senzorul ultrasonic HC-SR04 - partea a 2-a

    Pornind de la articolul precedent putem folosi o librarie pentru a calcula distanta detectata pana la diferite obiecte. Aceasta librarie se numeste NewPing si poate fi descarcata de aici.
    Afisarea informatiilor se va face, ca si in precedentul articol, pe un display LCD cu interfata I2C.
    Dupa descarcarea si instalarea acestei librarii vom incepe sa scriem cod sursa pentru a incepe sa detectam distante. Pentru inceput va trebui sa includem aceasta noua librarie in noul sketch:

#include <NewPing.h>

    Dupa includerea librariei va trebui sa definim porturile pentru pinii trig si echo. Aceste porturi raman identice cu cele folosite in articolul anterior:

#define TRIG 10
#define ECHO 11

    Pe langa cele 2 porturi va mai trebui sa definim si distanta maxima care poate fi citita de catre senzor:

#define DIST_MAX 400

    Dupa va urma initializarea clasei librariei nou instalate, la initializare vom adauga cei 3 parametri definiti putin mai sus:

NewPing sonar(TRIG, ECHO, DIST_MAX);

    Ultima variabila pe care o vom declara este o variabila de tip float pentru stocarea distantei masurate:

float distanta;

    In functia setup() nu trebuie sa adaugam nici o linie de cod necesara functionarii acestei librarii si, de aceea, vom trece direct la functia loop() unde, la inceput, vom masura distanta pana la obiect:

distanta = sonar.ping_cm();

    Valoarea rezultata este exprimata in centimetri si putem sa o afisam pe display folosind aceasta linie de cod:

lcd.print(distanta);

    Sketchul in forma finala este cel de mai jos:

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
#include <NewPing.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

#define TRIG 10
#define ECHO 11
#define DIST_MAX 400

NewPing sonar(TRIG, ECHO, DIST_MAX);

float distanta;

void setup() {
  lcd.begin();
  lcd.print("Modul HC-SR04");
  lcd.setCursor(0, 1);
  lcd.print("libraria NewPing");
  delay(2000);
  lcd.clear();
}

void loop() {
  distanta = sonar.ping_cm();
  lcd.print("Distanta: ");
  lcd.setCursor(0, 1);
  lcd.print("                ");
  lcd.setCursor(0, 1);
  lcd.print(distanta);
  lcd.print(" cm");
  delay(300);
}

    Poze cu montajul in functiune se pot vedea mai jos:

Nu sunt comentarii in “Senzorul ultrasonic HC-SR04 - partea a 2-a”

Lasa un comentariu

Raspuns lui Some User

Autentificare