cityant 发表于 2019-7-1 17:55:38

Q88888888Q 发表于 2019-7-1 14:00
不知在原来基础上加个光敏电阻方便不,原来的分力原件弄起来用用不错,用亚克力板粘起来,原件都装进去了, ...

可以,弄个光敏电阻模块。把输出端连到ADC上采样,然后程序中加入处理就行了。直接找一个现成的光敏电阻模块,用光敏电阻还需要分压电阻之类的。

78678967 发表于 2019-7-2 22:31:32

cityant 发表于 2019-6-29 20:44
20190629修改:
1、有wifi配置但连不上时不再自动进入smartconfig,如果需要可以在连接wifi时按住flash键 ...

web怎么用???

Q88888888Q 发表于 2019-7-3 08:52:02

cityant 发表于 2019-7-1 17:55
可以,弄个光敏电阻模块。把输出端连到ADC上采样,然后程序中加入处理就行了。直接找一个现成的光敏电阻 ...

不知就是单纯的光敏电阻还是要那种带小芯片的模块,不知方不方便改个加光敏的程序,真的不会编程,就是喜欢看别人做这些东西,自己也跟着做做。

cityant 发表于 2019-7-3 12:29:39

78678967 发表于 2019-7-2 22:31
web怎么用???

http://8266ip地址/update
web升级固件

cityant 发表于 2019-7-3 12:35:41

Q88888888Q 发表于 2019-7-3 08:52
不知就是单纯的光敏电阻还是要那种带小芯片的模块,不知方不方便改个加光敏的程序,真的不会编程,就是喜 ...


可以用这种成品模块,不需要计算分压电阻啥的。

78678967 发表于 2019-7-3 12:54:08

cityant 发表于 2019-7-3 12:35
可以用这种成品模块,不需要计算分压电阻啥的。

用时间算法省钱省心

Q88888888Q 发表于 2019-7-3 13:08:41

cityant 发表于 2019-7-3 12:35
可以用这种成品模块,不需要计算分压电阻啥的。

买这种到真方便,也不贵,还是程序问题大:D

cityant 发表于 2019-7-3 13:53:40

Q88888888Q 发表于 2019-7-3 13:08
买这种到真方便,也不贵,还是程序问题大

//定义一个变量,用作表示亮度
unsigned int lcdlight = 6;        //LED亮度
//写个函数读取光敏电阻的数值并转换为LED亮度
void checklight(){
        unsigned int adc = analogRead(A0);
        delay(10);
        if (adc < 20){
                lcdlight = 15;}
        else if(adc >=20 && adc < 30){
                lcdlight = 10;}
        else if(adc >=30 && adc < 40){
                lcdlight = 8;}
        else if(adc >=40 && adc < 50){
                lcdlight = 6;}
        else if(adc >=50 && adc < 80){
                lcdlight = 5;}
        else if(adc >=80 && adc < 150){
                lcdlight = 4;}
        else if(adc >=150 && adc < 300){
                lcdlight = 3;}
        else{
                lcdlight = 0;}
}
//我这个函数比较笨,因为没找到合理的对应方法,就简单写了个调试用


最后将函数放在主循环中调用就行了。这个ADC值与LED亮度的对应关系需要依据你的光敏电阻模块的读数与LED亮度的要求的调整确定。LED亮度共有15级,我没分那么细,代码思路很简单具体你可以自己改一下。

78678967 发表于 2019-7-3 21:40:59

本帖最后由 78678967 于 2019-7-3 21:42 编辑

cityant 发表于 2019-7-3 13:53
//定义一个变量,用作表示亮度
unsigned int lcdlight = 6;        //LED亮度
//写个函数读取光敏电阻的数值并转 ...

两三级就够了白天看得见晚上不太亮就行了
太亮会影响屏幕寿命

Q88888888Q 发表于 2019-7-4 09:40:19

cityant 发表于 2019-7-3 13:53
//定义一个变量,用作表示亮度
unsigned int lcdlight = 6;        //LED亮度
//写个函数读取光敏电阻的数值并转 ...

谢谢!我试着摸索摸索。

wblqx 发表于 2019-7-5 11:28:03

楼主能分享一下你设计的板子的Gerber文件吗?我也想做个试试。

78678967 发表于 2019-7-5 21:42:47

cityant 发表于 2019-7-3 13:53
//定义一个变量,用作表示亮度
unsigned int lcdlight = 6;        //LED亮度
//写个函数读取光敏电阻的数值并转 ...

求光敏代码谢谢

cityant 发表于 2019-7-7 08:00:21

wblqx 发表于 2019-7-5 11:28
楼主能分享一下你设计的板子的Gerber文件吗?我也想做个试试。

第一版光敏电阻部分有点问题,电路改了一下。同时增加了一个水银开关,用于控制屏幕放置方向发生变化后显示方向能自动翻转。DHT温湿度传感器11和22大小差距比较大,又增加了一个安装孔,分别用于两种不同的传感器位置。调试中发现温度会受器件温度影响测出室温偏高,目前怀疑是跟AMS1117太近了,但又没找到其它合适的位置放DHT,因此在AMS1117和DHT之间拉一个槽,后续看看效果咋样。

新改完的版本还没验证,有可能还有其它问题,把pcb文件放上来有兴趣的可以拿去做着玩儿。


cityant 发表于 2019-7-7 08:01:15

78678967 发表于 2019-7-5 21:42
求光敏代码谢谢

上面这段代码就是从我程序里抠出来的,用着有什么问题吗?

Q88888888Q 发表于 2019-7-7 10:56:16

cityant 发表于 2019-7-3 13:53
//定义一个变量,用作表示亮度
unsigned int lcdlight = 6;        //LED亮度
//写个函数读取光敏电阻的数值并转 ...

光敏模块买回来还是不会用:L不知道代码怎么放进去,这个对小白真的挺难的:D摸不着头脑。
页: 1 2 3 4 5 6 [7] 8 9 10 11 12 13 14 15
查看完整版本: 基于ESP8266自动校时时钟