Operácie

Ultrazvukový radar s HC-SR04

Zo stránky SensorWiki

Záverečný projekt predmetu MIPS / LS2026 - Werner Federmayer


Zadanie

Úlohou projektu bolo navrhnúť a naprogramovať ultrazvukový merač vzdialenosti s použitím senzora HC-SR04 a vývojovej dosky Arduino. Program má zabezpečiť vyslanie spúšťacieho impulzu na pin TRIG, odmeranie dĺžky impulzu na pine ECHO a následný výpočet vzdialenosti v centimetroch. Nameraná vzdialenosť sa zobrazuje cez sériovú linku, prípadne na LCD displeji.

Bloková schéma zariadenia na meranie vzdialenosti pomocou ultrazvukového senzora HC-SR04.


Literatúra:


Analýza a opis riešenia

Zariadenie je určené na meranie vzdialenosti prekážky pomocou ultrazvukového senzora HC-SR04. Ako riadiaca jednotka bola použitá vývojová doska Arduino Uno s mikrokontrolérom ATmega328P. Arduino zabezpečuje vyslanie spúšťacieho impulzu pre senzor, meranie dĺžky prijatého impulzu a následný výpočet vzdialenosti v centimetroch. Výsledok merania sa zobrazuje cez sériovú linku v počítači, prípadne na LCD displeji.

Senzor HC-SR04 má štyri vývody: VCC, TRIG, ECHO a GND. Vývod VCC je pripojený na napájanie 5 V, vývod GND na zem. Vývod TRIG slúži na spustenie merania a je pripojený na digitálny výstup Arduina. Vývod ECHO je pripojený na digitálny vstup Arduina a jeho dĺžka impulzu zodpovedá času, za ktorý sa ultrazvukový signál odrazí od prekážky a vráti späť k senzoru.

Princíp merania

Po privedení spúšťacieho impulzu na vstup TRIG začne senzor HC-SR04 meranie vzdialenosti. Senzor vyšle krátky ultrazvukový signál smerom k prekážke. Na výstupe ECHO sa vytvorí impulz, ktorého dĺžka zodpovedá času letu ultrazvukového signálu od senzora k prekážke a späť. Arduino túto dĺžku impulzu odmeria a zo známej rýchlosti šírenia zvuku vypočíta vzdialenosť. Keďže zvuk prejde dráhu tam aj späť, pri výpočte sa nameraný čas delí dvomi.

Výpočet vzdialenosti

Ako sme už vyššie spomínali, meranie vzdialenosti je založené na meraní času, za ktorý sa ultrazvukový signál dostane od senzora k prekážke a po odraze späť k senzoru. Senzor HC-SR04 teda nemeria priamo vzdialenosť, ale čas trvania impulzu na výstupe ECHO.

Rýchlosť zvuku vo vzduchu je približne v = 343 m/s pri izbovej teplote. Túto hodnotu môžeme previesť na centimetre za mikrosekundu:

Syntaktická analýza (parsing) neúspešná (syntaktická chyba): {\displaystyle 343m/s=34300cm/s=0,0343cm/μs}

Opíšte sem čo a ako ste spravili, ak treba, doplňte obrázkami... Podrobne opíšte použité komponenty (okrem základnej dosky s ATmega328P procesorom), pridajte linky na datasheety alebo opis obvodu.

Celkový pohľad na zariadenie.

Nezabudnite doplniť schému zapojenia! V texte by ste mali opísať základné veci zo zapojenia, samotná schéma nie je dostačujúci opis.

Schéma zapojenia.

Algoritmus a program

Algoritmus programu využíva toto a toto, základné funkcie sú takéto a voláma ich tuto... Výpis kódu je nižšie...


#include <avr/io.h>

int main(void)
{
  unsigned int measuredValue;

  while (1)
  {
    /*  relax  */  
  }

  return(0);
}
#include <avr/io.h>

void adc_init(void);                                   // A/D converter initialization

unsigned int adc_read(char a_pin);

Pridajte sem aj zbalený kompletný projekt, napríklad takto (použite jednoznačné pomenovanie, nemôžeme mať na serveri 10x zdrojaky.zip:

Zdrojový kód: zdrojaky.zip

Overenie

Ako ste overili funkciu, napríklad... Na používanie našej aplikácie stačia dve tlačítka a postup používania je opísaný v sekcii popis riešenia. Na konci uvádzame fotku hotového zariadenia.

Aplikácia.

Video:

Čo by som urobil inak

Zamyslite sa spätne nad problémom, ktorý ste riešili a napíšte, čo sa vám nepodarilo a nabudúce by ste spravili inak.


Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.