基于arduino的一位数码管控制
基于Mixly的一位数码管控制
硬件: arduino编程板、一位数码管、220Ω电阻、杜邦线若干。
软件: Mixly图形化编程软件。
目标: 通过mixly软件对arduino编程, 实现一位数码管可以从0-9依次显示。
(一)一位数码管是什么?
这里是引用“百度百科”
一位数码管也叫做led数码管,egment Displays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。
(二)一位数码管的结构组成和分类
一位数码管由8个led灯组成,他们公用一极,共阴极或者共阳极。
1、共阴极
2、共阳极
(三)电路连接
上图为共阳极一位数码管连接到arduino编程板上,在正极上,连接一个电阻,达到保护一位数码管的作用。每个数码管的型号可能不同,根据数码管上的标号,上网查找是否为共阴极或者共阳极。
我们数码管的八个led灯连接到了arduino编程板的6-13号端口上,通过控制以上的八个端口,控制一位数码管显示的数值。
(五)一位数码管的三种控制方式(由浅入深)
1、通过规定8个端口的状态进行控制
首先,我们用最笨的办法,对八个端口分别编程,然后列出0-9号数字,写在函数中,然后调用函数,实现从0-9的依次显示。
我们通过规定8个端口上的高低电平,对一位数码管进行编程,然后再调用函数,实现循环点亮。上图为数字0和数字1的示例,数字2-9原理一致。
我们在编写主程序时,调用函数,对每个函数进行编程即可。
2、通过一维数组进行控制
在编写上面的程序过程中,我们会发现依次编写每个端口的状态十分麻烦,我们能否通过一种简单的方法,对每个端口进行赋值?
此时,我们会用到一个新的工具:数组。
我们先把端口的数值放到一个数组里面,这样的话,在规定端口的时候,就可以直接调用“端口”数组的第1、2、3、4……8项。(下图)
然后我们再通过数组,把0-9的数字用0和1表述出来(0代表低,1代表高)。
以数字0为例,
端口数组的第一项,赋值为“数字0”数组的第一项,
端口数组的第二项,赋值为“数字0”数组的第二项,
……
端口数组的第九项,赋值为“数字0”数组的第九项。
程序如下:
数字1的程序如下:
依次类推,所有函数如下。
3、通过二维数组进行控制
在上述的控制方法时,我们会发现,一维数组在罗列过程中,也会非常麻烦,所以我们将一维数组转化为二维数组。二维数组就是将多个数组再组合为一个新的数组。所以,我们可以把上面的多个一维数组写进一个新的数组里面。
二维数字的内容如下:
{13,12,11,10,9,8,7,6},{1,0,0,0,0,0,0,1},{1,0,1,1,0,1,1,1},{1,1,0,0,0,0,1,0},{1,0,0,1,0,0,1,0},{1,0,1,1,0,1,0,0},{1,0,0,1,1,0,0,0},{1,0,0,0,1,0,0,0},{1,0,1,1,0,0,1,1},{1,0,0,0,0,0,0,0},{1,0,0,1,0,0,0,0}
设置变量x,y,代表数组的某个位置
两个变量:管脚、状态;
管脚=二维数组第一行第一列,状态=第二行第一列,把管脚和状态给数字输出;
y增加1,重复执行8次,然后让j增加1,重复执行10次,实现从0到9的变化。
以上为一位数码管从0-9变化的三种方法。思想就是找到规律,通过数组和变量,把有简单麻烦的事情,通过有规律的变化,罗列出来。
基于arduino的一位数码管控制相关推荐
- Arduino驱动4位数码管
文章目录 Arduino驱动4位数码管 基本原理 静态(只能保存单个数码管) 动态显示 数码管引脚及接线 引脚定义 保存显示的数组 初始化 显示 单个管教及其显示 多个数码管同时亮(最多支持4个) 动 ...
- Mixly(米思齐)的安装以及基于Arduino开发板实现电容触摸控制灯
Mixly(米思齐)的安装以及基于Arduino开发板实现电容触摸控制灯 1.Mixly下载 http://mixly.org/bnu-maker/mixly-arduino-win Mixly软件安 ...
- 基于Arduino+机智云的阳台生态控制系统设计
阳台是一个半封闭的生态系统,在其上种植绿色植物,可有效地净化室内空气,改善居住环境,增加生活情调.植物生长对环境.肥料等有特定要求,居民可能因缺乏绿色植物的种植知识,或因工作繁忙,长期不在家,不能实时 ...
- K_A02_003 基于单片机驱动8位数码管模块(MAX7219) 0-7静态显示+滚动显示
目录 一.资源说明 二.基本参数 1.电气参数 2.引脚说明 三.通信协议说明 工作时序 对应程序 四.部分代码说明 1.接线说明 1.1.STC89C52RC+8位数码管模块 1.2.STM32F1 ...
- 基于Proteus的一位数码管显示实验
1实验原理 通过程序的输入来控制P0口,逐个的给P0口赋值(1-9),使数码管逐个从1显示到9,然后循环往复,达到一位数码管显示的效果. 2Proteus仿真电路图 排阻一般应用在数字电路上,比如:作 ...
- arduino实验-4位数码管交替显示温湿度
初学arduino,用四位数码管和温湿度传感器实现温湿度监控,因为用的是数码管,所以只能交替显示,温度和湿度各显示2S. 使用到的材料 arduino UNO r3 面包板 SHTC3温湿度传感器 4 ...
- K_A02_004 基于单片机驱动8位数码管模块(74HC595) 0-7滚动+ 时钟显示
目录 一.程序功能说明 二.基本参数 1.参数 2.芯片引脚说明 3.模块引脚说明 三.通信协议说明 时序: 代码: 四.部分代码说明 1.接线说明 1.1.STC89C52RC+8位数码管模块(74 ...
- K_A02_001 基于单片机驱动4位数码管模块(74HC595) 0-3滚动+ 时钟显示
目录 一.程序功能说明 二.基本参数 1.参数 2.芯片引脚说明 3.模块引脚说明 三.通信协议说明 时序: 代码: 四.部分代码说明 接线说明 1.1.STC89C52RC+4位数码管模块(74HC ...
- 基于STM32的4位数码管模块驱动
数码管型号四位共阳,采用2片595驱动数码管,五个管脚分别如下: VCC---------------------------------------------------------------- ...
最新文章
- KDTable的列绑定F7控件方法
- 51单片机50个实例代码_【附代码】51单片机电子密码锁教程
- 智慧交通day02-车流量检测实现07:匈牙利算法
- linux搭建测试环境常见问题,在Linux环境下搭建CCID测试环境
- 优秀!303篇论文获2020年度“优秀博士学位论文”!
- redis提示Could not get a resource from the pool(jedis连接池配置)
- java openssl_verify_CryptoAPI:如何使用CryptVerifySignature验证来自OpenSSL或Java的DSA签名...
- python语音属于什么语音_python语音识别
- 嵌入式Linux系统编程学习之六make工程管理和Makefile
- 统计学学生学python吗_用Python学习统计学基础-4
- Composer最近升级后导致无法下载包的问题解决办法
- 南阳oj-----Registration system(map)
- Aqua Data Studio 执行HiveSql的问题
- python 执行cmd命令 改变目录_Python 改变当前工作目录
- MagicDraw-包图
- 我的世界服务器怎么无限附魔,我的世界无限附魔书指令
- 迪文屏程序制作。通讯
- 克隆虚拟机后无法连接网络的问题
- no resolver defined to resolve
- Excel PivotTable 使用心得手顺分享(三)
热门文章
- a-H3X R4900 G2服务器安装redhat6.8
- 怀旧服服务器最新动态,永久60级怀旧服将于20日合服 服务器合并详情
- [小游戏资源] 微信小游戏开发资源目录
- 整理的一些代码优化细节
- 你的眼中满是“变量”,可“变量”眼中是无相(Python)(Java与Python学习通法)
- 去哪儿网北京Java开发一、二、HR面全部通过
- python基础教程Day06
- CTF 竞赛入门指南(CTF All In One)学习(七)
- 场景,或许才是未来空间设计的关键词,可能是最接近元宇宙的空间体验? | 浅空间专栏...
- 如何自己写一门简单的编程语言(解释型语言)