Ultrasunete Distanța Measurer hc-SR04 - skhemopediya

Cu această ocazie am cumpărat-o cu ultrasunete gama Finder HC-SR04. Dispozitivul constă dintr-un modul cu două pezoizluchatelyami, dintre care unul servește drept emițător, iar al doilea - receptor de undă cu ultrasunete; Plus electronica de control pentru controlul emițător și receptor. Pentru a conecta modulul are un conector de 4 pini, dintre care două (este necesar 5 volți) de putere, iar alte două pentru comunicarea cu microcontroler.

Ultrasunete Distanța Measurer hc-SR04 - skhemopediya

Interfața de comunicare este organizat aici este foarte simplu: de intrare este umpuls scurtă durată 10-15 microsecunde și de ieșire impuls înainte. După ce receptorul vine la unda reflectată, modulul de distanță se calculează și afișează picioare Echo nivel înalt durata impulsului de 25 ms. lungimea impulsului de ieșire este proporțională cu distanța până la obstacol din care a reflectat val de ultrasunete. Va trebui doar pentru a prinde acest puls, se calculează lungimea și traduce acea valoare în depărtare.

  • Tensiunea de alimentare: 5V
  • Quiescent curent: <2 мА
  • unghi de vizualizare efectivă: <15 °
  • Gama Distanța: 2 cm - 500 cm
  • Rezoluție: 0,3 cm

Caracteristici potyrili cu documentația privind modulul. În plus, producătorul conduce formulă prin care să se calculeze distanța în funcție de durata impulsului.

S = F / 58; unde S - distanța în centimetri, F - lungimea impulsului în microsecunde

După cum se poate observa, chiar știu, nu este necesară viteza sunetului.

Pentru testele adunat aici această schemă:

Ultrasunete Distanța Measurer hc-SR04 - skhemopediya

Modulul este conectat la microcontroler direct. acolade pune rezistențe nu trebuie să, ei au deja pe modulul.

Și așa avem nevoie pentru a prinde doar un singur impuls, iar apoi se calculează lungimea. La început a vrut să se alinieze pentru acest caz una dintre întreruperi externe a microcontrolerului, întreruperea trebuie să fi avut loc atât pe frontul crescător (tranziția de la un nivel la o stare de mare) și marginea de cădere (de la mare la mic). Adică au pe zbor pentru a schimba configurația acestei întreruperi. În plus față de acest lucru, trebuie să utilizați unul dintre cronometre, care trebuie să măsoare lungimea impulsului. Prea complicat pentru un pas mic repara semnalul. În Bascom-AVR în acest caz, are o echipă specială Pulsein. Aici este un exemplu de cum pentru a ridica un semnal cu această comandă:

Pulsein A. Pind. 5. 1

Aici, variabila A este scris în valoarea lungimii impulsului în zeci de microsecunde. Pind.5 împușcat cu picioarele. Unitatea de la capătul echipei a declarat că necesitatea de a captura un semnal de nivel înalt. În cazul în care schimbarea la 0, atunci controlerul va prinde semnalul de nivel scăzut.

Această comandă utilizează întrerupe și timer-ul de la hardware-ul, dar este capabil să determine apariția lungimii impulsului și fixați-l cu o rezoluție de 10 microsecunde. Comanda foloseste lungimea impulsului pentru stocarea de tip 2 octeți variabil, astfel încât lungimea maximă a semnalului recepționat poate fi 655.35 ms. Este suficient pentru sarcina, dar puteți edita fișierul bibliotecă mcs.lib și modificați maximă stabilită de puls.

O listă completă a programului este prezentat mai jos

„porturi de conectare afișare de configurare MK

ConfigLcd = 16 * 2

Config Portd.4 = ieșire „de ieșire pentru conectarea picioarelor de declanșare

Trigger Alias ​​Portd.4

Config Portd.5 = Intrare de intrare“la puls Echo

Config Portd.7 = ieșire de configurare“pentru a conecta LED

Led Alias ​​Portd.7

Dim Un AsWord „lungime de semnal aici valoarea copiat

Dim variabila S AsSingle“pentru stocarea distanței

Const K = 0,1725 „factor de conversie puls lungime distanta

Lcd "Sonar HC-SR04"