基于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的一位数码管控制相关推荐

  1. Arduino驱动4位数码管

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

  2. Mixly(米思齐)的安装以及基于Arduino开发板实现电容触摸控制灯

    Mixly(米思齐)的安装以及基于Arduino开发板实现电容触摸控制灯 1.Mixly下载 http://mixly.org/bnu-maker/mixly-arduino-win Mixly软件安 ...

  3. 基于Arduino+机智云的阳台生态控制系统设计

    阳台是一个半封闭的生态系统,在其上种植绿色植物,可有效地净化室内空气,改善居住环境,增加生活情调.植物生长对环境.肥料等有特定要求,居民可能因缺乏绿色植物的种植知识,或因工作繁忙,长期不在家,不能实时 ...

  4. K_A02_003 基于单片机驱动8位数码管模块(MAX7219) 0-7静态显示+滚动显示

    目录 一.资源说明 二.基本参数 1.电气参数 2.引脚说明 三.通信协议说明 工作时序 对应程序 四.部分代码说明 1.接线说明 1.1.STC89C52RC+8位数码管模块 1.2.STM32F1 ...

  5. 基于Proteus的一位数码管显示实验

    1实验原理 通过程序的输入来控制P0口,逐个的给P0口赋值(1-9),使数码管逐个从1显示到9,然后循环往复,达到一位数码管显示的效果. 2Proteus仿真电路图 排阻一般应用在数字电路上,比如:作 ...

  6. arduino实验-4位数码管交替显示温湿度

    初学arduino,用四位数码管和温湿度传感器实现温湿度监控,因为用的是数码管,所以只能交替显示,温度和湿度各显示2S. 使用到的材料 arduino UNO r3 面包板 SHTC3温湿度传感器 4 ...

  7. K_A02_004 基于单片机驱动8位数码管模块(74HC595) 0-7滚动+ 时钟显示

    目录 一.程序功能说明 二.基本参数 1.参数 2.芯片引脚说明 3.模块引脚说明 三.通信协议说明 时序: 代码: 四.部分代码说明 1.接线说明 1.1.STC89C52RC+8位数码管模块(74 ...

  8. K_A02_001 基于单片机驱动4位数码管模块(74HC595) 0-3滚动+ 时钟显示

    目录 一.程序功能说明 二.基本参数 1.参数 2.芯片引脚说明 3.模块引脚说明 三.通信协议说明 时序: 代码: 四.部分代码说明 接线说明 1.1.STC89C52RC+4位数码管模块(74HC ...

  9. 基于STM32的4位数码管模块驱动

    数码管型号四位共阳,采用2片595驱动数码管,五个管脚分别如下: VCC---------------------------------------------------------------- ...

最新文章

  1. KDTable的列绑定F7控件方法
  2. 51单片机50个实例代码_【附代码】51单片机电子密码锁教程
  3. 智慧交通day02-车流量检测实现07:匈牙利算法
  4. linux搭建测试环境常见问题,在Linux环境下搭建CCID测试环境
  5. 优秀!303篇论文获2020年度“优秀博士学位论文”!
  6. redis提示Could not get a resource from the pool(jedis连接池配置)
  7. java openssl_verify_CryptoAPI:如何使用CryptVerifySignature验证来自OpenSSL或Java的DSA签名...
  8. python语音属于什么语音_python语音识别
  9. 嵌入式Linux系统编程学习之六make工程管理和Makefile
  10. 统计学学生学python吗_用Python学习统计学基础-4
  11. Composer最近升级后导致无法下载包的问题解决办法
  12. 南阳oj-----Registration system(map)
  13. Aqua Data Studio 执行HiveSql的问题
  14. python 执行cmd命令 改变目录_Python 改变当前工作目录
  15. MagicDraw-包图
  16. 我的世界服务器怎么无限附魔,我的世界无限附魔书指令
  17. 迪文屏程序制作。通讯
  18. 克隆虚拟机后无法连接网络的问题
  19. no resolver defined to resolve
  20. Excel PivotTable 使用心得手顺分享(三)

热门文章

  1. a-H3X R4900 G2服务器安装redhat6.8
  2. 怀旧服服务器最新动态,永久60级怀旧服将于20日合服 服务器合并详情
  3. [小游戏资源] 微信小游戏开发资源目录
  4. 整理的一些代码优化细节
  5. 你的眼中满是“变量”,可“变量”眼中是无相(Python)(Java与Python学习通法)
  6. 去哪儿网北京Java开发一、二、HR面全部通过
  7. python基础教程Day06
  8. CTF 竞赛入门指南(CTF All In One)学习(七)
  9. 场景,或许才是未来空间设计的关键词,可能是最接近元宇宙的空间体验? | 浅空间专栏...
  10. 如何自己写一门简单的编程语言(解释型语言)