สารบัญ:

การคำนวณความเข้มของแสงโดยใช้ BH1715 และอนุภาคโฟตอน: 5 ขั้นตอน
การคำนวณความเข้มของแสงโดยใช้ BH1715 และอนุภาคโฟตอน: 5 ขั้นตอน

วีดีโอ: การคำนวณความเข้มของแสงโดยใช้ BH1715 และอนุภาคโฟตอน: 5 ขั้นตอน

วีดีโอ: การคำนวณความเข้มของแสงโดยใช้ BH1715 และอนุภาคโฟตอน: 5 ขั้นตอน
วีดีโอ: 2555UCON เครื่องวัดความเข้มแสง 2024, พฤศจิกายน
Anonim
Image
Image

เมื่อวานนี้ เรากำลังทำงานกับจอ LCD และในขณะที่ทำงานบนจอภาพ เราก็ได้ตระหนักถึงความสำคัญของการคำนวณความเข้มของแสง ความเข้มของแสงไม่เพียงแต่มีความสำคัญในขอบเขตทางกายภาพของโลกนี้เท่านั้น แต่ยังมีบทบาทที่กล่าวไว้อย่างดีในโดเมนทางชีววิทยาด้วย การประมาณค่าความเข้มแสงที่แม่นยำมีบทบาทสำคัญในระบบนิเวศของเรา ในการเจริญเติบโตของพืช ฯลฯ ดังนั้นเพื่อจุดประสงค์นี้ เราจึงศึกษาเซ็นเซอร์ BH1715 นี้ ซึ่งเป็นเซ็นเซอร์วัดแสงรอบข้างประเภทเอาต์พุตอนุกรม 16 บิต

ในบทช่วยสอนนี้ เราจะสาธิตการทำงานของ BH1715 ด้วยอนุภาคโฟตอน อนุภาคโฟตอนเป็นบอร์ดที่สามารถอำนวยความสะดวกในการควบคุมอุปกรณ์ใด ๆ ผ่านทางอินเทอร์เน็ตได้จริง

ฮาร์ดแวร์ที่คุณต้องการเพื่อการนี้มีดังนี้:

1. BH1715 - เซ็นเซอร์วัดแสงโดยรอบ

2. อนุภาคโฟตอน

3. สายเคเบิล I2C

4. I2C Shield สำหรับอนุภาคโฟตอน

ขั้นตอนที่ 1: BH1715 ภาพรวม:

สิ่งที่คุณต้องการ..!!
สิ่งที่คุณต้องการ..!!

ก่อนอื่น เราต้องการทำความคุ้นเคยกับคุณสมบัติพื้นฐานของโมดูลเซ็นเซอร์ นั่นคือ BH1715 และโปรโตคอลการสื่อสารที่ใช้งาน

BH1715 เป็นเซนเซอร์วัดแสงโดยรอบแบบดิจิทัลพร้อมอินเทอร์เฟซบัสI²C โดยทั่วไปแล้ว BH1715 จะใช้เพื่อรับข้อมูลแสงแวดล้อมสำหรับการปรับไฟแบ็คไลท์ LCD และแผงปุ่มกดสำหรับอุปกรณ์มือถือ อุปกรณ์นี้มีความละเอียด 16 บิตและช่วงการวัดที่ปรับได้ ทำให้สามารถตรวจจับได้ตั้งแต่.23 ถึง 100, 000 ลักซ์

โปรโตคอลการสื่อสารที่เซ็นเซอร์ทำงานคือ I2C I2C ย่อมาจากวงจรรวม เป็นโปรโตคอลการสื่อสารที่การสื่อสารเกิดขึ้นผ่านสาย SDA (ข้อมูลอนุกรม) และ SCL (นาฬิกาอนุกรม) อนุญาตให้เชื่อมต่ออุปกรณ์หลายเครื่องพร้อมกัน เป็นหนึ่งในโปรโตคอลการสื่อสารที่ง่ายและมีประสิทธิภาพมากที่สุด

ขั้นตอนที่ 2: สิ่งที่คุณต้องการ..!

สิ่งที่คุณต้องการ..!!
สิ่งที่คุณต้องการ..!!
สิ่งที่คุณต้องการ..!!
สิ่งที่คุณต้องการ..!!
สิ่งที่คุณต้องการ..!!
สิ่งที่คุณต้องการ..!!

วัสดุที่เราต้องการเพื่อให้บรรลุเป้าหมายประกอบด้วยส่วนประกอบฮาร์ดแวร์ต่อไปนี้:

1. BH1715 - เซ็นเซอร์วัดแสงโดยรอบ

2. อนุภาคโฟตอน

3. สายเคเบิล I2C

4. I2C Shield สำหรับอนุภาคโฟตอน

ขั้นตอนที่ 3: การเชื่อมต่อฮาร์ดแวร์:

การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์

ส่วนการเชื่อมต่อฮาร์ดแวร์โดยทั่วไปจะอธิบายการเชื่อมต่อสายไฟที่จำเป็นระหว่างเซ็นเซอร์และราสเบอร์รี่ pi ตรวจสอบให้แน่ใจว่าการเชื่อมต่อถูกต้องเป็นสิ่งจำเป็นพื้นฐานในขณะที่ทำงานกับระบบใด ๆ สำหรับเอาต์พุตที่ต้องการ ดังนั้น การเชื่อมต่อที่จำเป็นมีดังนี้:

BH1715 จะทำงานเหนือ I2C นี่คือตัวอย่างไดอะแกรมการเดินสาย ซึ่งสาธิตวิธีเชื่อมต่อแต่ละอินเทอร์เฟซของเซ็นเซอร์

นอกกรอบ บอร์ดได้รับการกำหนดค่าสำหรับอินเทอร์เฟซ I2C ดังนั้นเราขอแนะนำให้ใช้การเชื่อมต่อนี้หากคุณไม่เชื่อเรื่องพระเจ้า สิ่งที่คุณต้องมีคือสี่สาย!

ต้องใช้พิน Vcc, Gnd, SCL และ SDA เพียงสี่การเชื่อมต่อเท่านั้น และเชื่อมต่อด้วยสายเคเบิล I2C

การเชื่อมต่อเหล่านี้แสดงให้เห็นในภาพด้านบน

ขั้นตอนที่ 4: รหัสอนุภาคการวัดความเข้มแสง:

รหัสอนุภาคการวัดความเข้มแสง
รหัสอนุภาคการวัดความเข้มแสง
รหัสอนุภาคการวัดความเข้มแสง
รหัสอนุภาคการวัดความเข้มแสง

เริ่มต้นด้วยรหัสอนุภาคตอนนี้

ในขณะที่ใช้โมดูลเซ็นเซอร์กับ Arduino เราได้รวมไลบรารี application.h และ spark_wiring_i2c.h "application.h" และไลบรารี spark_wiring_i2c.h มีฟังก์ชันที่อำนวยความสะดวกในการสื่อสาร i2c ระหว่างเซ็นเซอร์และอนุภาค

รหัสอนุภาคทั้งหมดได้รับด้านล่างเพื่อความสะดวกของผู้ใช้:

#รวม

#รวม

// ที่อยู่ BH1715 I2C คือ 0x23(35)

#define แอดเดอร์ 0x23

ความสว่างภายใน = 0;

การตั้งค่าเป็นโมฆะ ()

{

// ตั้งค่าตัวแปร

Particle.variable("i2cdevice", "BH1715");

Particle.variable("ความส่องสว่าง", ความส่องสว่าง);

// เริ่มต้นการสื่อสาร I2C เป็น MASTER

Wire.begin();

// เริ่มต้นการสื่อสารแบบอนุกรม กำหนดอัตรารับส่งข้อมูล = 9600

Serial.begin(9600);

// เริ่มการส่ง I2C

Wire.beginTransmission(Addr);

// ส่งอำนาจตามคำสั่ง

Wire.write(0x01);

// หยุดการส่ง I2C

Wire.endTransmission();

// เริ่มการส่ง I2C

Wire.beginTransmission(Addr);

// ส่งคำสั่งการวัดต่อเนื่อง

Wire.write(0x10);

// หยุดการส่ง I2C

Wire.endTransmission();

ล่าช้า (300);

}

วงเป็นโมฆะ ()

{

ข้อมูล int ที่ไม่ได้ลงนาม[2];

// ขอข้อมูล 2 ไบต์

Wire.requestFrom(Addr, 2);

// อ่านข้อมูลขนาด 2 ไบต์

// ALS msb, ALS lsb

ถ้า(Wire.available()==2)

{

data[0] = Wire.read();

ข้อมูล[1] = Wire.read();

}

ล่าช้า (300);

// แปลงข้อมูล

ความสว่าง = ((ข้อมูล[0] & 0xFF) * 256 + (ข้อมูล[1] & 0xFF)) / 1.20;

// ส่งออกข้อมูลไปยังแดชบอร์ด

Particle.publish("Ambient Light Luminance:", String(ความสว่าง));

}

ขั้นตอนที่ 5: การใช้งาน:

การใช้งาน
การใช้งาน

BH1715 เป็นเซ็นเซอร์วัดแสงรอบข้างแบบดิจิตอลที่สามารถรวมเข้ากับโทรศัพท์มือถือ, LCD TV, NOTE PC เป็นต้น นอกจากนี้ยังสามารถใช้กับเครื่องเกมพกพา, กล้องดิจิตอล, กล้องวิดีโอดิจิตอล, PDA, จอ LCD และอุปกรณ์อื่น ๆ อีกมากมายที่ต้องการ แอปพลิเคชั่นตรวจจับแสงที่มีประสิทธิภาพ

แนะนำ: