查看SKU:RB-02S161 IIC 颜色传感器的源代码
←
SKU:RB-02S161 IIC 颜色传感器
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
[[文件:02S16100.jpg|500px|缩略图|右]] ==产品概述== IIC颜色传感器使用TCS34725颜色传感器进行颜色识别。TCS34725是一款高性价比的RGB全彩颜色识别传感器,传感器通过光学感应来识别物体的表面颜色。支持红、绿、蓝(RGB)三基色,支持明光感应,可以输出对应的具体数值,帮助您还原颜色本真。<br/> 为了提高精度,防止周边环境干扰,我们在传感器上添加了一个镜头罩,有效减少外界杂光干扰传感器,让颜色管理更加准确。板载自带2个高亮LED,可以让传感器在低环境光的情况下依然能够正常使用,实现“补光”的功能。模块采用I2C通信,拥有4P防插反接口,更加便利。 <br/> ==产品参数== ===基本参数=== 1.品名:IIC颜色传感器<br/> 2.货号:RB-02S161<br/> 3.品牌:奥松机器人<br/> 4.产地:哈尔滨<br/> 5.尺寸:25*40<br/> 6.固定孔:M3*2<br/> ===电气参数=== 1.接口类型:KF2510-4P防插反接口<br/> 2.信号类型:IIC通讯<br/> 3.指示灯:高亮LED<br/> 4.工作电压:5V<br/> 5.工作电流:100mA<br/> 6.引脚定义:<br/> :+:电源正极<br/> :-:电源负极<br/> :SDA:IIC数据端口<br/> :SCL:IIC时钟端口<br/> 7.扩展接口:<br/> :LED:两个板载LED控制端口,悬空或高电平点亮,低电平熄灭<br/> :INT:中断引脚<br/> 8.连接线:4P 传感器连接线<br/> 9.检测范围:红、绿、蓝及白光检测<br/> 10.工作温度:-40 - 85℃<br/> 产品尺寸图:<br/> [[文件:02S16101.png|500px|缩略图|居中]] ==使用方法== ===example1_Arduino=== * 主要硬件 :Arduino UNO 控制器 :传感器扩展板 V5.0 :IIC 颜色传感器 :USB 数据线 * 硬件连接 [[文件:02S16102.png|500px|缩略图|居中]] * 示例程序 <pre style='color:blue'> /* Example code for the ALS_TCS34725 breakout library */ /* Connect SCL to analog 5 Connect SDA to analog 4 Connect VDD to 5V DC Connect GROUND to common ground */ #include <Wire.h> #include "ALS_TCS34725.h" ALS_TCS34725 tcs = ALS_TCS34725(TCS34725_INTEGRATIONTIME_700MS, TCS34725_GAIN_1X); void setup(void) { Serial.begin(9600); if (tcs.begin()) { Serial.println("Found sensor"); } else { Serial.println("No TCS34725 found"); while (1); } } void loop(void) { uint16_t r, g, b, c, colorTemp, lux; tcs.getRawData(&r, &g, &b, &c); colorTemp = tcs.calculateColorTemperature(r, g, b); lux = tcs.calculateLux(r, g, b); Serial.print("Color Temp: "); Serial.print(colorTemp, DEC); Serial.print(" K - "); Serial.print("Lux: "); Serial.print(lux, DEC); Serial.print(" - "); Serial.print("R: "); Serial.print(r, DEC); Serial.print(" "); Serial.print("G: "); Serial.print(g, DEC); Serial.print(" "); Serial.print("B: "); Serial.print(b, DEC); Serial.print(" "); Serial.print("C: "); Serial.print(c, DEC); Serial.print(" "); Serial.println(" "); } </pre> * 程序效果 打开 Arduino IDE 自带的串口监视器,将颜色传感器放于不同颜色的表面,可以看到串口监视器中打印不同的数值 [[文件:02S16103.png|500px|缩略图|居中]] ===example2_Arduino=== * 主要硬件 * 硬件连接 * 示例程序 <pre style='color:blue'> #include <Wire.h> #include <ALS_TCS34725.h> #include <ChainableLED.h> #include <Servo.h> float r, g, b; Servo myservo; #define NUM_LEDS 1 ChainableLED leds(5, 6, NUM_LEDS); ALS_TCS34725 tcs = ALS_TCS34725(TCS34725_INTEGRATIONTIME_24MS, TCS34725_GAIN_1X); const int interruptPin = 2; volatile boolean state = false; int pos = 0; //Interrupt Service Routine void isr() { state = true; } void getRawData_noDelay(uint16_t *r, uint16_t *g, uint16_t *b, uint16_t *c) { *c = tcs.read16(TCS34725_CDATAL); *r = tcs.read16(TCS34725_RDATAL); *g = tcs.read16(TCS34725_GDATAL); *b = tcs.read16(TCS34725_BDATAL); } void setup() { myservo.attach(10); myservo.write(20); leds.init(); pinMode(interruptPin, INPUT_PULLUP); //TCS interrupt output is Active-LOW and Open-Drain attachInterrupt(digitalPinToInterrupt(interruptPin), isr, FALLING); Serial.begin(9600); if (tcs.begin()) { } else { while (1); } // Set persistence filter to generate an interrupt for every RGB Cycle, regardless of the integration limits tcs.write8(TCS34725_PERS, TCS34725_PERS_NONE); tcs.setInterrupt(true); Serial.flush(); } void loop() { checkcolor(); for (pos = 20; pos <= 160; pos += 1) { myservo.write(pos); checkcolor(); for (byte i=0; i<NUM_LEDS; i++) leds.setColorRGB(i, (int)r, (int)g, ( int)b); } for (pos = 160; pos >= 20; pos -= 1) { myservo.write(pos); checkcolor(); for (byte i=0; i<NUM_LEDS; i++) leds.setColorRGB(i, (int)r, (int)g, (int)b); } } void checkcolor() { if (state) { uint16_t red, green, blue,clear; getRawData_noDelay(&red, &green, &blue,&clear); uint32_t sum = clear; r = red; r /= sum; g = green; g /= sum; b = blue; b /= sum; r *= 256; g *= 256; b *= 256; Serial.print("\tR:\t"); Serial.print(r); Serial.print("\tG:\t"); Serial.print(g); Serial.print("\tB:\t"); Serial.print(b); Serial.println(); Serial.flush(); tcs.clearInterrupt(); state = false; } } </pre> * 程序效果 ===example_Raspberry Pi=== ==相关资料== [[文件:erweima.png|230px|无框|右]] * IIC 颜色传感器传感器 datasheet & 示例程序 下载链接: <br/> * 相关资料 [ datasheet] <br/>
返回
SKU:RB-02S161 IIC 颜色传感器
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面
页面信息