Mục lục:

Trạm thời tiết di động dành cho người quan sát bầu trời đêm: 7 bước (có hình ảnh)
Trạm thời tiết di động dành cho người quan sát bầu trời đêm: 7 bước (có hình ảnh)

Video: Trạm thời tiết di động dành cho người quan sát bầu trời đêm: 7 bước (có hình ảnh)

Video: Trạm thời tiết di động dành cho người quan sát bầu trời đêm: 7 bước (có hình ảnh)
Video: Làm gì khi Lốc Xoáy bất ngờ ập đến #Shorts 2024, Tháng mười một
Anonim
Trạm thời tiết di động dành cho người quan sát bầu trời đêm
Trạm thời tiết di động dành cho người quan sát bầu trời đêm

Ô nhiễm ánh sáng là một trong nhiều vấn đề trên thế giới. Để giải quyết vấn đề đó, chúng ta cần biết bầu trời đêm bị ô nhiễm ánh sáng nhân tạo đến mức nào. Nhiều sinh viên cùng giáo viên trên thế giới cố gắng đo ô nhiễm ánh sáng bằng các cảm biến đắt tiền. Tôi đã quyết định thay đổi lux kế cầm tay của mình (để kiểm tra thêm dự án hướng dẫn trước đó là Portable Luxmeter) thành trạm thời tiết có cảm biến TSL2591. Cảm biến này đủ nhạy để đo ô nhiễm ban đêm. Ngoài ra, tôi thêm HTU21D để đo nhiệt độ và độ ẩm.

Bước 1: Ô nhiễm ban đêm là gì và đo lường nó như thế nào

Ô nhiễm ban đêm là gì và nó đo lường như thế nào
Ô nhiễm ban đêm là gì và nó đo lường như thế nào

Ô nhiễm ban đêm là ánh sáng từ đèn, ô tô, nhà ở, các tấm màn hình LCD khổng lồ trong thành phố và mọi ánh sáng do con người tạo ra. Ánh sáng đó gọi là nhân tạo. Đối với những người quan sát, ánh sáng nhân tạo là vấn đề chính để nhìn thấy các ngôi sao từ thành phố, và họ phải đi ra ngoài thành phố. Đối với con người, ô nhiễm ánh sáng cao là có hại. Và cũng cho cây cối, cỏ và động vật.

Để kiểm tra mức độ ô nhiễm ánh sáng của nơi bạn ở, bạn có thể xem bản đồ ô nhiễm ánh sáng tại đây

Nó chỉ là mô hình và giá trị thực có thể khác nhau. Đó là lý do tại sao tôi tạo ra luxmeter đó.

Để đo độ ô nhiễm ánh sáng, tôi chỉ đo lux và tính độ lớn / arsec2.

Tôi có thể tính toán từ lux đến candela trên mét vuông:

1 cd / m2 = 1 lux

Độ lớn trên một giây vuông (mag / arcsec2) mô tả nền bầu trời đêm (nó gọi là độ sáng bề mặt).

Thêm trên wiki: Độ sáng bề mặt

Để tính cd / m2 thành mag / arcsec2 là công thức:

[giá trị tính bằng mag / arcsec2] = Log10 ([giá trị tính bằng cd / m2] / 108000) / - 0,4

unihedron.com/projects/darksky/magconv.php

Bước 2: BOM

BOM
BOM

Đối với dự án này, bạn cần:

1. WEMOS D1 Mini hoặc bất kỳ vi điều khiển nào

(Tôi sử dụng wemos, vì nó là cái nhỏ nhất, có cổng usb, bạn có thể thử Arduino Nano)

WEMOS D1 MINI (Yanwen Economic Air Mail)

WEMOS D1 MINI (Giao hàng tiêu chuẩn của AliExpress)

WEMOS D1 MINI 10 chiếc (Thư Hàng không Đăng ký tại Trung Quốc - Giao hàng miễn phí)

cáp usb để lập trình và tải mã lên wemos

2. Cảm biến TSL2591

TSL2591 (Yanwen Economic Air Mail)

TSL2591 (Thư hàng không đăng ký tại Trung Quốc)

TSL2591 (Thư hàng không đăng ký tại Trung Quốc)

3. Cảm biến nhiệt độ và độ ẩm HTU21D

HTU21D (Siêu kinh tế Cainiao)

HTU21D (Yanwen Economic Air Mail - miễn phí vận chuyển)

4. Màn hình OLED 0,96 (128 x 64)

Màn hình OLED

Màn hình OLED

Màn hình OLED

5. pin 18650

Pin lithium ion 18650

Pin lithium ion 18650

giá đỡ pin 18650

6. Mô-đun sạc TP4056

tp4056

tp4056

7. nút chuyển đổi hoặc jumper nhúng

