在线观看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.

    回復

主站蜘蛛池模板: 午夜网站免费版在线观看 | 国产h视频在线观看网站免费 | 黄色三级视频网站 | 海棠高h粗暴调教双性男男 韩国韩宝贝2020vip福利视频 | 永久免费毛片 | 成年男人永久免费看片 | 亚洲区中文字幕 | 69久久夜色精品国产69小说 | 国产成人夜间影院在线观看 | 亚洲综合一 | 四虎国产精品永久在线网址 | 午夜国产精品视频 | 级毛片 | 加勒比一本大道香蕉在线视频 | 色色色色网站 | 四虎影视4hu4虎成人 | 国产天天色 | 久青草视频在线播放 | 精品影视网站入口 | 成人欧美一区二区三区黑人免费 | 免免费看片 | 一级做a爰片久久毛片鸭王 一级做a爰片久久毛片一 | 国产女主播在线 | 久久国产午夜精品理论片34页 | 色综合久久久久久久久五月 | 9299yy看片淫黄大片在线 | 日韩午夜r电影在线观看 | 五月天婷婷丁香花 | 性欧美欧美之巨大69 | 综合精品视频 | 最新国产厕所 | 三级视频网站在线观看播放 | 欧美成人看片一区二区三区 | 性久久久久久久 | 国模于子涵啪啪大胆 | 91在线激情在线观看 | 久久精品草 | 久久精品夜夜夜夜夜久久 | 一区二区三区在线播放 | 一区二区三区网站在线免费线观看 | 国产人人干 |