初学arduino,用四位数码管和温湿度传感器实现温湿度监控,因为用的是数码管,所以只能交替显示,温度和湿度各显示2S。

使用到的材料

  • arduino UNO r3
  • 面包板
  • SHTC3温湿度传感器
  • 4位共阴极数码管
  • 面包线若干

接线图

代码如下

#include <SevSeg.h>
#include <SparkFun_SHTC3.h>
SHTC3 mySHTC3;
SevSeg sevseg;
byte numDigits = 4;
byte digitPins[] = {10,11,12,13};
byte segmentPins[] = {2,3,4,5,6,7,8,9};
byte hardwareConfig = COMMON_CATHODE;
#define PATTERN_CHANGE_TIME 2000
unsigned long timer = millis()-PATTERN_CHANGE_TIME;
bool delect = true;
float tem,RH;
void setup(){sevseg.begin(hardwareConfig,numDigits,digitPins,segmentPins);mySHTC3.begin();
}
void loop(){if (millis() > (timer + PATTERN_CHANGE_TIME))  // 延时2s{SHTC3_Status_TypeDef result = mySHTC3.update(); // 刷新传感器tem=mySHTC3.toDegC();  // 提取温度值RH=mySHTC3.toPercent();  // 提取湿度值// 通过bool值翻转,实现温度和湿度交替显示if (delect == true){sevseg.setNumber((int)(tem*100),2);delect = !delect;}else{sevseg.setNumber((int)(RH*100),2);delect = !delect;}timer = millis();}sevseg.refreshDisplay();
}

实现效果

说明

  1. SHTC3温湿度传感器是通过I2C通信,好像很少有人用,不过好在有现成的驱动库可以用,SparkFun_SHTC3,这个在arduino官方库里可以搜到,在GitHub上有示例代码;
  2. 4位数码管由于需要sevseg.refreshDisplay()的原因,无法使用delay来保持数码管的稳定显示,此处可以用millis函数。

arduino实验-4位数码管交替显示温湿度相关推荐

  1. C#+Arduino控制4位数码管

    上一篇介绍了如何控制1位数码管,接下来就是控制4位数码管,其实就是4个一位数码管拼起来构成的,但是4位数码管的引脚只比一位数码管多了2个.通过查找资料可知,4位数码管中的a.b.c.d.e.f.g.d ...

  2. 嵌入式开发:使用STM32CubeMX 和 Keil uVision5实现两位数码管循环显示实验

    一.STM32CubeMx实现数码管 1.双击打开STM32CubeMX. 2.点击File选项,在File列表下选择New Project选项新建工程. 3.在图中所示位置的方框中输入我们使用的芯片 ...

  3. 单片机原理及其应用——单片机定时器中断实验(八段数码管依次显示0~9数字)

    目录 一.实验要求 二.知识要点 (一)单片机定时器/计数器 (二)相关的特殊功能寄存器 1.工作方式寄存器TMOD 2.定时器/计数器控制寄存器TCON (三)定时器/计数器的工作方式 1.工作方式 ...

  4. 2440 8字数码管 显示0到10 c语言,51单片机对8位数码管依次显示0-7的设计

    共阳极数组0~9:display[]={0xC0,0xF9,0xA4,0xB0,0x91,0xA2,0x82,0xF8,0x80,0x90} 共阳极数组A~F:display[]={0x88,0x83 ...

  5. proteus仿真arduino控制两位数码管

    前面我们用arduino控制一位数码管,知道了控制数码管的原理.这里我们增加了一位,其显示的原理基本一样.只不过本质上不是两位同时点亮,而是轮换点亮.下面是原理图: 我们来看看代码的实现: int P ...

  6. arduino控制一位数码管、控制二位数码管动态显示(用不到中断程序)

    目的: 1.利用arduino控制一位共阳极数码管显示 2.利用arduino控制二位共阳极数码管显示 前言: 前段时间,在网上看到了一个视频,是关于二位数码管动态显示的视频,感觉很新奇,就想把它做出 ...

  7. Arduino驱动4位数码管

    文章目录 Arduino驱动4位数码管 基本原理 静态(只能保存单个数码管) 动态显示 数码管引脚及接线 引脚定义 保存显示的数组 初始化 显示 单个管教及其显示 多个数码管同时亮(最多支持4个) 动 ...

  8. 单片机上的8位数码管同时显示数字“12345678“

    8位数码管同时显示数字"12345678" #include<reg52.h>sbit DUAN=P2^6; sbit WEI=P2^7; char code sz[1 ...

  9. 51单片机定时器累加计数(000-999)+4位数码管(循环显示)+Proteus仿真

    51单片机定时器累加计数(000-999)+4位数码管(循环显示)+Proteus仿真 说明:为什么采用4位的数码管,因为Proteus里面没有3位的数码管器件可选,也可以采用2+1,或者1+1+1, ...

最新文章

  1. C#利用NOPI处理Excel的代码
  2. nohup + 保证服务后台运行不中断
  3. flash物理引擎应用:你的第一个Fisix应用程序
  4. 为什么在Android上的某些设备上使用相机意图捕获的图像会被旋转?
  5. Hadoop开发环境的搭建与配置(基于Linux)
  6. 解决X5内核版本兼容问题
  7. mysql 分组求和_MySQL 分组最值、分组均值、分组求和
  8. python小波变换时频分析
  9. 考研复试C程序设计基础
  10. html app5 仿微信朋友圈,h5仿微信web版|仿微信电脑客户端|仿微信朋友圈源码
  11. Codeforces Round #496 (Div. 3) E2 - Median on Segments (General Case Edition)(思维+用bit 位求前缀合)
  12. 随笔记:实现HTML页面局部滚动及自定义滚动条样式
  13. 贴片电解电容47UF16V 6.3*4.5
  14. [Android]SIM字段EF_SUME(6F54) 可用作STK app name
  15. 创建简单的Nape刚体
  16. HTML转义字符表,JavaScript常用转义符
  17. springboot 问题记录
  18. 【程序】STM32H743ZI用SDMMC2驱动88W8801 WiFi模块
  19. AI科技人才选择香港就业
  20. Visio中使用键盘和鼠标组合指令后不响应(卡死)的解决方法

热门文章

  1. R绘图 | 山峦图(ggridges)
  2. Python实现随机数生成器
  3. 数据分析方法与思维:漏斗分析
  4. Spring中redirect和forward的区别
  5. Unity 之 NGUI UIRoot 的屏幕适配问题
  6. php7 iconv函数,分析php中iconv函数使用方法
  7. TP3.2 设置伪静态
  8. osg拖曳器源码流程
  9. 微商引流微信要怎么设置?微商微信号怎么设置比较好?
  10. 计算机辅助教育自考真题,自考真题在线学习-考试类(爱考题)学习软件站