Sisällysluettelo:

Kannettava sääasema yötaivaan tarkkailijoille: 7 vaihetta (kuvilla)
Kannettava sääasema yötaivaan tarkkailijoille: 7 vaihetta (kuvilla)

Video: Kannettava sääasema yötaivaan tarkkailijoille: 7 vaihetta (kuvilla)

Video: Kannettava sääasema yötaivaan tarkkailijoille: 7 vaihetta (kuvilla)
Video: 🌦️ Alle 15€ langaton sääasema Arvostelu 2024, Heinäkuu
Anonim
Kannettava sääasema yötaivaan tarkkailijoille
Kannettava sääasema yötaivaan tarkkailijoille

Valosaastuminen on yksi monista maailman ongelmista. Tämän ongelman ratkaisemiseksi meidän on tiedettävä, kuinka paljon yötaivas on saastunut keinotekoisella valolla. Monet opettajat ympäri maailmaa yrittävät mitata valosaastetta kalliilla antureilla. Päätin vaihtaa kannettavan luxmeterini (tarkista aiemmat ohjekirjojen projektit Portable Luxmeter) sääasemaan, jossa on TSL2591 -anturi. Tämä anturi on riittävän herkkä mittaamaan yösaasteita. Lisäksi lisään HTU21D: n lämpötilan ja kosteuden mittaamiseen.

Vaihe 1: Mikä on yösaaste ja miten se mitataan

Mikä on yösaaste ja miten se mitataan
Mikä on yösaaste ja miten se mitataan

Yön saastuminen on valoa lampuista, autoista, taloista, suurista LCD -paneeleista kaupungissa ja jokaisesta ihmisen tekemästä valosta. Valon kutsu keinotekoiseksi. Tarkkailijoille keinotekoinen valo on suurin ongelma nähdä tähtiä kaupungista, ja heidän on mentävä kaupungin ulkopuolelle. Ihmisille suuri valosaaste on haitallista. Ja myös puille, ruoholle ja eläimille.

Voit tarkistaa paikkasi valosaastumisen täältä

Se on vain malli, ja todelliset arvot voivat vaihdella. Siksi loin tuon luksusmittarin.

Valon pilaantumisen mittaamiseksi mittaan vain luxia ja lasken suuruuden/ arsekin2.

Voin laskea luksista kandelaan per neliömetri:

1 cd/m2 = 1 lux

Suuruus neliökaarisekuntia kohti (mag/arcsec2) kuvaa yötaivaan taustaa (se kutsuu pinnan kirkkaudeksi).

Lisätietoja wikistä: Pinnan kirkkaus

Cd/m2: n laskemiseksi mag/arcsec2: ksi on kaava:

[arvo mag/arcse2] = Log10 ([arvo cd/m2]/108000)/-0,4

unihedron.com/projects/darksky/magconv.php

Vaihe 2: Luettelo

BOM
BOM

Tätä projektia varten tarvitset:

1. WEMOS D1 Mini tai mikä tahansa mikro -ohjain

(Käytän wemoja, koska se on pienin, usb -portilla, voit kokeilla Arduino Nano -laitetta)

WEMOS D1 MINI (Yanwen Economic Air Mail)

WEMOS D1 MINI (AliExpress -standarditoimitus)

WEMOS D1 MINI 10 kpl (China Postin rekisteröity lentoposti - ilmainen toimitus)

usb -kaapeli ohjelmointiin ja koodin lataamiseen wemosiin

2. TSL2591 -anturi

TSL2591 (Yanwen Economic Air Mail)

TSL2591 (China Postin rekisteröity lentoposti)

TSL2591 (China Postin rekisteröity lentoposti)

3. HTU21D lämpötila- ja kosteusanturi

HTU21D (Cainiao Super Economy)

HTU21D (Yanwen Economic Air Mail - ilmainen toimitus)

4. OLED -näyttö 0,96 (128 x 64)

OLED -näyttö

OLED -näyttö

OLED -näyttö

5. 18650 akku

18650 litiumioniakku

18650 litiumioniakku

akun pidike 18650

6. Latausmoduuli TP4056

tp4056

tp4056

7. kytkinpainikkeet tai dip -hyppyjohdin

swtich punainen dippi

swtichers, paljon erilaisia

8. leipälevy- ja dupont -kaapelit

pieni leipälauta

leipälautanen

9. tapauksessa, luon puusta + teipistä

punainen teippi

Prusa 3D -tulostin, toivon, että teen kotelon muovista: D

Vaihe 3: Piiri

Piiri
Piiri

Piiri on melko yksinkertainen:

Liitä kaikki i2c -moduulit (TSL2591, OLED, HTU21D) wemojen SCL- ja SDA -nastoihin (SDA -> D2, SCL -> D1).

