19. 颜色传感器¶
19.1. 概述¶
是指由于不同颜色对光线的反射系数不同,可根据接收到的反射光的强弱来判断。N+颜色循迹模块获取颜色HSV值也可以单独地获取颜色的H/S/V值。HSV指的是(色调,饱和度,亮度)
- 色调(H:hue):
- 用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,品红为300°;
- 饱和度(S:saturation):
- 取值范围为0.0~1.0,值越大,颜色越饱和。
- 亮度(V:value):
- 取值范围为0(黑色)~255(白色)
- 技术规格
- 工作电源:3.3V
- 有效测距量程:1~8mm
- 尺寸:20mm x 53.5mm
- 接口类型 :I2C直插接口
- 设备类型:输入设备
- 接口定义
- V:电源正极
- G:电源负极
- SDA:双向数据线
- SCL::时钟线
19.2. 案例程序¶
(1)识别RGB值
| 图形化: |
|---|
| 代码: |
|---|
from mpython import *
from nplus import *
import time
color = Color()
color.setup()
color.turn_on()
oled.fill(0)
oled.DispChar('目前RGB值是:', 0, 0, 1)
while True:
oled.fill_rect(0, 16, 128, 16, 0)
oled.DispChar((str(color.getRGB())), 0, 16, 1)
oled.show()
time.sleep(1)
(2)识别HSV中H的颜色
| 图形化: |
|---|
| 代码: |
|---|
from mpython import *
from nplus import *
color = Color()
color.setup()
color.turn_on()
oled.fill(0)
if color.discern_red():
oled.DispChar('红', 0, 0, 1)
elif color.discern_green():
oled.DispChar('绿', 0, 0, 1)
oled.show()