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
  • Konfigurace a zapojení
  • Schema
  • Software
  1. Hardware a programování
  2. Hardware
  3. Rozšiřující moduly

Meteo shield

PreviousUltrasonic shieldNextMovement shield

Last updated 7 years ago

Shield slouží k měření různých (meteorolických) veličin: teplota (až 3x), relativní vlhkost, atmosferický tlak a intenzitu osvětlení.

Měření teploty a vlhkosti obstarává digitální obvod SHT21 s níže uvedenými charakteristikami:

  • 0,04%RH (12bit) rozlišení relativní vlhkosti (RH - Relative Humidity)

  • přesnost relativní vlhkosti ±2%RH

  • měřený rozsah vlhkosti 0 až 100%

  • 0,01°C (14bit) rozlišení teploty

  • přesnost teploty ±0,3 °C

  • měřený rozsah teploty -40 až +125 °C (extended range)

Měření teploty a atmosferického tlaku zajišťuje rovněž digitálně řízený obvod MS5637 s následujícími charakteristikami:

  • měřený rozsah tlaku 10 až 2000 mbar

  • 0.11 až 0.016 mbar rozlišení tlaku

  • měřený rozsah teploty -40 až +85 °C

  • 0,01°C rozlišení teploty

  • přesnost teploty ±1°C

Součástí je také analogový obvod pro vyhodocování teploty ze senzorů typu PT1000. Poslední součástí je fotodioda se zesilovačem pro snímání intenzity okolního osvětlení.

Hardware

Zapojení X konektoru

X01

X03

X05

X07

X09

X11

X13

X15

USR

VBUS

PT1000

SDA

X00

X02

X04

X06

X08

X10

X12

X14

3V3

GND

LIGHT

SCL

3.3 V

GND

  • PT1000 - analogový vstup shieldu pro detekci odporu senzoru Pt1000

  • LIGHT - analogový vstup shieldu pro detekci intenzity okolního osvětlení

  • SDA a SCL - komunikace po I2C sběrnici se senzory

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

Konfigurace a zapojení

  • SJ1 - spojením se připojí analogový výstup pro detekci osvětlení

  • SJ2 - spojením se připojí analogový výstup pro měření teploty pomocí senzoru Pt1000

  • JP1 - konektor pro připojení senzoru Pt1000

  • R1 - nastavení citlivost senzoru osvětlení

  • D1 - detekční fotodioda senzoru okolního osvětlení

  • IC1, IC2 - integrované obvody pro měření tlaku, vlhkosti a tlaku

Schema

Software

#include "byzance.h"
#include "ms5637.h"
#include "SHT21_ncleee.h"
#include "DHT.h"

//initiate I2C for SHT21
I2C i2c(X07,X06);
SHT21 sht(&i2c);
AnalogIn light(X05);
AnalogIn pt1000(X04);
//initiate I2C for MS5637
ms5637 ms(&i2c);

//initiate AM2302 sensor
//DHT sensor(X10, AM2302);
/*
* konstanty pro vypocet odporu snimace Rt
*
* A - zesileni neinvertujiciho stupne
* R - ve schematu R4
* Rt = R*(1 - 4*(p - 0,5)/A)
*/
#define PT1000_A 3.2    //1+R6/R8
#define PT1000_R 1200    //R4


/*
* konstanty prevod Rt -> t
* linearizace prevodni tabulky pro Pt1000
* t = K*Rt + q
*/
#define PT1000_K 0.2616828    //umera
#define PT1000_Q -261.12319    //posun po ose y

Serial    pc(SERIAL_TX, SERIAL_RX); // tx, rx

int rh, temp;
//int error;
float relHumidity, temperature;
int userRegister;

void init(){


pc.baud(115200);

ms.cmd_reset();    // reset MS5637
}

void loop(){


/*
* reading data from MS5637
* pressure and temperature
*/
float t = ms.calcTemp();
float p = ms.calcPressure();
float h=-1;
pc.printf("ms5637: t = %2.2f\t p = %4.f\t h= %2.2f\n", t,p,h);

/*
* reading data from SHT21
* temperature and humidity
*/
t = sht.readTemp();
h = sht.readHumidity();
p=-1;
pc.printf("sht21: t = %2.2f\t p = %4.f\t h= %2.2f\n", t,p,h);
pc.printf("light = %d\n",32768-light.read_u16());
static float filtered=0;
for(uint8_t i=0; i<16; i++){
float pom = pt1000.read();
float r = PT1000_R*(1-4*(pom-0.5)/PT1000_A);
t=PT1000_K*r+PT1000_Q;
filtered=t*0.2+filtered*0.8;
}
pc.printf("pt1000 tf = %f\n",filtered);



Thread::wait(100);
}