Kytke niihin virta 3,3 V: lla wemosta.

Liitä akun plusnapa 5 W: n napaan ja akun + nasta tp4056 -latausmoduuliin akun plusnapaan.

Yhdistä kaikki maadoitukset yhteen.

Vaihe 4: HTU21D -anturi

HTU21D -anturi
HTU21D -anturi

Ostan uuden lämpötila -anturin, joka mittaa tarkkuudella 0,3 ° C!

Asiat, jotka sinun pitäisi tietää tästä anturista (kipinöinnistä):

  • Käyttää I2C -käyttöliittymää
  • Tyypillinen kosteustarkkuus ± 2%
  • Tyypillinen lämpötilan tarkkuus ± 0,3 ° C
  • Toimii 0-100%: n kosteudessa, mutta tätä anturia ei suositella vaativiin ympäristöihin, joissa se voi joutua kosketuksiin veden kanssa (kuten sade).
  • 3,3 V: n anturi - käytä inline -logiikan tasomuuntimia tai 10 k: n vastuksia 5 V: n signaalien rajoittamiseen
  • Vain yksi HTU21D -anturi voi olla I2C -väylällä kerrallaan

Yhteenvetoni: se on hyvä anturi, koska se mittaa tarkkuudella 0,3 ° C ja sekä - lämpötilan että kosteuden. Hyödyt ovat I2C -häiriöt ja haitat 3.3V, mutta sillä ei ole väliä minun tapauksessani.

Vaihe 5: TSL2591

TSL2591
TSL2591

Tämä anturi on hyvä mittaamaan yötaivaan saastumista, koska se on herkkä (188 mikro luxille!).

1. ovat diodeja, joilla on mahdollinen ir ja täysi mittaus. En käytä sitä.

2. jännitesäädin 5V - 3,3 V

Sirun tekniset tiedot (adafruitista):

  • Arvioi ihmissilmän vasteen
  • Erittäin laaja dynaaminen alue 1 - 600 000 000 Laskee
  • Lux -alue: 188 uLux -herkkyys, jopa 88 000 Lux -tulomittausta.
  • Lämpötila -alue: -30-80 *C
  • Jännitealue: 3.3-5V sisäiseen säätimeen
  • Liitäntä: I2C
  • Tämä kortti/siru käyttää I2C 7-bittistä osoitetta 0x29 (kiinteä)
  • Mitat: 19 mm x 16 mm x 1 mm /.75 "x.63" x.04 "Paino: 1,1 g
  • 2 diodia sekä IR- että koko spektrin mittaamiseen

Yhteenveto:

188 uLux on täydellinen, myös I2C -kommunikointi on yksinkertaista. Ehkä ongelma voidaan korjata I2C -osoite (0x29). Myös aluksella oleva säädin on hyvä ja mahdollista käyttää anturia talvella (pakkasella).

Vaihe 6: Koodi

Tarvitset nämä kirjastot (lisään ne yhteen zip -tiedostoon):

  • Adafruit-GFX-kirjasto-master
  • adafruit_gfx_library_master
  • Adafruit_HTU21DF_Library-master
  • Adafruit_Sensor-master
  • Adafruit_TSL2591_Library-master

Koodi: voit käyttää omaani tai luoda oman. Älä unohda asettaa maksimaalista integrointiaikaa (600 MS) ja vahvistusta maksimiin (GAIN_MAX) yötaivaan mittaukseen.

Jos yrität käyttää koodiani, lataa ino -tiedosto. Kun kopioin koodin ohjeesta, kirjastoissa on jotain vikaa

Käytän kuun latauskuvaa huvin vuoksi. Voit käyttää mitä tahansa, käytä vain tätä sivua saadaksesi taulukon:

javl.github.io/image2cpp/

//https://lastminuteengineers.com/oled-display-arduino-tutorial///https://javl.github.io/image2cpp/ // mcd suuruusluokkaan https://unihedron.com/projects/darksky/magconv.php… // HD44780 on merkkipohjaisten nestekidenäyttöjen (LCD) ohjain. https://unihedron.com/projects/darksky/magconv.php… #include

#sisältää

