51单片机——My-Clock项目
2023-09-11 14:18:01 时间
技术: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. 硬件连接:
2. OLED如何显示中文参考上篇文章:http://www.demodashi.com/demo/14753.html
-
初始化OLED和DS1302:
OLED_Init(); Ds1302Init();
-
获取:光照强度、温湿度和时间:
value = (int)ADC(0); //通道0,获取光照强度值,数据在value中,int():强制转换类型 DHT11_receive(); //获取温湿度值,数据在my_date数组中 datapros(); //获取时间,数据在time_data数组中
-
OLED实时显示:
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效果如图:
My-Clock效果演示视频:
三、总结
前面教大家如何开发传感器和使用显示屏,都是为本文做铺垫的,做个小项目将所学的知识整合起来是很有必要的。这里我将获取到的时间、温湿度和光照强度值在OLED显示屏上简单的显示出来,后面我也会发表界面更加好看的文章,还有蓝牙HC-05的使用等等,希望你的继续支持!!!
四、项目结构图
注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权
相关文章
- Vue+ElementUI项目使用webpack输出MPA
- eclipse中使用maven创建项目JDK版本默认是1.5解决方法
- C#网络编程技术FastSocket实战项目演练
- jenkins自动打包部署项目
- 导入旧版本Android项目时的“Unable to resolve target ‘android
- 7-crm项目-kingadmin,列表页---排序
- Java 项目UML反向工程转化工具
- 【单片机项目与仿真】单片机与PC机的串行通信
- 【单片机项目与仿真】串口自检电路
- 【单片机项目与仿真】74164串入并出电路
- 【单片机仿真项目】外部中断0和1控制两位数码管进行计数
- 【单片机仿真项目】外部中断0控制8个发光二极管闪烁
- 【单片机仿真项目】 外部中断0控制发光二极管亮灭
- 【单片机仿真项目】数码管动态显示
- 【单片机仿真项目】广告灯(proteus原理图+keil代码)
- 多模块项目提示“Module ** must not contain source root **. The root already belongs to module **”的解决办法
- SVN版本库浏览器删除项目失败
- 项目之开发模式
- .NET MVC第一章、项目创建与使用