用oled屏幕顯示,具體接線方案程序中都有,經過調試確實可用的
H指hue(色相)、S指saturation(飽和度)、L指lightness(亮度)、V指value(色調)、B指brightness(明度)。
色相(H)是色彩的基本屬性,就是平常所說的顏色名稱,如紅色、黃色等。
飽和度(S)是指色彩的純度,越高色彩越純,低則逐漸變灰,取0-100%的數值。
明度(V),亮度(B),取0-100%。
0度: 紅色,RGB:(255, 0, 0), 255:R, 0:B,G+
60度: 黃色,RGB:(255,255, 0),255:G, 0:B, R-
120度: 綠色,RGB:( 0,255, 0),255:G, 0:R,B+
180度: 青色,RGB:( 0,255,255),255:B, 0:R,G-
240度: 藍色,RGB:( 0, 0,255),255:B, 0:G,R+
300度: 紫色,RGB:(255, 0,255),255:R, 0:G,B-
360度: 紅色,RGB:(255, 0, 0),255:R, 0:B,G+
RGB轉化到HSV的算法
max=max(R,G,B)
min=min(R,G,B)
if R = max, H = (G-B)/(max-min)
if G = max, H = 2 + (B-R)/(max-min)
if B = max, H = 4 + (R-G)/(max-min)
H = H * 60
if H < 0, H = H + 360
V=max(R,G,B)
S=(max-min)/max
/接線方法
/VCC 接3.3
/GND 接GND
/LED 接3.3
#define S0 PCout(6)
#define S1 PCout(7)
#define S2 PCout(8)
#define S3 PCout(9)
#define OUT PAin(8)
******************************************************************************/
//oled的接線方法
//////////////////////////////////////////////////////////////////////////////////
//本程序只供學習使用,未經作者許可,不得用于其它任何用途
//中景園電子
//
// 文 件 名 : main.c
// 版 本 號 : v2.0
// 作 者 : HuangKai
// 生成日期 : 2014-0101
// 最近修改 :
// 功能描述 : OLED 4接口演示例程(51系列)
// 說明:
// ----------------------------------------------------------------
// GND 電源地
// VCC 接5V或3.3v電源
// D0 接PA5(SCL)
// D1 接PA7(SDA)
// RES 接PB0
// DC 接PB1
// CS 接PA4
// ----------------------------------------------------------------
// 修改歷史 :
// 日 期 :
// 作 者 : HuangKai
// 修改內容 : 創建文件
//版權所有,盜版必究。
//Copyright(C) 中景園電子2014/3/16
/* USER CODE END 0 */
tcs3200_init(0,1);
whitebalance();//開機的時候最好模塊測量的顏色是不反光的白色,推薦使用白紙
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
t=' ';
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
//=================================================================================
R = tcs3200_RED();
G = tcs3200_GREEN(); //取RGB值
B = tcs3200_BLUE();
//================================================================================
OLED_Clear();
//顯示漢字
/*void OLED_ShowCHinese(u8 x,u8 y,u8 no)
x,y分別代表要顯示的漢字在屏上的坐標位置,最后一位是漢字在漢字數組的位數
*/
/*占空比顯示是調試時為了證明頻率采集成功才顯示的,具體使用時可以去掉*/
/*以下三個分別是對R,G,B的數值顯示*/
sprintf(str,":%d Duty: %d",R,duty);
OLED_ShowString(0,0,"R");/*顯示ASCII字符R*/ OLED_ShowString(18,0,str);
/*頻率:10000Hz*/
sprintf(str,":%d",G);
OLED_ShowString(0,2,"G");/*顯示ASCII字符G*/ OLED_ShowString(18,2,str);
sprintf(str,":%d",B);
OLED_ShowString(0,4,"B");/*顯示ASCII字符B*/ OLED_ShowString(18,4,str);
/*頻率顯示*/
sprintf(str,": %.dHz",freq);
OLED_ShowCHinese(0,6,13); OLED_ShowCHinese(18,6,14); OLED_ShowString(36,6,str);
delay_ms(2000);
}
0.png (6.44 KB, 下載次數: 52)
下載附件
2019-4-11 02:07 上傳
全部資料51hei下載地址:
顏色識別模塊.7z
(684.63 KB, 下載次數: 43)
2019-4-11 02:07 上傳
點擊文件名下載附件
能用 下載積分: 黑幣 -5
|