这个星期,我将分享一个迷你但功能齐全的时钟项目,具有RGB效果和温度监测功能。
第一步:备料NodeMCU (ESP8266)定制连接PCB板电池5v的思路。
用NodeMCU显示时间,用Arduino监控温度;您可以选择每秒改变显示器的颜色。迷你LED的额定电压为3.0V至5.5V,16mA(每个LED)。我们的NodeMCU有一个3.3V的电压调节器。
所有发光二极管都可以正常驱动。
第二步:LED WS2812B 3030这里,我们使用集成IC的WS2812新像素LED,以便我们可以分别处理每个细分市场。不仅发光二极管是可寻址的,
还包括每个像素的颜色(改变0-255的数字值(8位值))。LED有四个引脚。此外,这些led具有数据输入和数据输出功能。通过这些函数,我们可以将它们连接起来,并显示文本或数据。
第三步:用NeoPixel Led制作要制作这个面板,我们可以先仔细看看实际的LCD。所以我们可以复制段的排列,并为其编写代码。在上图中,每段被命名为A、B、C、D、E、F、G、
为了连接所有的段,我们采用了串行数据并行供电的方法:所有的电源线,GND和VCC并联到所有的led上;数据输出被提供给串联的下一个LED的数据输入;将第一个面板的Dout连接到第二个面板的Din。
第四步:连接为了连接小时和分钟面板,我们在它们之间放了一个小PCB,就是上图中的‘破折号’。
步骤5: NodeMCU/ESP8266ESP8266将32位Tensilica处理器与标准数字外设接口集成在一起。ESP8266具有车载Wi-Fi支持。
它可以用来调整时间通过互联网没有任何RTC(实时时钟)模块。这减少了连接的数量,使整个项目更容易。如果您使用下面的代码,您可以向这个7段时钟添加两个额外的函数。
第六步:温度和湿度在13号针上加一个DHT11传感器,在12号针上加一个触觉按钮,这样我们就可以在屏幕上得到摄氏或者华氏的温度值。用10k电阻将按钮的第12个引脚连接到5V。
另一端连接到GND。也就是说,当按钮销被拉到GND时,显示器将显示温度读数。没有这个温度传感器,代码也能正常运行,所以如果你想尽量简单,就不需要这些连接。
第七步:亮度控制通过在A0脚制作一个电阻分压网络,并添加一个10k电阻的LDR传感器,可以相应地改变亮度。白天亮度高,晚上亮度低。如果你不想调节亮度,
下面的代码在没有这些传感器的情况下也可以正常运行,并且会保持默认设置。
CPL, BOM and Gerber files are in the open source code base warehouse: https://github.com/Half Students/ESP8266-7-segment display clock based on Wi-Fi or can be packaged and downloaded at the end of the article.
步骤9:使用上面的示意图连接NodeMCU。这里用的软件是Cirkit Designer,非常好的软件。通常,您可以在学校演示期间使用此线路图、面包板电路并创建一些自定义组件。此外,
它最近增加了代码编译、BOM和一些新组件。使用Cirkit Designer,我们可以画出逼真的电路图,这些电路图与物料清单相连,这样我们就可以无缝地对电路中的元件进行排序。
Windows、Linux、Mac都可以使用,下载地址:https://www。cirkitstudio。com/下载。超文本标记语言
Step 10: The code part first defines all pixels, input/output pins and sensor pins with library initialization code: # include # include # include # include # include: # define the number of LEDs in each segment # Define PIXEL_DIGITS 4 //number of connected digits # define PIXEL_PIN 2 //GPIO pin # define PIXEL_DASH 1 //binary segment # define PER _ pin A0 //LDR pin # define DHT _ pin 13 //DHT sensor pin # define BUTTON _ pin 12 //Button pin adjustment time.
if(index==0 | | index==1)color=strip .颜色(0,亮度,0);if(index==2 | | index==3)color=strip .颜色(0,亮度,0);if(index==4 | | index==5)color=strip .颜色(亮度,0,0);完整代码:
这是用于显示数字和其他字母的主要PCB设计。这个项目涉及的所有文件都可以在文末打包下载。
步骤13:故障排除“Din”和“Dout”是串联的。如果它们被反向连接或从某处断开,整个设备将停止工作。如上所示连接“仪表板”部分。确保所有连接都已焊接。干焊会导致数据值和颜色的变化。
在焊接的时候,注意PCB温度不要太高。
原文链接:https://www.instructables.com/ESP8266-Wi-Fi-Based-7-Segment-Display-Clock/
GitHub仓库链接:https://github.com/halfstudents/ESP8266-Wi-Fi-based-7-Segment-Display-clock译文首发于DF创客社区:https://mc.dfrobot.com.cn/thread-313635-1-1.html
项目作者:sainisagar7294
标题:esp8266ds1302制作时钟(esp8266小时钟)
链接:https://www.52hkw.com/news/rj/58048.html
版权:文章转载自网络,如有侵权,请联系删除!