NSoric Poco

Z kiwiki
Prejsť na: navigácia, hľadanie
ArduinoCommunityLogo SVG.svg Toto je "Arduino kiwiki projekt"
This is "Arduino kiwiki project"

Obsah

nSoric Poco - Domáca meteostanica / Home Weather Station

nSoric Poco je domáca meteostanica na báze architektúry Arduino. Obsahuje 2 základné časti:
  • A) Vysielací senzorický modul
  • B) Prijímací vizualizačný modul
nSoric Poco is homemade meteo station on Arduino architecture. It contains of 2 parts:
  • A) Transmitting sensoric module
  • B) Receiving visualization module

Nsoric poco principle.svg

nSoric Poco: architektúra riešenia / architecture of solution


A) Vysielací senzorický modul / Transmitting sensoric module

Sensor board

Princíp fungovania
  • Vysielací modul v pravidelných intervaloch vyšle dátový paket s nameranými hodnotami zo senzorov.
  • Tento dátový paket obsahuje nasledujúce časti:
    • Stavový byte s informáciou o svojich senzoroch
    • Svoju adresu (predpokladá sa že vysielačov môže byť viacero) - 2B
    • Stav batérie - 1B
    • Nameraná teplota (2B), vlhkosť (1B), atmosferický tlak (2B), intenzita svetelného žiarenia (2B)
    • kontrolný CRC súčet
  • Keďže modul bude napájaný z batérie, je potrebné aby sa spotreba znížila na minimum
    • Pre zníženie spotreby je použitá knižnica Low-Power [1]
  • Pre modul BMP180 je použitá knižnica BMP180_Breakout [2]
  • Pre modul BH1750 je použitá knižnica BH1750 [3]
  • Pre senzor DHT22 je použitá knižnica DTHLib [4]
  • Pre moduláciu signálu pre rádiový prenos je použitá knižnica Virtual Wire [5]


Basic principle
  • Transmitting module periodically sends a data packet with measured values from the sensors.
  • This data packet contains the following sections:
    • The status byte with information about their sensors
    • Own address (it is assumed that transmitters may be more) - 2B
    • Battery state - 1B
    • The measured temperature (2B), humidity (1B), atmospheric pressure (2B), the intensity of light radiation (2B)
    • CRC checksum
  • As the module is running on battery power, it is necessary to reduce consumption to a minimum
    • To reduce the consumption of the used Low-Power library [1]
  • For module BMP180 is used library BMP180_Breakout [2]
  • For module BH1750 is used library BH1750 [3]
  • For DHT22 sensor is used DTHLib library [4]
  • For modulation of radio signal is used Virtual Wire Library [5]


Formát vysielaného paketu
  • 1. časť: identifikácia
    • 1 Byte: prezencia senzorov (pozri komentár v zdrojovom kóde pre definíciu SENSOR_TYPE)
    • 2 - 3 Byte: Adresa senzora
  • 2. časť: namerané dáta
    • 4 Byte - stav batérie
    • 5 - (n-2) Byte - namerané hodnoty: teplota (2B), vlhkosť (1B), tlak (2B), svetlo (2B)
  • 3. časť: kontrola
    • posledný bajt je kontrolný súčet CRC8


Data packet format
  • Part 1: identification
    • 1st Byte: Presence of sensors (see comments in the source code for the definition SENSOR_TYPE)
    • 2nd-3th Byte: Sensor address
  • Part 2: measurement data
    • 4th Byte - battery status
    • 5th - (n-2)th Byte - measured values: temperature (2B), humidity (1B), the pressure (2B), light (2B)
  • Part 3: checksum
    • The last byte contains of CRC8 checksum


Zoznam použitých súčiastok
  1. Arduino Pro Mini, ATMega328
  2. digitálny vlhkomer DHT22
    • R2=4.7K - 10K
  3. Rádiový vysielací modul 433Mhz
  4. Špirálová anténa pre 433MHz
  5. Digitálny senzor atmosferického tlaku BMP180
  6. Digitálny senzor intenzity slnečného žiarenia BH1750FVI
  7. Prevodník logických úrovní (5V na 3.3V) pre zbernicu I2C
  8. R1 = 100k
List of used components
  1. Arduino Pro Mini, ATMega328
  2. digital humidity meter DHT22
    • R2=4.7K - 10K
  3. 433Mhz Radio Link RF transmitter
  4. 433MHz Helical antenna
  5. Digital Barometric Pressure Sensor BMP180
  6. Digital Light intensity Sensor Module BH1750FVI
  7. Logic Level Converter Module 5V to 3.3V for I2C bus
  8. R1 = 100k

Schéma zapojenia / schematic

Poco sensors schematic.png

Zdrojový kód / Source code

Complete source code is here: https://github.com/duro80/nSoric-Poco/blob/master/poco_sensors_module/weather_station_1.ino

uint8_t     vw_frame[30];   // data packet
DHT         dht(DHTPIN, DHTTYPE);
BH1750FVI   LightSensor;
SFE_BMP180  pressure;
 
void setup(void)
{
    vw_set_tx_pin(TRANSMIT_PIN);
    vw_set_ptt_inverted(false);
    vw_setup(1000);
 
    LightSensor.begin();
    LightSensor.SetAddress(Device_Address_L); //Address 0x23
    LightSensor.SetMode(Continuous_H_resolution_Mode);
 
    pressure.begin();
 
    dht.begin();
    // prerare the data frame: status byte and address
    vw_frame[0] = SENSOR_TYPE;
    vw_frame[1] = (SENSOR_ADDRESS >> 8) & 0xFF;
    vw_frame[2] = (SENSOR_ADDRESS) & 0xFF;
}
 
/**
* Main loop:
* - measure data
* - send data
* - go to Low Power mode
*/
void loop(void)
{
    doMeasure();
    sendData();
    sleep(SLEEP_TIME); // Low-power state
    delay(2000); // 2 secs to wake up DHT sensor
}


Vzorový výstup / sample output

Tento výstup generuje kód, ktorý je uvedený v zdrojových súboroch na GitHub-e This output generates source code, in listing on GitHub
Start Radio::sensor
station init done.
Data frame: 
240 0 2 127 2 184 73 4 14 0 
battery		: 5.00 V
Temperature	: 21.70 C
Humidity	: 36.20 per100
Light		: 99 lux
Pressure	: 1038 hPa

Napájanie modulu / power management

Princíp fungovania Basic principle
  • napájanie zabezpečuje batéria 1.2V s meničom na 5V
  • Pre jednoduchšie nabíjanie je použitá batéria NiMH
  • O dobíjanie batérie sa stará solárny panel
  • Power supply provides battery 1.2V with 5V converter
  • To facilitate charging, a NiMH battery is used
  • polar panel is used to charging the battery
Zoznam použitých súčiastok List of used components
  1. Solárny panel: 5V, 250mA (1.25W), rozmery 110 x 69 mm
  2. D - Si dióda
  3. R = 100 Ohm (pre výpočet odporu R je použitý vzorec 1)
  4. NiMH článok 1.2V
  5. Zvyšovací menič 5V:.......
  1. Solar panel: 5V, 250mA (1.25W), dimmension 110 x 69 mm
  2. D - Si diode
  3. R = 100 Ohm (equation 1 was used to calculate value of R)
  4. NiMH cell 1.2V
  5. Step up converter 5V: .......


Rovnica 1 / Equation 1


R = \frac{V_{solar} - V_{battery}}{I_{charging}}


V_{solar} = 5V, V_{battery}=1.2V, and  I_{charging}=50mA


R = \frac{5V - 1.2V}{0.05A} = 76 \Omega \doteq 100 \Omega

Schéma zapojenia / schematic

Poco sensor power.png

Mechanické vyhotovenie / mechanical design

B) Prijímací vizualizačný modul / Receiving visualization module

...

Zdroje/References

  1. 1,0 1,1 https://github.com/rocketscream/Low-Power
  2. 2,0 2,1 https://github.com/sparkfun/BMP180_Breakout
  3. 3,0 3,1 https://github.com/claws/BH1750
  4. 4,0 4,1 https://github.com/RobTillaart/Arduino/tree/master/libraries/DHTlib
  5. 5,0 5,1 https://www.pjrc.com/teensy/td_libs_VirtualWire.html
Osobné nástroje
Menné priestory

Varianty
Operácie
Navigácia
Rýchle linky
Nástroje
Tlačiť/exportovať