#Sisällytä #Sisällytä #Sisällytä "Adafruit_HTU21DF.h" #Sisällytä "Adafruit_TSL2591.h" int laskuri; // OLED-näyttö TWI-osoite #define OLED_ADDR 0x3C Adafruit_SSD1306 -näyttö (-1); // - 1 uudelleenkäynnistysnäytölle uudelleenkäynnistyspainikkeella arduino -kortilla Adafruit_HTU21DF htu = Adafruit_HTU21DF (); Adafruit_TSL2591 tsl = Adafruit_TSL2591 (2591); // anna numero anturitunnistetta varten (myöhempää käyttöä varten) uint32_t lum; uint16_t ir, täysi; int ulux; kelluva lux; kelluva lämpötila; float rel_hum; kellua mag_arcsec2; // visual mags/arcsecond² [arvo mag/arcsec2] = Log10 ([arvo cd/m2]/108000)/-0,4 // symbolit // Celsius const unsigned char -aste PROGMEM = {0xe, 0x11, 0x11, 0x11, 0xe, 0x0, 0x0, 0x0}; // eksponentti 2 const unsigned char -eksponentti PROGMEM = {0xe, 0x1b, 0x3, 0x6, 0xc, 0x18, 0x1f, 0x0}; // 'moon_logo', 128x64px const unsigned char intro PROGMEM = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0f, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0ff 0xff, 0xff, 0xff, 0xc0, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0xff, 0xff, 0xff, 0xff, 0x01, 0xff, 0xffd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x03, 0xff, 0xc0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0ff 0xfc, 0x07, 0xff, 0xe0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0f, 0xff, 0x77, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x1f, 0xbe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x1f, 0xcc, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x3f, 0xc0, 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x3f, 0xe0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x3f, 0x80, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x3f, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x ff, 0xff, 0xf0, 0x00, 0x3f, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0x0, 0x18, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0x7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xe1, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xff, 0ff 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x18, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff0, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x48, 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x80, 0x3f, 0xff, 0xff, 0xff, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xc0, 0xc4, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x60, 0x0f, 0xff, 0xff, 0xff, 0xff 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xf0, 0x03, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xc0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xx, 0xff 0x43, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeff, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x5f, 0xff, 0xff, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0xff, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff0, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x0x, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x01, 0xff, 0xff, 0xb7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x01, 0x0f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x01, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x 00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff0, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x01, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff 0x7f, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xff, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0ff 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x03, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; void setup () {// htu21d htu.begin (); // tsl2591 sensor_t sensor; tsl.getSensor (& sensori); tsl.setGain (TSL2591_GAIN_MAX); // MAX, HIGH MED, LOW, tsl.setTiming (TSL2591_INTEGRATIONTIME_600MS); // 100MS, 200 MS, 300MS, 400MS, 500MS, 600MS // olet -näytön asetukset. Alku (SSD1306_SWITCHCAPVCC, OLED_ADDR); display.clearDisplay (); display.display (); display.drawBitmap (0, 0, intro, 128, 64, VALKOINEN); display.display (); viive (1000); display.setTextSize (1); display.setTextColor (VALKOINEN); display.setFont (& FreeSerif9pt7b); display.clearDisplay (); } void loop () {lux = 0; ulux = 0; mag_arcsec2 = 0; lämpötila = 0; rel_hum = 0; viive (100); lum = tsl.getFullLuminosity (); ir = lum >> 16; täysi = lum & 0xFFFF; viive (100); lux = tsl.calculateLux (täysi, ir); // valon voimakkuus microlux ulux = lux*1000000; jos (ulux <0) {ulux = 0; } mag_arcsec2 = log10 (lux/108000)/-0,4; // (log ((ulux/108000))/(-0,4) temp = htu.readTemperature (); rel_hum = htu.readHumidity (); display_values ();} void display_values () {//display.drawPixel(120, 50, VALKOINEN); display.clearDisplay (); display.setCursor (1, 15); display.print (temp); display.drawBitmap (42, 2, aste, 8, 5, WHITE); display.setCursor (50, 15); display.print ("C"); display.setCursor (70, 15); display.print (rel_hum); display.setCursor (114, 15); display.print ("%"); display.drawLine (1, 20, 127, 20, VALKOINEN); display.drawLine (67, 1, 67, 20, WHITE); display.setCursor (1, 35); display.print ("ulux ="); display.setCursor (50, 35); display.print (ulux); display.setCursor (1, 55); display.print ("mag/arsec"); display.drawBitmap (70, 45, eksponentti, 8, 8, WHITE); näyttö. setCursor (83, 55); display.print (mag_arcsec2); display.display ();}

Vaihe 7: Sisällä

Sisällä
Sisällä
Sisällä
Sisällä

Luon oman kotelon ja käytän leipälevyä, jossa on dupont -kaapelit, kuten näet.

Käytän TP4056: ta akun lataamiseen USB -kaapelilla (tarvitsen swtich -dip -hyppyjohdin).

Käynnistämiseen/sammuttamiseen käytän dip -jumpperia.

Päivänvalossa TSL2591 näyttää 0 ja mag/arcsec2 on nan.

Yötaivaan pitäisi TSL2591 näyttää 0-1000 000 microlux (ulux) ja vastaava mag/arcsec2

(noin 14-22 mag/arsec2).

FullMoon -mittauksessa mitattiin 50 000 ulux, joka on 0,05 luksia.

Suositeltava: