สารบัญ:

อนุภาคโฟตอน - BH1715 บทช่วยสอนเกี่ยวกับเซ็นเซอร์วัดแสงแบบดิจิตอล: 4 ขั้นตอน
อนุภาคโฟตอน - BH1715 บทช่วยสอนเกี่ยวกับเซ็นเซอร์วัดแสงแบบดิจิตอล: 4 ขั้นตอน

วีดีโอ: อนุภาคโฟตอน - BH1715 บทช่วยสอนเกี่ยวกับเซ็นเซอร์วัดแสงแบบดิจิตอล: 4 ขั้นตอน

วีดีโอ: อนุภาคโฟตอน - BH1715 บทช่วยสอนเกี่ยวกับเซ็นเซอร์วัดแสงแบบดิจิตอล: 4 ขั้นตอน
วีดีโอ: อนุภาคโฟตอน (Photon) 2024, พฤศจิกายน
Anonim
Image
Image

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

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

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

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

2. BH1715

3. สายเคเบิล I²C

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

ขั้นตอนที่ 2: การเชื่อมต่อ:

การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ

นำเกราะป้องกัน I2C สำหรับโฟตอนอนุภาคแล้วดันเบาๆ เหนือหมุดของโฟตอนอนุภาค

จากนั้นเชื่อมต่อปลายสาย I2C ด้านหนึ่งกับเซ็นเซอร์ BH1715 และปลายอีกด้านหนึ่งเข้ากับแผงป้องกัน I2C

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

ขั้นตอนที่ 3: รหัส:

รหัส
รหัส

รหัสอนุภาคสำหรับ BH1715 สามารถดาวน์โหลดได้จากที่เก็บ GitHub ของเรา - Dcube Store

นี่คือลิงค์สำหรับสิ่งเดียวกัน:

github.com/DcubeTechVentures/BH1715…

เราใช้สองไลบรารีสำหรับรหัสอนุภาค ซึ่งได้แก่ application.h และ spark_wiring_i2c.h จำเป็นต้องมีไลบรารี Spark_wiring_i2c เพื่ออำนวยความสะดวกในการสื่อสาร I2C กับเซ็นเซอร์

คุณสามารถคัดลอกรหัสจากที่นี่ได้ดังนี้:

// แจกจ่ายด้วยใบอนุญาตอิสระ

// ใช้มันตามที่คุณต้องการ ไม่ว่าจะมีกำไรหรือฟรี หากเข้ากับใบอนุญาตของงานที่เกี่ยวข้อง

// BH1715

// รหัสนี้ออกแบบมาเพื่อทำงานกับ BH1715_I2CS I2C Mini Module ที่มีอยู่ใน Dcube Store

#รวม

#รวม

// ที่อยู่ 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(ความสว่าง));

}

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

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

แนะนำ: