极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: cityant

基于ESP8266自动校时时钟

  [复制链接]
 楼主| 发表于 2019-7-1 17:55:38 | 显示全部楼层
Q88888888Q 发表于 2019-7-1 14:00
不知在原来基础上加个光敏电阻方便不,原来的分力原件弄起来用用不错,用亚克力板粘起来,原件都装进去了, ...

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

使用道具 举报

发表于 2019-7-2 22:31:32 来自手机 | 显示全部楼层
cityant 发表于 2019-6-29 20:44
20190629修改:
1、有wifi配置但连不上时不再自动进入smartconfig,如果需要可以在连接wifi时按住flash键 ...

web  怎么用???
回复 支持 反对

使用道具 举报

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

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

使用道具 举报

 楼主| 发表于 2019-7-3 12:29:39 | 显示全部楼层
78678967 发表于 2019-7-2 22:31
web  怎么用???

http://8266ip地址/update
web升级固件
回复 支持 反对

使用道具 举报

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

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

回复 支持 反对

使用道具 举报

发表于 2019-7-3 12:54:08 来自手机 | 显示全部楼层
cityant 发表于 2019-7-3 12:35
可以用这种成品模块,不需要计算分压电阻啥的。

用时间算法省钱省心
回复 支持 反对

使用道具 举报

发表于 2019-7-3 13:08:41 | 显示全部楼层
cityant 发表于 2019-7-3 12:35
可以用这种成品模块,不需要计算分压电阻啥的。

买这种到真方便,也不贵,还是程序问题大
回复 支持 反对

使用道具 举报

 楼主| 发表于 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级,我没分那么细,代码思路很简单具体你可以自己改一下。
回复 支持 反对

使用道具 举报

发表于 2019-7-3 21:40:59 | 显示全部楼层
本帖最后由 78678967 于 2019-7-3 21:42 编辑
cityant 发表于 2019-7-3 13:53
//定义一个变量,用作表示亮度
unsigned int lcdlight = 6;        //LED亮度
//写个函数读取光敏电阻的数值并转 ...


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

使用道具 举报

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

谢谢!我试着摸索摸索。
回复 支持 反对

使用道具 举报

发表于 2019-7-5 11:28:03 | 显示全部楼层
楼主能分享一下你设计的板子的Gerber文件吗?我也想做个试试。
回复 支持 反对

使用道具 举报

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

  求光敏代码谢谢
回复 支持 反对

使用道具 举报

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

第一版光敏电阻部分有点问题,电路改了一下。同时增加了一个水银开关,用于控制屏幕放置方向发生变化后显示方向能自动翻转。DHT温湿度传感器11和22大小差距比较大,又增加了一个安装孔,分别用于两种不同的传感器位置。调试中发现温度会受器件温度影响测出室温偏高,目前怀疑是跟AMS1117太近了,但又没找到其它合适的位置放DHT,因此在AMS1117和DHT之间拉一个槽,后续看看效果咋样。
pcb2.png
新改完的版本还没验证,有可能还有其它问题,把pcb文件放上来有兴趣的可以拿去做着玩儿。
NtpClock_20190706.rar (1019.79 KB, 下载次数: 19)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-7 08:01:15 | 显示全部楼层
78678967 发表于 2019-7-5 21:42
求光敏代码谢谢

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

使用道具 举报

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

光敏模块买回来还是不会用不知道代码怎么放进去,这个对小白真的挺难的摸不着头脑。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-2-29 19:36 , Processed in 0.054529 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表