继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Arduino基础入门篇16—数码管库的使用

慕码人8056858
关注TA
已关注
手记 1092
粉丝 350
获赞 1320

1.数码管库安装

1. 启动Arduino IDE,点击「项目」—「加载库」—「管理库」。

webp

管理库

2. 查找「SevSeg」,可以找到两个库,我们选择第一个,进行安装。

webp

安装库

2. 实验材料

  • Uno R3开发板

  • 配套USB数据线

  • 面包板及配套连接线

  • 共阴极数码管

  • 1个220Ω限流电阻

  • 电位器

3. 实验步骤

1. 根据原理图搭建电路。

数码管的A,B,C,D,E,F,G,DP引脚分别接入开发板的数字管脚7,6,5,10,11,8,9,4。数码管公共端接限流电阻,电阻另一端接数字管脚3。电位器中间管脚接A0,两端分别接5V和GND。

实验原理图如下图所示:

webp

实验原理图

实物连接图如下图所示:

webp

实物连接图

2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

/*
 * SevSeg
 * 使用数码管库驱动数码管,根据A0模拟输入显示对应数字
 */
 #include "SevSeg.h"SevSeg sevseg;

byte numDigits = 1; //数码管位数byte digitPins[] = {3, 2, 2, 2}; //数码管公共极连接Arduino的引脚byte segmentPins[] = {7, 6, 5, 10, 11, 8, 9, 4}; //数码管a,b,c,d,e,f,g,dp对应引脚byte hardwareConfig = COMMON_CATHODE ; // 共阴极数码管int readValue = 0; //保存读到的模拟值int showValue = 0; //需要显示的数据void setup() {
  sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins); //初始化数码管}void loop() {
  readValue = analogRead(A0); //读取A0模拟口的数值(0-5V 对应0-1023取值)
  showValue = map(readValue, 0, 1023, 0, 9); //将0-1023之间的数据映射成0到9之间的数据
  sevseg.setNumber(showValue, 1); //数码管显示
  sevseg.refreshDisplay(); // 必须重复运行刷新数码管显示}

3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

webp

程序下载

4. 实验现象

随着电位器的转动,数码管显示0到9的数字。

实验现象

5. 库函数介绍

1. sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins)函数:

  • hardwareConfig:使用的是共阳极数码管还是共阴极数码管。

    • COMMON_CATHODE:共阴极。

    • COMMON_ANODE:共阳极。

  • numDigits:数码管位数,我们这里使用的是一位数码管,故其值设置为1。

  • digitPins:数组形式,用来存储数码管公共极连接的引脚号。此库多用来驱动四位数码管,本实验中只用一位,故数组第一个成员为3(对应实际电路连接),其他成员填入未使用的引脚即可。

  • segmentPins:数组形式,用来存储数码管从a到dp所对应连接的引脚号。

2. sevseg.setNumber(numToShow, decPlaces)函数:

  • numToShow:要显示的数据,可以为整数、浮点数。

  • decPlaces:小数点显示的位置,从最低有效位开始计算,若省略或者设置为-1则表示不显示小数点。

3. sevseg.refreshDisplay()函数:

此函数需要不断重复执行,反复刷新才能使数码管显示。若程序中有其他延时则会对显示产生影响。

6. 实验分析

程序中使用SevSeg驱动库,根据实际电路连接进行库的初始化。在loop()函数中,读取A0模拟输入引脚的数据,通过map()函数重新把数据映射成数字0到9,然后使用sevseg.setNumber()函数进行数据设置,然后通过显示刷新函数进行刷新显示。



作者:TonyCode
链接:https://www.jianshu.com/p/3dbb529bde27


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP