Snímanie vzdialenosti

V tomto návode si ukážeme ako môžeme pomocou ultrazvukového snímača merať vzdialenosť.

Ultrazvukový snímač HC-SR04

Často využívanou súčiastkou na meranie vzdialenosti je ultrazvukový snímač HC-SR04 [1].

Jednotlivé vstupy zapojíme nasledujúco:

  • VCC - Vstupné napájanie - 5V
  • GND - Spoločná zem
  • Trig - Vysielač ultrazvukového signálu (digitálny pin, v tomto návode ako D2)
  • Echo - Prijímač odrazeného signálu (digitálny pin, v tomto návode ako D3)

Popis pinov nájdete aj na: Ultrasonic Sensor HC-SR04 and Arduino – Complete Guide

Čítanie vzdialenosti z MATLABu

Skôr ako začneme čítať hodnoty snímača v Simulinku, overíme si jeho činnosť v MATLABe. Vytvorme objekt pre spojenie s Arduinom. Snímanie vzdialenosti je zabezpečené pomocou knižnice, ktorú musíme pri vytvorení objektu pridať. Pri vytvorení objektu s knižnicou už musíme pridať aj typ dosky a komunikačný port.

a=arduino('COM3','MEGA2560',"Libraries","Ultrasonic")

Po pridaní knižnice je potrebné vytvoriť objekt pre ultrazvukový snímač. Objekt vyžaduje ako vstupné parametre objekt pre spojenie s Arduinom, Trigger pin a Echo pin snímača.

ultra = ultrasonic(a,'D2','D3')

Čítanie vzdialenosti zabezpečuje funkcia readDistance. Vzdialenosť sa zosníma v metroch.

dist=readDistance(ultra)

Po skončení práce vymažeme objekt Arduina.

clear a

Čítanie vzdialenosti zo Simulinku

Na čítanie snímačov ovládanie motorov zo Simulinku použijeme nasledujúce bloky

  • Simulink Support Package for Arduino Hardware - Sensors - Ultrasonic Sensor
  • Simulink - Math Operations - Gain
  • Simulink - Discontinuities - Saturation
  • Simulink - Sinks - Scope

Simulinkovú schému zostrojíme zapojením blokov podľa nasledujúceho obrázka:

Blok pre ultrazvukový snímač nastavíme pre 2 signálne piny, pretože využívame samostatný pin pre Trigger a Echo. Piny pre Trigger a Echo nastavíme podľa zapojenia na Arduine. Vzorkovanie nastavíme na 0.01 sekundy.

Za blok ultrazvukového snímača sme pridali zosilnenie s hodnotou 100. Zosilnenie nám prepočítava vzdialenosť z metrov na centimetre. Blokom saturácie vieme obmedziť dolný a horný limit vzdialenosti počas behu programu.

V našom prípade sme vzdialenosť obmedzili na 3cm až 20cm. Hodnoty môžete nastaviť podľa vlastnej potreby. Nastavte pre schému koncové zariadenie Arduino MEGA 2560, čas do nekonečna a model môžete spustiť pomocou tlačidla Monitor & Tune. Na bloku Scope môžete pozorovať prečítanú vzdialenosť.

Literatúra

[1] Ultrasonic Sensor HC-SR04 and Arduino – Complete Guide