swtich màu đỏ nhúng

swtichers, rất nhiều khác nhau

8. breadboard và cáp dupont

breadboard nhỏ

bộ breadboard

9. trường hợp, tôi tạo ra từ gỗ + băng

băng đỏ

Máy in 3D Prusa, tôi hy vọng tôi sẽ làm được vỏ từ nhựa: D

Bước 3: Mạch

Mạch điện
Mạch điện

Mạch khá đơn giản:

Kết nối tất cả các mô-đun i2c (TSL2591, OLED, HTU21D) với chân SCL và SDA trên wemos (SDA -> D2, SCL -> D1).

Cấp nguồn cho chúng với 3,3 V từ wemos.

Kết nối thiết bị đầu cuối cộng của pin với chân 5V trên wemos và pin + chân trên mô-đun sạc tp4056 với thiết bị đầu cuối cộng trên pin.

Kết nối tất cả các căn cứ với nhau.

Bước 4: Cảm biến HTU21D

Cảm biến HTU21D
Cảm biến HTU21D

Tôi mua cảm biến nhiệt độ mới, đo với độ chính xác 0,3 ° C!

Những điều bạn nên biết về cảm biến này (từ sparkfun):

  • Sử dụng giao diện I2C
  • Độ ẩm điển hình chính xác ± 2%
  • Độ chính xác nhiệt độ điển hình ± 0,3 ° C
  • Hoạt động ở độ ẩm từ 0 đến 100% nhưng cảm biến này không được khuyến nghị cho các môi trường khắc nghiệt nơi nó có thể tiếp xúc với nước (chẳng hạn như mưa).
  • Cảm biến 3.3V - sử dụng bộ chuyển đổi mức logic nội tuyến hoặc điện trở 10k để giới hạn tín hiệu 5V
  • Chỉ một cảm biến HTU21D có thể nằm trên bus I2C tại một thời điểm

Tóm tắt của tôi: đó là cảm biến tốt, vì nó đo với độ chính xác 0,3 ° C và cả hai - nhiệt độ và độ ẩm. Ưu điểm là nhiễu I2C và nhược điểm là 3.3V, nhưng nó không quan trọng trong trường hợp của tôi.

Bước 5: TSL2591

TSL2591
TSL2591

Cảm biến này rất tốt để đo ô nhiễm bầu trời đêm vì độ nhạy của nó (tới 188 micro lux!).

1. là điốt có thể có ir và đo đầy đủ. Tôi không sử dụng nó.

2. bộ điều chỉnh điện áp từ 5V đến 3,3 V

Thông số kỹ thuật chip (từ adafruit):

  • Phản ứng tương đối của mắt người
  • Dải động cực rộng 1 đến 600, 000, 000 Đếm
  • Phạm vi Lux: Độ nhạy 188 uLux, lên đến 88, 000 phép đo đầu vào Lux.
  • Phạm vi nhiệt độ: -30 đến 80 * C
  • Dải điện áp: 3.3-5V vào bộ điều chỉnh trên bo mạch
  • Giao diện: I2C
  • Bo mạch / chip này sử dụng địa chỉ I2C 7-bit 0x29 (cố định)
  • Kích thước: 19mm x 16mm x 1mm /.75 "x.63" x.04 "Trọng lượng: 1.1g
  • 2 điốt để đo cả hai - Hồng ngoại và Toàn phổ

Tóm lược:

188 uLux là perferct, giao tiếp I2C cũng đơn giản. Có thể vấn đề có thể được khắc phục địa chỉ I2C (0x29). Ngoài ra, bộ điều chỉnh trên tàu là tốt và có thể sử dụng cảm biến trong mùa đông (sương giá).

Bước 6: Mã

Bạn cần những thư viện này (tôi thêm chúng vào một tệp zip):

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

Mã: bạn có thể sử dụng của tôi hoặc tạo của riêng. Đừng quên đặt thời gian tích hợp tối đa (600 MS) và tăng lên tối đa (GAIN_MAX) để đo bầu trời đêm.

Nếu bạn cố gắng sử dụng mã của tôi, vui lòng tải xuống tệp ino. Khi tôi sao chép từ mã có thể hướng dẫn của mình, thư viện đã xảy ra lỗi

Tôi sử dụng tải hình ảnh của mặt trăng chỉ cho vui. Bạn có thể sử dụng bất kỳ, chỉ cần sử dụng trang này cho mảng get:

javl.github.io/image2cpp/

//https://lastminuteengineers.com/oled-display-arduino-tutorial///https://javl.github.io/image2cpp/ // mcd theo độ lớn https://unihedron.com/projects/darksky/magconv.php… // HD44780 là bộ điều khiển cho màn hình tinh thể lỏng dựa trên ký tự (LCD). https://unihedron.com/projects/darksky/magconv.php… #include

#bao gồm

#include #include #include "Adafruit_HTU21DF.h" #include "Adafruit_TSL2591.h" int counter; // Địa chỉ màn hình OLED TWI #define OLED_ADDR 0x3C Adafruit_SSD1306 display (-1); // - 1 để hiển thị khởi động lại với nút khởi động lại trên bảng arduino Adafruit_HTU21DF htu = Adafruit_HTU21DF (); Adafruit_TSL2591 tsl = Adafruit_TSL2591 (2591); // chuyển một số cho mã nhận dạng cảm biến (để bạn sử dụng sau này) uint32_t lum; uint16_t ir, đầy đủ; int ulux; lux nổi; nhiệt độ nổi; float rel_hum; float mag_arcsec2; // visual mags / arcsecond² [value in mag / arcsec2] = Log10 ([value in cd / m2] / 108000) / - 0.4 // ký hiệu // độ cho độ C const không dấu char độ PROGMEM = {0xe, 0x11, 0x11, 0x11, 0xe, 0x0, 0x0, 0x0}; // số mũ 2 const unsigned char exponent 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, 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, 0xff, 0xc0, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0xff, 0xfd, 0xff, 0 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x03, 0xff, 0xc0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 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, 0x80, 0x1f, 0xbe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x1f, 0xcc, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xffxff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x3f, 0xc0, 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf00, 0xfe, 0xf00, 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, 0xfc, 0x00, 0x3f, 0x80, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 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, 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, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xe0, 0x18, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x60, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0 0xff, 0xff, 0xff, 0xff, 0xe1, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x18, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x38ff, 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, 0xc0, 0xc4, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 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 0xc0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0xffx 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0 0x43, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xfb, 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, 0xf0, 0x00, 0, 0xff, 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, 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, 0xfc, 0x01, 0x0f, 0x3f, 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, 0x00, 0x00, 0x1f, 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, 0xc0, 0x00, 0x03, 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, 0xf0, 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, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 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, 0xff, 0x00, 0x03, 0xff, 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, 0xe0, 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}; void setup () {// htu21d htu.begin (); // tsl2591 sensor_t sensor; tsl.getSensor (& cảm biến); tsl.setGain (TSL2591_GAIN_MAX); // TỐI ĐA, CAO MED, THẤP, tsl.setTiming (TSL2591_INTEGRATIONTIME_600MS); // 100MS, 200 MS, 300MS, 400MS, 500MS, 600MS // thiết lập cho oled display.begin (SSD1306_SWITCHCAPVCC, OLED_ADDR); display.clearDisplay (); display.display (); display.drawBitmap (0, 0, intro, 128, 64, WHITE); display.display (); chậm trễ (1000); display.setTextSize (1); display.setTextColor (TRẮNG); display.setFont (& FreeSerif9pt7b); display.clearDisplay (); } void loop () {lux = 0; ulux = 0; mag_arcsec2 = 0; tạm thời = 0; rel_hum = 0; chậm trễ (100); lum = tsl.getFullLuminosity (); ir = lum >> 16; đầy đủ = lum & 0xFFFF; chậm trễ (100); lux = tsl.calculateLux (đầy đủ, ir); // cường độ ánh sáng trong microlux ulux = lux * 1000000; if (ulux <0) {ulux = 0; } mag_arcsec2 = log10 (lux / 108000) / - 0,4; // (log ((ulux / 108000)) /(-0.4) temp = htu.readTempe Heat (); rel_hum = htu.readHumidity (); display_values ();} void display_values () {//display.drawPixel(120, 50, WHITE); display.clearDisplay (); display.setCursor (1, 15); display.print (temp); display.drawBitmap (42, 2, độ, 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, WHITE); 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, lũy thừa, 8, 8, WHITE); hiển thị. setCursor (83, 55); display.print (mag_arcsec2); display.display ();}

Bước 7: Bên trong

Bên trong
Bên trong
Bên trong
Bên trong

Tôi tạo trường hợp riêng và tôi sử dụng breadboard với cáp dupont như bạn có thể thấy.

Tôi sử dụng TP4056 để sạc pin bằng cáp usb (cần jumper nhúng swtich).

Để bật / tắt, tôi sử dụng jumper nhúng.

Đối với ánh sáng ban ngày, TSL2591 hiển thị 0 và mag / arcsec2 là nan.

Đối với bầu trời đêm TSL2591 sẽ hiển thị từ 0 đến 1000 000 microlux (ulux) và mag / arcsec2 tương ứng

(cca. 14 đến 22 mag / arsec2).

Đối với fullMoon, tôi đo được 50k ulux là 0,05 lux.

Đề xuất: