在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

聚豐項目 > 書房環境顏色檢測報警系統

書房環境顏色檢測報警系統

使用VEML6040對環境顏色檢測,實現對環境的自適應

anger0925 anger0925

分享
2 喜歡這個項目
團隊介紹

anger0925 anger0925

團隊成員

anger 工程師

分享
項目簡介
使用VEML6040對環境顏色檢測,實現對環境的自適應
硬件說明

一,項目背景

通過前面學習,已經熟悉了世平集團推出基于Vishay VEML4020的環境顏色檢測方案。不需要有專業的色彩捕捉知識,就可以實現環境顏色的采集。還配備了NXP LPC824處理器,可以把環境顏色完美的體現出來。

采集環境顏色參數,源于Vishay推出的一顆RGBW傳感器,該傳感器集成了信號處理IC,直接提供I2C接口,讀取環境顏色數據。這傳感器可以檢測紅光、綠光、藍光和白光,每個顏色通道的分辨率為16位。而且體積非常小(2.0mmx1.25mmx1.0mm)采用表面貼裝封裝。在數碼相機、電視機等消費類產品,讓這些產品可以根據環境光來調整背光的亮度和色溫,使LCD和LED屏幕看起來更舒適。傳感器把顏色平衡、背光控制和色溫檢測所需的電路包含在一個器件里,可節省空間,同時不需要外置電阻,從而降低成本,簡化設計。VEML6040d的內置環境光光電二極管具有極高的感光度,能探測0.0056lx~11.7klx的光照度,使器件可以工作在有暗鏡的應用里。傳感器對熒光頻閃沒有響應,在關機模式下的電流小于1μA,在-40℃~+85℃范圍內能提供優異的溫度補償。

 器件的工作電壓和I2C總線電壓為2.5V~3.6V,采用無鉛的4pin OPLGA封裝。VEML6040符合RoHS和Vishay綠色標準,無鹵素。


二,項目目標

1,移植FreeRtos實時系統,基于該系統實現項目功能;

2,采集環境顏色數據,實時顯示在顯示器上;

3,自適應過程:當環境顏色比較黑時,打開LED燈(D5、D6、D7)。當環境顏色偏紅時,發出報警,LED閃爍(D5、D6、D7)。


三,硬件

使用環境顏色檢測開發套件。


軟件說明

四,項目過程

 

1)FreeRtos移植

1,源文件準備,可以到freertos官網上下載:

1)與FreeRTOS內核有關的文件數量僅為3個,分別是list.c queue.c tasks.c croutine.c timers.c該文件位于FreeRTOS\Source

2)與內存分配有關的文件共有4個,分別是heap_1.c,heap_2.c,heap_3.c,heap_4.c,heap_5.c最新版有5個文件只需選擇其中的1個,我們這里選擇heap_3.c。該文件位于Source\portable\MemMang。

3) 與移植相關的代碼包括port.c,portmacro.h。這些代碼不但和編譯器有關還和平臺(MCU)有關。FreeRTOS先以編譯器為大類,然后再以平臺(MCU)為小類。在這里選擇Keil編譯器,平臺為ARM_CM0。該文件位于Source\portable\RVDS\ARM_CM0。

4)除了上述內容之外,還包括FreeRTOS內核相關的頭文件。該文件FreeRTOS\Source\include。


2,在工程中加入Freertos文件。

加入的文件有list.c queue.c tasks.c  timers.c  heap_3.c,port.c,FreeRTOSCommonHooks.c

3,在工程中加入Freertos文件的頭文件路徑

4,編譯,提示錯誤,沒有FreeRTOSConfig.h文件

   編寫該文件對內核的配置,需要FreeRTOSConfig.h中的相關宏定義,文件一般與應用文件放在一起。

5,需要在啟動代碼中修改這些中斷向量的名稱,并聲明這些中斷向量為外部函數。這也是初次使用FreeRTOS容易范的錯誤。我這里就在 FreeRTOSConfig.h中定義:

#define vPortSVCHandler SVC_Handler

#define xPortPendSVHandler PendSV_Handler

#define xPortSysTickHandler SysTick_Handler

6,在FreeRTOSCommonHooks.c中需要定義三個鉤子函數

void vApplicationIdleHook(void)

{ }

void vApplicationTickHook(void)

{ }

void vApplicationMallocFailedHook(void)

{

      taskDISABLE_INTERRUPTS();

      for(;;);

}

7,在main文件中添加內核頭文件:

#include "FreeRTOS.h"

#include "task.h"

#include "timers.h"

#include "semphr.h"

8,在mian函數中添加任務

  xTaskCreate(vLEDTask1, "vTaskLed1",

configMINIMAL_STACK_SIZE, NULL, (tskIDLE_PRIORITY + 1UL),

(TaskHandle_t *) NULL);

/* Start the scheduler. */

vTaskStartScheduler();

    while(1)

    {

       

}

 

移植基本上結束。但是移植國產中還需要注意一個配置文件FreeRTOSConfig.h

(這個文件自己編寫),FreeRTOS 是高度可配置的。所有的可配置項都在FreeRTOSConfig.h 文件中。每一個Demo 程序中都包含了一個配置好的FreeRTOSConfig.h 文件,可以以Demo程序中的FreeRTOSConfig.h 文件作為模板,在其基礎上加以修改。

 

2)在系統中添加讀取環境顏色傳感器數據任務

 圖片1.png

 

在讀取傳感器數據任務函數vRGB_Sensor中,實現,讀取數據,然后通過隊列講數據傳輸到顯示任務中。

圖片2.png 

使用隊列時,先創建隊列。

圖片3.png 

3)顯示傳感器數據

創建一個任務,在LCM上顯示讀取的傳感器數據。

 

圖片4.png 

通過隊列讀取數據。


演示效果

顯示效果:

圖片5.png 

 

3)環境自適應報警系統

使用開發套件上的傳感器采集環境光顏色來實現環境自適應報警系統。

A,當環境比較暗時,打開LED燈,當光敏傳感器使用。自動調節環境光線,避免光線太暗,影響視力。

當光線比較好時,LED關閉:

圖片6.png 

當光線比較暗時,打開LED燈。

圖片7.png 

測試視頻:


 

 

B,當環境顏色偏紅時,發出報警信號。LED燈閃爍。

圖片8.png 

測試視頻:

 

五,項目總結

VEML4020環境顏色檢測開發套件簡單地實現環境顏色的數據采集,應用起來非常方便。我在這里只是簡單是使用了他的功能。VEML4020非常強大,可以應用于很多領域。特別是在手機、數碼相機、電視機等消費類產品,讓這些產品可以根據環境光來調整背光的亮度和色溫,使LCDLED屏幕看起來更舒適。由于VEML4020傳感器體積分成小,在設計里面可以大大節省空間,同時不需要外置電阻,從而降低成本,簡化設計。


評論區(1 )
  • 動心忍性1234: 您好我是無線電雜志的編輯,我們對您的項目十分感興趣,請問您有興趣投稿嗎?成為我們的作者除稿費外還有其他優厚條件。敬請參與。投稿請聯系QQ260534978.

    回復

主站蜘蛛池模板: 中国人黑人xxⅹ性猛 | 丝袜紧身裙国产在线播放 | 亚洲啊v| freesex性| 亚色网站 | 给我一个可以看片的www日本 | 特黄特a级特别特级特毛片 特黄特色大片免费播放路01 | 天堂网www天堂在线资源链接 | 一区免费 | 综合免费视频 | 亚洲国产精品久久婷婷 | 亚洲第一在线 | 国产四虎精品 | 亚洲日本一区二区三区在线不卡 | bt天堂资源种子在线8 | 快色视频在线观看 | 天天干天天操天天做 | 男女视频免费 | 四虎新地址4hu 你懂的 | 性殴美高清视频 | 琪琪see色原在线20 | 中文字幕日本一区波多野不卡 | 嫩草影院在线入口 | 天天在线综合网 | 拍拍拍无挡视频免费全程1000 | 91极品视频在线观看 | 天堂中文最新版www 天堂资源8中文最新版在线 | 欧美一卡二卡科技有限公司 | 日日噜噜夜夜狠狠久久aⅴ 日日噜噜夜夜狠狠久久丁香 | 久久婷婷人人澡人人爱91 | 69精品久久久久 | 国产香港日本三级在线观看 | 亚洲第8页| 亚洲网站大全 | 免费播放一区二区三区 | 久久99国产亚洲高清观看首页 | 女人张开双腿让男人桶完整 | 免费啪啪小视频 | 天天影院网| 影院成人区精品一区二区婷婷丽春院影视 | sss欧美一区二区三区 |