怎样使用RGB LED进行颜色检测

步骤1:所需零件
我使用了pic 16f887单片机,但几乎具有脉冲宽度调制功能的设备将起作用。
1 rgb led
1微处理器
1标准红色led
1 1k欧姆电阻器
1光敏电阻(根据其上照射的光量来改变电阻)
某些电线
》我只需要微控制器和rgb led即可拥有广泛的颜色检测器,但是如果您只想检测一种颜色的电路,则不需要微控制器-您只需要一个想要的颜色的明亮led检测。标准的红色led是“指示灯led”-在检测到正确的颜色时会点亮。
步骤2:构建电路
原理图非常简单,下面以一般形式显示。 rgb led由pwm信号从外部供电。
我将胶带缠在光敏电阻上,这样环境光就不会进入-仅能检测到正上方的光。
第3步:代码
该代码是为microchip pic 16f887编写的,但希望您能得到大致的认识。我使用了开发板上的内置电位计来改变rgb led的光谱(由于没有3个pwm模块,所以它无法遍历整个光谱,但这已经足够了)
评论包括在内。
#include 《16f887.h》
#include
#include“ delay.c”
#include
#include
#use delay(时钟= 4000000)
#fuses intrc,nowdt,noput,nomclr,noprotect,nocpd,nobrownout,noieso,nofcmen,nolvp
#byte ccp1con = 0x17
#byte ccp2con = 0x1d
#byte pwm1con = 0x9b
int值= 128;
int p1 = 0;
int p2 = 0;
void my_setup_ccp1(int8值)
{
output_low (pin_c2);
ccp1con =值;
pwm1con = 0;
}
void my_setup_ccp2(int8值)
{
output_low(pin_c1);
ccp2con =值;
}
//=================================
void main( )
{
//a4 =光电二极管的电源
output_high(pin_a4);
output_high(pin_b1);
setup_adc(adc_clock_internal);
set_adc_channel(0);
》 setup_adc_ports(san0);
//定时器/中断设置
enable_interrupts(int_timer2);
my_setup_ccp1(ccp_pwm);
my_setup_ccp2(ccp_pwm);
setup_timer_2(t2_div_by) ;
//setup_compare(2,compare_pwm | compare_timer2);
while(1){//防止pi
//设置pwm占空比
output_high(pin_a5);
//pin a3是光电二极管连接
if(input(pin_a3)== 1)
output_high(pin_a4);
else
output_low(pin_a4);//读取电位器的值以更改led的颜色
value = read_adc();
开关(值){
case 0:
p1 =值;
output_low(pin_c0);
p2 =值;
break;
case 50:
p1 =值;
output_high(pin_c0 );
p2 =值;
break;
情况100:
p1 =值;
output_high(pin_c0);
p2 =值;
break;
情况150:
output_high(pin_c0);
p1 = 50;
p2 =值;
break;
情况200:
output_low(pin_c0);
p1 = 0 ;
p2 =值;
break;
case 250:
p1 = 0;
p2 =值;
output_low(pin_c0);
break;
}
p1 =值;
p2 = 128-p1;
set_pwm1_duty(p1);
set_pwm2_duty(p2);
}
}
第4步:应用程序!
像这样的简单颜色检测器可以用于机器人技术,也可以用于很酷的项目,例如用col分隔legos。或对m&m进行分类,或作为色盲的辅助。

三星Galaxy Note10+星球大战特别版将于12月13日开始限量销售
Symbian系统
鸿海将与ST合作建晶圆厂?
稳压二极管的工作状态 测量稳压二极管的方法
印度发布一份重要名单,中企被剔除:涉及5G
怎样使用RGB LED进行颜色检测
回顾2019年年中总结暨下半年规划大会介绍
从荣耀智慧屏,看AI如何赋能家庭大屏生态?
一个理想时代下好多芯的蓬勃发展
时速600公里高速磁悬浮列车 搭载着柔宇柔性屏“驶入”北京
搭载鸿蒙OS的华为智慧屏S Pro体验分析
华为手机与围棋的结缘,有一个共同的媒人——AI
高压开关电源3D PCB绘制教程:SOLIDWORKS绘制SOT23教程
模具3D打印技术可使注塑品冷却时间缩短68%
网络节点的交换结构
中国移动已在17个城市开展了5G的实验和业务的示范
【产品应用】基于EsDA MPC-ZC1快速实现 — 按键高级应用
PIUSB PD快充设计范例报告
汽车调节器坏了会有哪些状况
细数以太坊扩容方案,颠覆区块链的利器?