技术:51单片机、光敏传感器、PCF8591、DHT11、DS1302、OLED显示屏 概述 项目My-Clock是一个环境监测时钟,接入光敏传感器和温湿度传感器监测环境信息,加入DS1302模块用于获取时间,并用OLED显示屏进行实时显示。 详细 代码下载:http://www.demodashi.com/demo/14761.html 一、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 = https://www.it610.com/article/(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的使用等等,希望你的继续支持!!!
四、项目结构图

文章图片
代码下载:http://www.demodashi.com/demo/14761.html 注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权 【51单片机——My-Clock项目】转载于:https://www.cnblogs.com/demodashi/p/10503389.html
推荐阅读
- 鸿蒙设备开发|华为云14天鸿蒙设备开发-Day5驱动子系统开发
- 树莓派|树莓派的常用系统配置
- 单片机|stm32+HAL库制作转速仪
- 嵌入式|通讯协议(2)—— SPI
- linux|I.MX6UL核心模块使用连载-USB接口测试 (六)
- 树莓派|树莓派4B的串口使用,并通过串口与其他设备经过通讯协议发送、接收数据。
- 英国新财政大臣(软银收购ARM 海外投资热度不减)
- 人工智能|安卓之父 Andy Rubin(要把互联网现实化)
- 【3】7系列FPGA结构|从底层结构开始学习FPGA----MMCM与PLL