Public Documentation
  • Introduction
  • Getting started
    • Introduction
    • 1. Welcome Page
    • 2. Introduction (Beginner's Guide)
  • Portal Tools
    • Blocko
      • Ůvod do blocka
      • Flip-flop
      • REST-API bloček
    • Grid
      • Úvod do GRID
      • Základní Tlačítko (základy GRID)
      • vylepšený Přepínač (stylování a pokročilé možnosti GRID)
      • text generátor button (messeage type, two elements one widget)
      • graf (pokročilé funkce GRID)
      • Slider (User class v GRIDu)
      • Styly a jejich použití
  • Cloud
    • Cloud
    • Instancies
    • Rest-Api
  • General
    • What we plan
  • Hardware a programování
    • Úvod
      • Nahrání prvního programu
    • Konektivita
      • Specifikace zdroje internetu
      • GSM
      • 6LowPAN
      • Komunikace s portálem
      • Přepínání mezi servery
    • Hardware
      • Základní jednotky
        • IODAG3E
          • Rozhraní a periférie
          • Konektor X a Y
          • Napájení
          • Připojení zdroje k VBAT
          • Paměti
          • Technické specifikace
          • Schémata
        • IODAG3L
      • Rozšiřující moduly
        • GSM shield
        • LED shield
        • Relay shield
        • RFID shield
        • Ultrasonic shield
        • Meteo shield
        • Movement shield
        • PIR shield
        • RGB Displej shield
        • Serial shield
      • Ostatní
        • DevKitG3
          • Schéma
        • TK3G
          • Schéma
        • ZPPG3
          • Schéma
        • WEXP
    • Programování HW
      • Architektura FW
        • Aktualizace FW
        • Autobackup
      • Struktura programu
      • Byzance API
        • Vstupy a výstupy do Portálu
        • Callback Busy
        • Odložený restart
        • Callbacky připojení
        • Uživatelská makra
      • MBED API
        • Vstupy a výstupy
        • Komunikační rozhraní
        • Časování
        • RTOS
      • Knihovny
        • DHT
        • DS1820
        • Dali
        • EdgeStruct
        • I2CWrapper
        • Knock
        • MFRC522
        • MFRC522::MIFARE_Key
        • MPU9150
        • ms5637
        • OneWire
        • PCA9536
        • RGB_matrix
        • RollerDrive
        • SHT21
        • ST7565
        • Servo
        • TCA6424A
        • TLC59116
        • TripleSevenSeg
        • MFRC522::Uid
        • WS2812
        • WakeUp
      • Offline programování
        • Vlastní IDE
        • Upload kódu z GUI
        • Upload kódu z konzole
        • Upload kódu Drag&drop
    • Tutoriály
      • Datum a čas (RTC)
      • Komunikace po sériové lince (UART) s PC
        • Konfigurace sériové linky v PC
        • Programování sériové linky
      • Základní tutoriály
        • Digital Read
        • Analog Read/Write
        • PWM Fade
        • Timer/Ticker
        • State Change Detection
        • Ovládání LED modulu
        • BusOut
        • HC-SR04 Senzor
      • Pokročilé
    • Správa a diagnostika
      • Zdroj restartu
      • LED modul
      • Identifikace zařízení
      • Monitoring parametrů
      • Vytížení zařízení
      • Webové rozhraní
        • Základní přehled
        • Správce firmware
        • Vlákna
        • Definované vstupy
        • Konfigurace MQTT
        • Nastavení
      • Bootloader
        • Režimy bootloaderu
        • Command mód
        • Další vlastnosti bootloaderu
      • Webová konzole
      • Konfigurace zařízení
        • Confighash
      • Omezení konfigurace
        • Konfigurace
        • Binárky
        • Omezení MQTT
        • Lowpan
    • Knowledge base
      • Náhodná čísla
      • Watchdog
      • Paměť RAM
Powered by GitBook
On this page
  • Hardware
  • Zapojení X konektoru
  • Schema
  • Software
  1. Hardware a programování
  2. Hardware
  3. Rozšiřující moduly

Ultrasonic shield

PreviousRFID shieldNextMeteo shield

Last updated 7 years ago

Shield slouží k měření vzdálenosti pomocí odrazu akustického signálu od měřeného objektu. Shield využívá známý ultrazvukový senzor HYSRF04 od čehož se odvíjí i vlastnosti měřiče. Rozsah detekce sje udáván v rozmezí 2 až 400 cm, v praxi je zejména spodní hranice posunutá výše (cca 20 cm). Závisí od softwarevé implementace řídicího programu. Detekční úhel je měnší než 15 stupňů.

Hardware

Zapojení X konektoru

X01

X03

X05

X07

X09

X11

X13

X15

USR

VBUS

ECHO

X00

X02

X04

X06

X08

X10

X12

X14

3V3

GND

TRIG

3.3 V

GND

  • ECHO - pin pro potvrzení spuštění měření a detekci jejího dokončení

  • TRIG - pin pro spuštění měření

  • 5V - detekce 5 V napájení ze step-up regulátoru

  • 3V - detekce 3.3 V napájení pro step-up regulátor

Schema

Software

#include "byzance.h"

/*
* Test_ultrazvuk
* napajeni MUSI byt +5V0, na +3V3 to nefunguje
*/

// seriovka
Serial pc(SERIAL_TX, SERIAL_RX);

// ultrazvuk TRIG na X06
DigitalOut trig(X02);

// ultrazvuk ECHO na X04 (jsou tam pripadne i timery T3CH3, T1CH2N)
DigitalIn echo(X03);

// timer
Timer timer;

DigitalOut ledRed(X00);
DigitalOut ledGrn(X01);

// vzdalenost v cm
int distance_cm;

bool measuring = 0;

int getDistance(void);


void loop() {

distance_cm = getDistance();

if(distance_cm > 400 || distance_cm < 1){
pc.printf("Out of range\n");
} else {
pc.printf("Distance = %d cm\n", distance_cm);
}

Thread::wait(1000);
}


/**
* Vysle 10us pulz na TRIG a meri sirku pulzu vracenou na ECHO
* @param none
* @return prepocitana vzdalenost v cm
*
*/
int getDistance(void){

// 10 microsecond pulse
trig = 1;
wait_us(10);
trig = 0;

// reset timer
timer.reset();

while(!echo){
// waiting too long for rising edge
if(timer.read_ms()>100) return 0;
}

// reset timer
timer.reset();

while(echo){
// waiting too long for falling edge
if(timer.read_ms()>100) return 0;
}
//timer.stop();

return timer.read_us()/58; // prepocet na vzdalenost v cm
}