51单片机——My-Clock项目

技术:51单片机、光敏传感器、PCF8591、DHT11、DS1302、OLED显示屏
 

概述

项目My-Clock是一个环境监测时钟,接入光敏传感器和温湿度传感器监测环境信息,加入DS1302模块用于获取时间,并用OLED显示屏进行实时显示。

详细

一、My-Clock简介

项目My-Clock是一个环境监测时钟,接入光敏传感器和温湿度传感器监测环境信息,加入DS1302模块用于获取时间,并用OLED显示屏进行实时显示。由于51单片机内部没有AD/DA转换器,所以我们使用PCF8591模块的AD转换功能,来转换光敏传感器返回的模拟值。

My-Clock的硬件材料有:51单片机、光敏传感器、PCF8591 AD/DA转换模块、DHT11温湿度传感器和0.96寸OLED显示屏(7针)。


二、My-Clock实现

1. 硬件连接:

1545972279980031266.png

2. OLED如何显示中文参考上篇文章:http://www.demodashi.com/demo/14753.html

  • 初始化OLED和DS1302:

1
2
OLED_Init();
Ds1302Init();
  • 获取:光照强度、温湿度和时间:

1
2
3
value = (int)ADC(0);    //通道0,获取光照强度值,数据在value中,int():强制转换类型
DHT11_receive();        //获取温湿度值,数据在my_date数组中
datapros();             //获取时间,数据在time_data数组中
  • OLED实时显示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
OLED_ShowCHinese(0,0,7);   //时
OLED_ShowCHinese(16,0,8);  //间
OLED_ShowChar(32,0,':');   //':'
  
OLED_ShowString(50,0,time_data);   //打印时间
OLED_ShowCHinese(100,0,week-1);    //星期几
  
OLED_ShowString(0,3,"Temp:");      //打印字符串"Temp"
OLED_ShowChar(40,3,my_date[3]);    //打印温度值
OLED_ShowChar(48,3,my_date[4]);
OLED_ShowChar(56,3,my_date[5]);
  
OLED_ShowString(72,3,"Hum:");      //打印字符串"Hum"
OLED_ShowChar(104,3,my_date[0]);   //打印湿度值
OLED_ShowChar(112,3,my_date[1]);
OLED_ShowChar(120,3,my_date[2]);
  
OLED_ShowCHinese(0,6,9);   //光
OLED_ShowCHinese(16,6,10); //强
OLED_ShowChar(32,6,':');   //':'
OLED_ShowNum(40,6,value,2,16);      //打印value值
OLED_ShowString(64,6,"My-Clock");   //打印字符串"My_Clock"

My-Clock效果如图:

1545972493077013167.png

My-Clock效果演示视频:


三、总结

前面教大家如何开发传感器和使用显示屏,都是为本文做铺垫的,做个小项目将所学的知识整合起来是很有必要的。这里我将获取到的时间、温湿度和光照强度值在OLED显示屏上简单的显示出来,后面我也会发表界面更加好看的文章,还有蓝牙HC-05的使用等等,希望你的继续支持!!!


四、项目结构图

图片3.png

 

 

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

posted on   demo例子集  阅读(1370)  评论(0编辑  收藏  举报

(评论功能已被禁用)
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示