技术: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 = (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大师发表,拒绝转载,转载需要作者授权

转载于:https://www.cnblogs.com/demodashi/p/10503389.html

51单片机——My-Clock项目相关推荐

  1. 51单片机综合小项目-第2季第4部分-朱有鹏-专题视频课程

    51单片机综合小项目-第2季第4部分-2794人已学习 课程介绍         本课程是<朱有鹏老师单片机完全学习系列课程>第2季第4个课程,也是51单片机学完之后的一个综合小项目,该项 ...

  2. 51单片机课设项目大全

    1-基于51单片机的音乐彩灯 2-基于51单片机的蓝牙智能台灯设计 3-基于51单片机的篮球计分器 4-基于51单片机的无线病床呼叫系统设计 5-基于51单片机的语音实时采集系统 6-基于51单片机的 ...

  3. 51单片机怎么显示当前时间_电子设计模块项目专题:史上讲解最全的51单片机设计万年历项目①

    1.设计任务书: 设计任务书 学生姓名: 班级: 学号: 题目:1602A液晶显示万年历设计 一.设计任务:本设计由数据显示模块.温度采集模块.时间处理模块和调整设置模块四个模块组成.系统以AT89S ...

  4. 51单片机升国旗项目的简单分析,以及涉及到的模块配置与使用

    前言: 这几天我在研究在单片机进行其他工作的时候去播放一些音乐,比如在步进电机转动的时候去播放蜂鸣器的电子音乐,这样岂不是一举两得.但是,后来时间我发现一个问题.就是无源蜂鸣器对时序的要求是比较严格的 ...

  5. 51单片机实训项目之“万年历”代码原理详解

    一.原理图 二.芯片器件 STC89C52 DS18B20(温度传感器) DS1302(时钟芯片) LCD1602液晶显示 独立按键 杜邦线 三.仿真图 四.程序代码详解 (一).子程序 EEPROM ...

  6. 51单片机毕业设计题目项目汇总 - 100例

    文章目录 1前言 2 STM32 毕设课题 3 如何选题 3.1 不要给自己挖坑 3.2 难度把控 3.3 如何命名题目 1前言

  7. 基于51单片机和物联网的智能家居系统(ESP8266物联网模块)

    前言 该智能家居系统以 STC89C52单片机为控制核心,结合 LCD1602 液晶显示屏.L298N电机驱动模块.光敏电阻,ESP8266WiFi模块,DS18B20温度计设计并实现了自动感光窗帘与 ...

  8. 51单片机的学习之旅

    一 .基础篇 1.了解什么是单片机? 答:单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU.随机存储器RA ...

  9. 本科项目——51单片机多功能万年历

    源程序下载地址:http://download.csdn.net/detail/cxp2205455256/8183217 设计报告下载地址:http://download.csdn.net/deta ...

最新文章

  1. 【强化学习】Sarsa 和 Sarsa(λ)
  2. java删除文件夹的所有文件
  3. oracle如何写循环日期自增_Oracle动态创建时间分区,以及Oracle12c中快速创建自增列...
  4. 调优 | 别再说你不会 JVM 性能监控和调优了
  5. 3、单词分析(暴力枚举)
  6. 2能不用cuda_又有2款限定皮肤返场,不用花钱就能直接兑换!天美良心?
  7. GNU宣言——Ubuntu*操作系统将ubuntu精神带到了软件世界
  8. JSP教程第6讲笔记
  9. 【Android】用MediaRecorder录制视频太短崩的问题
  10. 2019年中秋读者福利,你中奖了吗??
  11. html中自定义快捷键,电脑怎样自定义快捷键简单实现
  12. 解决文件不显示后缀名的问题
  13. 92_目标:2019年底博客访问量达到10W+
  14. 机器人周志_智能机器人杂志
  15. 20155232《网络对抗》 Exp1 PC平台逆向破解(5)M
  16. 日语促音和长音怎么打?
  17. Keepalived+LVS+MariaDB Galera Cluster10.0高可用负载均衡多主复制
  18. 浏览器兼容性问题总结
  19. 硬件部分第二次培训——中断详解
  20. 交换机和猫、路由器到底有什么区别?

热门文章

  1. 2022年的东南亚跨境市场风口,越南电商市场一定不要错过
  2. 倡导国际农民丰收节贸易会-万祥军:中国-中东欧谋定启动
  3. CGI,BOA配置心得
  4. 整理下Anytao《你必须知道的.Net》全文链接
  5. LeetCode 817. Linked List Components
  6. java基础(参数传递)
  7. inputStream输入流转为String对象(将String对象转为inputStream输入流)
  8. md5模块(Python内置模块)和hashlib模块
  9. 初识 HTML5(一)
  10. iOS—OC——C——野指针