Ultrazvukový snímač a Arduino Nano

Ultrazvukový senzor HC-SR04 používa sonar na určenie vzdialenosti k objektu. Tento snímač číta od 2 cm do 400 cm s presnosťou 0,3 cm, čo je dobré pre väčšinu amatérskych projektov.

Ultrazvukový-senzor-HC-SRO4

Popis :

  • Napájanie: +5V DC
  • Pokojový prúd: < 2mA
  • Pracovný prúd: 15mA
  • Efektívny uhol: <15°
  • Dosahová vzdialenosť: 2 cm – 400 cm
  • Rozlíšenie: 0,3 cm
  • Uhol merania: 30 stupňov
  • Spúšťací vstup Šírka impulzu: 10uS TTL impulz
  • Výstupný signál ozveny: impulz TTL úmerný rozsahu vzdialenosti
  • Rozmery: 45 x 20 x 15 mm

Ultrazvukový senzor používa sonar na určenie vzdialenosti od objektu.

  • 1. Ultrazvukový vysielač (trig pin) vydáva vysokofrekvenčný zvuk (40 kHz).
  • 2. Zvuk sa šíri vzduchom. Ak nájde predmet, odrazí sa späť do modulu.
  • 3. Ultrazvukový prijímač (echo pin) prijíma odrazený zvuk (echo).

Čas medzi vysielaním a príjmom signálu nám umožňuje vypočítať vzdialenosť k objektu. Je to možné, pretože poznáme rýchlosť zvuku vo vzduchu. podľa vzorca :

Rýchlosť zvuku vo vzduchu pri 20ºC (68ºF) = 343 m/s

Ultrazvukový-senzor-HC-SRO4
VCC Tento pin Napája senzor (+5V)
Trig Toto je spúšťací vstupný pin
Echo Výstupný pin ozveny
GND GND (zem)

V tomto projekte ultrazvukový senzor číta a zapisuje vzdialenosť k objektu na sériovom monitore.Cieľom tohto projektu je pomôcť vám pochopiť, ako tento senzor funguje. Potom by ste mali byť schopní použiť tento príklad vo svojich vlastných projektoch.

Čo budeme potrebovať :

Schéma zapojenia

Ultrazvukový-senzor-HC-SRO4-arduino-nano
  • GND → GND
  • VCC → 5V
  • Trig → pin D11
  • Echo → pin D9

Najprv vytvoríte premenné pre spúšťač a kolík ozveny s názvom trigPin a echoPin. Spúšťací pin je pripojený k digitálnemu pinu 11 a pin ozveny je pripojený k pinu 9 :

int trigPin = 11;

int echoPin = 9;

Môžete tiež vytvoriť tri premenné typu long: trvanie a palce. Premenná trvania ukladá čas medzi vysielaním a príjmom signálu. Premenná cm uloží vzdialenosť v centimetroch a premenná palce uloží vzdialenosť v palcoch.

long duration, cm, inches;

V setup() inicializujte sériový port s prenosovou rýchlosťou 9600 a nastavte spúšťací kolík(pin) ako OUTPUT a kolík(pin) echo ako INPUT.

Serial.begin (9600);

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

V slučke () spustite senzor odoslaním impulzu HIGH s dĺžkou 10 mikrosekúnd. Predtým však vydajte krátky NÍZKY pulz, aby ste sa uistili, že dostanete čistý VYSOKÝ pulz:

digitalWrite(trigPin, LOW);

delayMicroseconds(5);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

Na získanie času prechodu zvukovej vlny používame funkciu pulseIn():

duration = pulseIn(echoPin, HIGH);

Rýchlosť zvuku je: 343 m/s = 0,0343 cm/us = 1/29,1 cm/us

Musíme vydeliť čas cesty 2, pretože musíme vziať do úvahy, že vlna bola odoslaná, zasiahla objekt a potom sa vrátila k senzoru.

cm = (trvanie/2) / 29,1;

palce = (trvanie/2) / 74;

Nakoniec vytlačíme výsledky v sériovom monitore:

Serial.print(inches);

Serial.print(“in, “);

Serial.print(cm);

Serial.print(“cm”);

Serial.println();


Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Nemôžete kopírovať obsah tejto stránky