Bh1745Nuc 16Bit I2C Color Sensor
Rs. 435.00 Rs. 522.00
- Brand: https://www.rohm.com/sensor-shield-support/color-sensor
- Product Code: SEN-COLOR
- SKU -
- Availability: In Stock
- Price in reward points: 4
- For Bulk Order 9962060070
Quick support on WhatsApp (+919962060070) only between morning 11am-4pm, no call will be answered
-The BH1745NUC is virtual colour sensor IC with I²C bus interface.
-This IC senses Red, Green and Blue mild (RGB) and converts them to digital values.
-The high sensitivity, wide dynamic range and extraordinary Ircut traits makes this IC the maximum appropriate to reap the illuminance and shade temperature of ambient mild for adjusting LCD backlight of TV, cell cellphone and tablet PC.
-It is feasible to come across very extensive variety light depth. (zero.1/2 – 40k lx)
Features
-The High Sensitivity and Wide Dynamic Range (0.005 – 40k lx)
-Supports Low Transmittance (Dark) Window
-Correspond to I²C Bus Interface
-Low Current by Power Down Function
-Rejecting 50Hz/60Hz Light Noise
-Correspond to 1.8V Logic Interface
-Programmable Interrupt Function
-It is possible to select 2 type of I²C bus slave address (ADDR =’L’: “0111000”, ADDR =’H’: “0111001”)
SPECIFICATIONS: | |
VCC Voltage Range | 2.3V to 3.6V |
Maximum Sensitivity | 0.005Lx/step |
Current Consumption | 130μA (Typ) |
Standby Mode Current | 0.8μA (Typ) |
Operating Temperature Range | -40°C to +85°C |
OVERVIEW: | |
VCC Voltage Range | 2.3V to 3.6V |
Maximum Sensitivity | 0.005Lx/step |
Current Consumption | 130µA (Typ) |
Standby Mode Current | 0.8µA (Typ) |
Operating Temperature Range | -40°C to +85°C |
PACKAGE INCLUDES:
1 PCS x Bh1745Nuc 16Bit I2C Color Sensor
https://www.rohm.com/sensor-shield-support/color-sensor
//SOURCE CODE TAKEN FROM BELOW LINK
//http://arduinolearning.com/code/arduino-and-bh1745nuc-luminance-and-colour-sensor-example.php
#include <Wire.h>
// I2C address of the BH1745NUC
#define Addr 0x38
void setup()
{
// Initialise I2C communication as MASTER
Wire.begin();
// Initialise serial communication, set baud rate = 9600
Serial.begin(9600);
// Start I2C Transmission
Wire.beginTransmission(Addr);
// Select mode control register1
Wire.write(0x41);
// Set RGBC measurement time 160 msec
Wire.write(0x00);
// Stop I2C Transmission
Wire.endTransmission();
// Start I2C Transmission
Wire.beginTransmission(Addr);
// Select mode control register2
Wire.write(0x42);
// Set measurement mode is active, gain = 1x
Wire.write(0x90);
// Stop I2C Transmission
Wire.endTransmission();
// Start I2C Transmission
Wire.beginTransmission(Addr);
// Select mode control register3
Wire.write(0x44);
// Set default value
Wire.write(0x02);
// Stop I2C Transmission
Wire.endTransmission();
delay(300);
}
void loop()
{
unsigned int data[8];
for(int i = 0; i < 8; i++)
{
// Start I2C Transmission
Wire.beginTransmission(Addr);
// Select data register
Wire.write((80+i));
// Stop I2C Transmission
Wire.endTransmission();
// Request 1 byte of data from the device
Wire.requestFrom(Addr, 1);
// Read 8 bytes of data
// Red lsb, Red msb, Green lsb, Green msb, Blue lsb, Blue msb
// cData lsb, cData msb
if(Wire.available() == 1)
{
data[i] = Wire.read();
}
delay(300);
}
// Convert the data
int red = ((data[1] & 0xFF) * 256) + (data[0] & 0xFF);
int green = ((data[3] & 0xFF) * 256) + (data[2] & 0xFF);
int blue = ((data[5] & 0xFF) * 256) + (data[4] & 0xFF);
int cData = ((data[7] & 0xFF) * 256) + (data[6] & 0xFF);
// Output data to serial monitor
Serial.print("Red Color luminance : ");
Serial.println(red);
Serial.print("Green Color luminance : ");
Serial.println(green);
Serial.print("Blue Color luminance : ");
Serial.println(blue);
Serial.print("Clear Data Color luminance : ");
Serial.println(cData);
}
15 days