利用ch32v003的ADC采光強(qiáng),再轉(zhuǎn)PWM控制LCD屏幕亮度遇到的問題:
????while(1)
????{
????????sum+=ADC_ConvertedValue;
????????if(++count==1000)
????????{
????????????currpwm=map(sum/count,0,826,25,499);
????????????printf("lastpwm=%d,currpwm=%d\r\n",lastpwm,currpwm);
????????????ColorToColor(lastpwm,currpwm);//漸變調(diào)光
????????????lastpwm=currpwm;
????????????sum=0;count=0;
????????}
????????Delay_Ms(1);
????}
????
????
????/***********************************************************************************
*?漸變算法
*?誤差?<=?2
************************************************************************************/
u32?ColorToColor(u32?last_pwm,?u32?_pwm)
{

????u32?NStep=0,i=0,temp=0;????????????????????????????//?需要幾步
????int32_t?differPWM=0;
????float??avrStep=0;
????(last_pwm<_pwm)?(NStep=_pwm-last_pwm):(NStep=last_pwm-_pwm);
????differPWM=_pwm-last_pwm;
????//?漸變開始
????avrStep???=?(float)differPWM???/?NStep;
????for(i=0;?i

利用ch32v003的ADC采光強(qiáng),再轉(zhuǎn)PWM控制LCD屏幕亮度遇到的問題:


1.一致性不好,雖然都是200Hz的PWM,但是不同屏響應(yīng)不同;

2.光敏二極管靈敏度很高,雖然有做算術(shù)均平濾波,1S周期采樣完成進(jìn)入PWM漸變調(diào)控

3.但客戶反饋有兩段變化,手一揮過就能檢測(cè)到由亮變暗,由暗變亮過程。

所以希望各位能夠不吝賜教,如何進(jìn)行AD采樣和PWM調(diào)整。


屏不一樣,在一起用的盡量挑一樣的,或者寫個(gè)可以后期調(diào)節(jié)的值

1S太短了,明亮變化,不需要反應(yīng)這么快,加長(zhǎng)時(shí)間



只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频