สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12
มลภาวะทางแสงเป็นหนึ่งในปัญหามากมายในโลก เพื่อแก้ปัญหานั้น เราต้องรู้ว่าท้องฟ้ายามค่ำคืนปนเปื้อนด้วยแสงประดิษฐ์มากแค่ไหน นักเรียนหลายคนที่มีครูในโลกพยายามวัดมลภาวะทางแสงด้วยเซ็นเซอร์ราคาแพง ฉันตัดสินใจเปลี่ยน luxmeter แบบพกพาของฉัน (สำหรับตรวจสอบเพิ่มเติม โครงการคำสั่งก่อนหน้า Portable Luxmeter) เป็นสถานีตรวจอากาศด้วยเซ็นเซอร์ TSL2591 เซ็นเซอร์นี้มีความไวเพียงพอสำหรับการวัดมลภาวะในตอนกลางคืน นอกจากนี้ ฉันยังเพิ่ม HTU21D สำหรับการวัดอุณหภูมิและความชื้น
ขั้นตอนที่ 1: มลพิษในตอนกลางคืนคืออะไรและวัดได้อย่างไร
มลภาวะในตอนกลางคืนคือแสงจากโคมไฟ รถยนต์ บ้าน จอ LCD ขนาดใหญ่ในเมือง และแสงทุกดวงที่มนุษย์สร้างขึ้น ที่เรียกแสงประดิษฐ์ สำหรับผู้สังเกตการณ์ แสงประดิษฐ์เป็นปัญหาหลักในการดูดาวจากเมือง และต้องออกไปนอกเมือง สำหรับมนุษย์ มลภาวะทางแสงสูงเป็นอันตราย และสำหรับต้นไม้ หญ้า และสัตว์
สำหรับการตรวจสอบมลภาวะทางแสงของสถานที่ของคุณ คุณสามารถดูที่นี่ lightpollutionmap
เป็นเพียงแบบจำลองเท่านั้น และมูลค่าที่แท้จริงอาจแตกต่างกันไป นั่นเป็นเหตุผลที่ฉันสร้างลักซ์มิเตอร์นั้น
สำหรับการวัดมลภาวะทางแสง ผมวัดแค่ลักซ์และคำนวณขนาด/arsec2
ฉันสามารถคำนวณจาก lux เป็น candela ต่อ suqare เมตร:
1 cd/m2 = 1 ลักซ์
ขนาดต่อตารางอาร์ควินาที (mag/arcsec2) อธิบายพื้นหลังท้องฟ้ายามค่ำคืน (เรียกความสว่างของพื้นผิว)
เพิ่มเติมเกี่ยวกับวิกิ: ความสว่างของพื้นผิว
สำหรับการคำนวณ cd/m2 ถึง mag/arcsec2 เป็นสูตร:
[ค่าเป็น mag/arcsec2] = Log10([ค่าเป็น cd/m2]/108000)/-0.4
unihedron.com/projects/darksky/magconv.php
ขั้นตอนที่ 2: BOM
สำหรับโครงการนี้คุณต้องการ:
1. WEMOS D1 Mini หรือไมโครคอนโทรลเลอร์ใดๆ
(ฉันใช้ wemos เพราะมันเล็กที่สุด มีพอร์ต usb คุณสามารถลองใช้ Arduino Nano ได้)
WEMOS D1 MINI (ไปรษณีย์อากาศเศรษฐกิจ Yanwen)
WEMOS D1 MINI (การจัดส่งแบบมาตรฐานของ AliExpress)
WEMOS D1 MINI 10 pcs (China Post Air Mail ที่ลงทะเบียน - จัดส่งฟรี)
สาย usb สำหรับเขียนโปรแกรมและอัพโหลดโค้ดไปยัง wemos
2. เซ็นเซอร์ TSL2591
TSL2591 (ไปรษณีย์อากาศเศรษฐกิจ Yanwen)
TSL2591 (ไปรษณีย์จีนลงทะเบียนไปรษณีย์)
TSL2591 (ไปรษณีย์จีนลงทะเบียนไปรษณีย์)
3. HTU21D เซ็นเซอร์อุณหภูมิและความชื้น
HTU21D (ซุปเปอร์อีโคโนมี่ของ Cainiao)
HTU21D (Yanwen Economic Air Mail - จัดส่งฟรี)
4. จอแสดงผล OLED 0.96 (128 x 64)
จอแสดงผล OLED
จอแสดงผล OLED
จอแสดงผล OLED
5.แบตเตอรี่18650
แบตเตอรี่ลิเธียมไอออน 18650
แบตเตอรี่ลิเธียมไอออน 18650
ที่ใส่แบตเตอรี่18650
6. โมดูลการชาร์จ TP4056
tp4056
tp4056
7. สวิตช์ปุ่มหรือจัมเปอร์จุ่ม
สวิตซ์ เรดดิป
swtichers ที่แตกต่างกันมากมาย
8. สายเขียงหั่นขนมและสายเคเบิลดูปองท์
เขียงหั่นขนมขนาดเล็ก
ชุดเขียงหั่นขนม
9.เคสผมสร้างจากไม้+เทป
เทปสีแดง
เครื่องพิมพ์ 3D พรูซา ฉันหวังว่าฉันจะทำเคสจากพลาสติก:D
ขั้นตอนที่ 3: วงจร
วงจรค่อนข้างง่าย:
เชื่อมต่อโมดูล i2c ทั้งหมด (TSL2591, OLED, HTU21D) กับหมุด SCL และ SDA บน wemos (SDA -> D2, SCL -> D1)
ขับเคลื่อนด้วย 3.3 V จาก wemos
เชื่อมต่อขั้วบวกของแบตเตอรี่กับพิน 5V บน wemos และแบตเตอรี่ + พินบนโมดูลการชาร์จ tp4056 เข้ากับขั้วบวกของแบตเตอรี่
เชื่อมต่อทุกพื้นที่เข้าด้วยกัน
ขั้นตอนที่ 4: เซ็นเซอร์ HTU21D
ฉันซื้อเซ็นเซอร์อุณหภูมิใหม่ซึ่งวัดได้อย่างแม่นยำ 0.3 °C !
สิ่งที่คุณควรรู้เกี่ยวกับเซ็นเซอร์นี้ (จาก sparkfun):
- ใช้อินเทอร์เฟซ I2C
- ความแม่นยำของความชื้นโดยทั่วไป ±2%
- ความแม่นยำของอุณหภูมิโดยทั่วไปที่ ±0.3 °C
- ทำงานที่ความชื้น 0 ถึง 100% แต่ไม่แนะนำเซ็นเซอร์นี้สำหรับสภาพแวดล้อมที่รุนแรงซึ่งอาจสัมผัสกับน้ำ (เช่น ฝน)
- เซ็นเซอร์ 3.3V - ใช้ตัวแปลงระดับลอจิกแบบอินไลน์หรือตัวต้านทาน 10k เพื่อจำกัดสัญญาณ 5V
- เซ็นเซอร์ HTU21D หนึ่งตัวเท่านั้นที่สามารถอยู่บนบัส I2C ในแต่ละครั้ง
สรุปของฉัน: เป็นเซ็นเซอร์ที่ดีเพราะวัดได้อย่างแม่นยำ 0.3 °C และทั้ง - อุณหภูมิและความชื้น ข้อดีคือสัญญาณรบกวน I2C และข้อเสีย 3.3V แต่ในกรณีของฉันไม่สำคัญ
ขั้นตอนที่ 5: TSL2591
เซ็นเซอร์นี้เหมาะสำหรับการตรวจวัดมลภาวะบนท้องฟ้ายามค่ำคืนเนื่องจากมีความไว (ถึง 188 micro lux!)
1. เป็นไดโอดที่มี ir ที่เป็นไปได้และวัดเต็ม ฉันไม่ใช้มัน
2. ตัวควบคุมแรงดันไฟฟ้าจาก 5V ถึง 3.3 V
ข้อมูลจำเพาะของชิป (จาก adafruit):
- การตอบสนองสายตามนุษย์โดยประมาณ
- ช่วงไดนามิกกว้างมาก 1 ถึง 600,000, 000 Counts
- ช่วง Lux: ความไว 188 uLux, การวัดอินพุตสูงสุด 88, 000 Lux
- ช่วงอุณหภูมิ: -30 ถึง 80 *C
- ช่วงแรงดันไฟฟ้า: 3.3-5V เป็นตัวควบคุมออนบอร์ด
- อินเทอร์เฟซ: I2C
- บอร์ด/ชิปนี้ใช้ที่อยู่ I2C 7 บิต 0x29 (คงที่)
- ขนาด: 19 มม. x 16 มม. x 1 มม. /.75" x.63" x.04" น้ำหนัก: 1.1 ก.
- 2 ไดโอดสำหรับวัดทั้ง IR และ Full spectrum
สรุป:
188 uLux นั้นสมบูรณ์แบบ นอกจากนี้ การสื่อสาร I2C ก็ทำได้ง่าย บางทีปัญหาสามารถแก้ไขได้ที่อยู่ I2C (0x29) นอกจากนี้ตัวควบคุมบนบอร์ดยังดีและสามารถใช้เซ็นเซอร์ได้ในช่วงฤดูหนาว (น้ำค้างแข็ง)
ขั้นตอนที่ 6: รหัส
คุณต้องการไลบรารี่เหล่านี้ (ฉันเพิ่มลงในไฟล์ zip ไฟล์เดียว):
- Adafruit-GFX-Library-master
- adafruit_gfx_library_master
- Adafruit_HTU21DF_Library-master
- Adafruit_Sensor-master
- Adafruit_TSL2591_Library-master
รหัส: คุณสามารถใช้ของฉันหรือสร้างเอง อย่าลืมตั้งเวลาการรวมสูงสุด (600 MS) และเพิ่มสูงสุด (GAIN_MAX) สำหรับการวัดท้องฟ้ายามค่ำคืน
หากคุณพยายามใช้รหัสของฉัน โปรดดาวน์โหลดไฟล์ ino เมื่อฉันคัดลอกจากโค้ดที่สอนได้ มีบางอย่างผิดปกติกับไลบรารี
ฉันใช้ภาพโหลดของดวงจันทร์เพียงเพื่อความสนุกสนาน คุณสามารถใช้อะไรก็ได้ เพียงใช้หน้านี้เพื่อรับอาร์เรย์:
javl.github.io/image2cpp/
//https://lastminuteengineers.com/oled-display-arduino-tutorial///https://javl.github.io/image2cpp/ // mcd ถึงขนาด https://unihedron.com/projects/darksky/magconv.php… // HD44780 เป็นคอนโทรลเลอร์สำหรับจอภาพคริสตัลเหลว (LCD) แบบตัวละคร https://unihedron.com/projects/darksky/magconv.php… #include
#รวม
#include #include #include "Adafruit_HTU21DF.h" #include "Adafruit_TSL2591.h" เคาน์เตอร์ int; // จอแสดงผล OLED ที่อยู่ TWI #define OLED_ADDR 0x3C จอแสดงผล Adafruit_SSD1306 (-1); // - 1 สำหรับการแสดงผลรีสตาร์ทพร้อมปุ่มรีสตาร์ทบนบอร์ด Arduino Adafruit_HTU21DF htu = Adafruit_HTU21DF(); Adafruit_TSL2591 tsl = Adafruit_TSL2591(2591); // ส่งผ่านตัวเลขสำหรับตัวระบุเซ็นเซอร์ (สำหรับการใช้งานในภายหลัง) uint32_t lum; uint16_t ir เต็ม; int lux; ลอยลักซ์; อุณหภูมิลอยตัว; ลอย rel_hum; ลอย mag_arcsec2; // visual mags/arcsecond² [value in mag/arcsec2] = Log10([value in cd/m2]/108000)/-0.4 // symbols // degree for Celsius const unsigned char degree PROGMEM = { 0xe, 0x11, 0x11, 0x11, 0xe, 0x0, 0x0, 0x0 }; // เลขชี้กำลัง 2 const เลขชี้กำลังที่ไม่ได้ลงชื่อ 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, 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, 0xc0, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0xff, 0xfd, 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 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, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x3f, 0xc0, 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 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, 0xfc, 0x00, 0x3f, 0x80, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3, 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, 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, 0xe0, 0x0f, 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, 0xff, 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, 0xc 0xff, 0xff, 0xff, 0xff, 0xe1, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xff07, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x18, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x38, 0xff, 0xff, 0xff, 0xc0, 0x38, 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, 0ff 0xff, 0xff, 0xc0, 0xc4, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x60, 0x0f, 0xffx, 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 0xc0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xff, 0xe 0x43, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0ffxff, 0ffxff 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, 0x03, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x01, 0xff, 0xff, 0xb7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0ffxff, 0ffxff, 0xff, 0xff, 0xf8, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x03, 0xffxff, 0xff, 0ffxff, 0ffxff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x01, 0x0f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0ffxff, 0xff, 0xfc, 0x01, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0xffxff, 0xff, 0ffxff, 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, 0xe0, 0x00, 0x01, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf00, 0x00, 0x7f, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xff, 0xc7, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xff, 0xc7, 0xff, 0xff, 0xfx, 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, 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, 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, 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, 0xffxff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; การตั้งค่าเป็นโมฆะ () { // htu21d htu.begin (); // tsl2591 เซ็นเซอร์ sensor_t; tsl.getSensor(&เซ็นเซอร์); tsl.setGain(TSL2591_GAIN_MAX); // MAX, MED สูง, ต่ำ, tsl.setTiming(TSL2591_INTEGRATIONTIME_600MS); // 100MS, 200 MS, 300MS, 400MS, 500MS, 600MS // การตั้งค่าสำหรับการแสดงผล oled display.begin (SSD1306_SWITCHCAPVCC, OLED_ADDR); display.clearDisplay(); display.display(); display.drawBitmap(0, 0, บทนำ, 128, 64, สีขาว); display.display(); ล่าช้า (1000); display.setTextSize(1); display.setTextColor(สีขาว); display.setFont(&FreeSerif9pt7b); display.clearDisplay(); } วงเป็นโมฆะ () { ลักซ์ = 0; ลักซ์ =0; mag_arcsec2=0; อุณหภูมิ=0; rel_hum=0; ล่าช้า (100); lum = tsl.getFullLuminosity(); ir = ลัม >> 16; เต็ม = lum & 0xFFFF; ล่าช้า (100); lux = tsl.calculateLux (เต็ม, ir); // ความเข้มของแสงใน microlux ulux= lux*1000000; ถ้า (ulux<0) { lux=0; } mag_arcsec2 = log10(ลักซ์/108000)/-0.4; // (บันทึก ((ulux/108000)) / (-0.4) temp = htu.readTemperature (); rel_hum = htu.readHumidity (); display_values (); } ถือเป็นโมฆะ display_values () { //display.drawPixel (120, 50 สีขาว); display.clearDisplay(); display.setCursor(1, 15); display.print(temp); display.drawBitmap(42, 2, degree, 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, สีขาว); 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, เลขชี้กำลัง, 8, 8, WHITE); display. setCursor(83, 55); display.print(mag_arcsec2); display.display(); }
ขั้นตอนที่ 7: ข้างใน
ฉันสร้างเคสของตัวเองและฉันใช้เขียงหั่นขนมกับสายเคเบิลดูปองท์อย่างที่คุณเห็น
ฉันใช้ TP4056 เพื่อชาร์จแบตเตอรี่ด้วยสาย usb (ต้องการจัมเปอร์จุ่ม swtich)
สำหรับการเปิด/ปิด ฉันใช้จัมเปอร์จุ่ม
สำหรับกลางวัน TSL2591 แสดง 0 และ mag/arcsec2 เป็น nan
สำหรับท้องฟ้ายามค่ำคืนควร TSL2591 แสดงตั้งแต่ 0 ถึง 1000000 microlux (ulux) และ mag/arcsec2 ที่สอดคล้องกัน
(cca. 14 ถึง 22 mag/arsec2).
สำหรับฟูลมูน ฉันวัด 50k lux ซึ่งเท่ากับ 0.05 ลักซ์
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
หมวกนิรภัย Covid ส่วนที่ 1: บทนำสู่ Tinkercad Circuits!: 20 ขั้นตอน (พร้อมรูปภาพ)
Covid Safety Helmet ตอนที่ 1: บทนำสู่ Tinkercad Circuits!: สวัสดีเพื่อน ๆ ในชุดสองตอนนี้ เราจะเรียนรู้วิธีใช้วงจรของ Tinkercad - เครื่องมือที่สนุก ทรงพลัง และให้ความรู้สำหรับการเรียนรู้เกี่ยวกับวิธีการทำงานของวงจร! หนึ่งในวิธีที่ดีที่สุดในการเรียนรู้คือการทำ ดังนั้น อันดับแรก เราจะออกแบบโครงการของเราเอง: th
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-