步驟1:所需零件
我使用了PIC 16F887單片機(jī),但幾乎具有脈沖寬度調(diào)制功能的設(shè)備將起作用。
1 RGB LED
1微處理器
1標(biāo)準(zhǔn)紅色LED
1 1k歐姆電阻器
某些電線
》我只需要微控制器和RGB LED即可擁有廣泛的顏色檢測器,但是如果您只想檢測一種顏色的電路,則不需要微控制器-您只需要一個(gè)想要的顏色的明亮LED檢測。標(biāo)準(zhǔn)的紅色LED是“指示燈LED”-在檢測到正確的顏色時(shí)會(huì)點(diǎn)亮。
步驟2:構(gòu)建電路
原理圖非常簡單,下面以一般形式顯示。 RGB LED由PWM信號(hào)從外部供電。
我將膠帶纏在光敏電阻上,這樣環(huán)境光就不會(huì)進(jìn)入-僅能檢測到正上方的光。
第3步:代碼
該代碼是為Microchip PIC 16F887編寫的,但希望您能得到大致的認(rèn)識(shí)。我使用了開發(fā)板上的內(nèi)置電位計(jì)來改變RGB LED的光譜(由于沒有3個(gè)PWM模塊,所以它無法遍歷整個(gè)光譜,但這已經(jīng)足夠了)
評(píng)論包括在內(nèi)。
#include 《16F887.h》
#include
#include“ delay.c”
#include
#include
#use delay(時(shí)鐘= 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( )
{
output_high(PIN_A4);
output_high(PIN_B1);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0);
》 setup_adc_ports(sAN0);
//定時(shí)器/中斷設(shè)置
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
//設(shè)置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();
開關(guān)(值){
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步:應(yīng)用程序!
像這樣的簡單顏色檢測器可以用于機(jī)器人技術(shù),也可以用于很酷的項(xiàng)目,例如用col分隔legos?;?qū)&M進(jìn)行分類,或作為色盲的輔助。
-
led
+關(guān)注
關(guān)注
240文章
23085瀏覽量
657229 -
PIC16F887
+關(guān)注
關(guān)注
1文章
17瀏覽量
6740
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論