这次介绍的是使用8×8点阵(没有用到驱动模块,直接用Ardunio IO口控制)制作跳动的心。差不多用完所有IO口了,才能控制64个LED灯。

点阵说明

一般数码管有出厂信息:比如型号为LG5011AH,LG5011BH这里面的AH、BH中的A代表共阴极、B代表共阳极,H代表高亮。参考

另外,关于8*8点阵共阳和共阴的解释(有的初学者是一头雾水):

1. 有的朋友 认为:共阳就是LED正极全部接在一起,而负极则不是,共阴相反但也是类似。这种说法是错误的哦!(数码管的共阳和共阴是这样的),但点阵8*8点阵共阴 和共阳都是接在一起的。

2. 所谓共阳和共阴只是管脚排列名称相同(也就是说无论共阳还是共阴管脚编号一 致),但行和列的极性则相反。既然这样,那么我反过方向接共阳不就是变成了共阴吗?理论上是的,但要注意行和列相交的位置发生了变化。

3. 注意:8*8点阵的管脚不是有顺序的排列哦!参考

引脚说明

BOM表

Arduino Uno *1

共阳 8x8LED点阵 16脚 *1

面包板 *2(由于点阵大小的原因,需要上下拼接两块面包板)

跳线若干(如果使用公对母杜邦线,就可以节省面包板了)

接线图

>>>

引脚

|

>>>

引脚

H1

>>>

2

|

L1

>>>

6

H2

>>>

7

|

L2

>>>

11

H3

>>>

A5

|

L3

>>>

10

H4

>>>

5

|

L4

>>>

3

H5

>>>

13

|

L5

>>>

A3

H6

>>>

A4

|

L6

>>>

4

H7

>>>

12

|

L7

>>>

8

H8

>>>

A2

|

L8

>>>

9

程序开源代码

int R[] = {2,7,A5,5,13,A4,12,A2}; //行

int C[] = {6,11,10,3,A3,4,8,9}; //列

unsigned char biglove[8][8] = //大“心型”的数据

{

0,0,0,0,0,0,0,0,

0,1,1,0,0,1,1,0,

1,1,1,1,1,1,1,1,

1,1,1,1,1,1,1,1,

1,1,1,1,1,1,1,1,

0,1,1,1,1,1,1,0,

0,0,1,1,1,1,0,0,

0,0,0,1,1,0,0,0,

};

unsigned char smalllove[8][8] = //小“心型”的数据

{

0,0,0,0,0,0,0,0,

0,0,0,0,0,0,0,0,

0,0,1,0,0,1,0,0,

0,1,1,1,1,1,1,0,

0,1,1,1,1,1,1,0,

0,0,1,1,1,1,0,0,

0,0,0,1,1,0,0,0,

0,0,0,0,0,0,0,0,

};

void setup()

{

//循环定义行列PIN 为输出模式

for(int i = 0;i<8;i++)

{

pinMode(R[i],OUTPUT);

pinMode(C[i],OUTPUT);

}

}

void loop()

{

for(int i = 0 ; i < 100 ; i++) //循环显示100次

{

Display(biglove); //显示大”心形“

}

for(int i = 0 ; i < 50 ; i++) //循环显示50次

{

Display(smalllove); //显示小“心形”

}

}

void Display(unsigned char dat[8][8]) //显示函数

{

for(int c = 0; c<8;c++)

{

digitalWrite(C,LOW);//选通第c列

//循环

for(int r = 0;r<8;r++)

{

digitalWrite(R[r],dat[r]);

}

delay(1);

Clear(); //清空显示去除余晖

}

}

void Clear() //清空显示

{

for(int i = 0;i<8;i++)

{

digitalWrite(R[i],LOW);

digitalWrite(C[i],HIGH);

}

}

效果如下。

c语言编程16个点阵跳动的心,Arduino点阵制作跳动的心相关推荐

  1. 16 16点阵c语言程序,用C语言编程16点阵字库

    用C语言编程16点阵字库 2007-07-31 12:28 #include #include #include #include #include #include #include #define ...

  2. 点阵c语言字节数,用C语言编程16点阵字库!

    程序如下,只要说明各函数模块的功能即可: #include #include #include #include #include #include #include #define GETADR(n ...

  3. html音乐跳动的线,利用CSS3制作跳动音乐频谱跳动效果

    [摘要] CSS3新增很多实用的属性,特别是可以实现动画效果的animation属性,本文通过使用CSS3来实现一个类似于音乐频谱跳动效果. 在一个网站上看到"直播中"的提示标题, ...

  4. Go语言编程笔记16:存储数据

    Go语言编程笔记16:存储数据 图源:wallpapercave.com 几乎任何程序都绕不开读写数据,只不过具体的数据存储介质和方式有所不同.本篇文章将从多种数据存储方式进行探讨各种存储方式如何实现 ...

  5. mysql 小球_c语言编程实例——小球跳动

    1.预备知识 1.1 相关头文件 "#include"是c语言中用以申明所需调用的库函数或自定义函数的头文件路径及文件名.#include ""和#includ ...

  6. c语言人机互动编程,单片机人机交互系统的C语言编程简介.ppt

    单片机人机交互系统的C语言编程简介 第5章 单片机人机交互系统的C51语言编程 5.1 单片机的输入/输出端口 5.2 LED数码管显示器 5.3 LED数码管点阵显示器 5.4 液晶显示器 5.5 ...

  7. atmega16 c语言编程,ATmega16开发系统设计(附protel电路图和C语言程序)☆

    摘    要 本文所研究的单片机是Atmega16,这款单片机零售价低,货源充足:且具有16KB的Flash,能满足绝大部分的实际需要:它还支持JTAG仿真,特别适合AVR初学者和需要繁琐调试的低成本 ...

  8. Linux下C语言编程

    第1章 Linux下C语言编程简介 本章将简要介绍一下什么是Linux,C语言的特点,程序开发的预备知识,Linux下C语言开发的环境,程序设计的特点和原则以及编码风格等.通过本章的学习,可以对在Li ...

  9. 初识Linux下C语言编程

    本章将简要介绍一下什么是Linux,C语言的特点,程序开发的预备知识,Linux下C语言开发的环境,程序设计的特点和原则以及编码风格等.通过本章的学习,可以对在Linux下使用C语言编程有一个基本的了 ...

最新文章

  1. 正则-元字符 注意正则表达式中间不要随意加空格
  2. rowspan和colspan用法详解
  3. ImageMagick 打水印支持透明度设置
  4. mysqld: [Warning] World-writable config file ‘/etc/my.cnf‘ is ignored.问题解决
  5. jsp页面获取系统的日期时间
  6. js隐藏和显示div
  7. (2020)Java后端开发----(面试题和笔试题)
  8. debug使用方法(概念篇)
  9. Nmap 扫描主机端口
  10. js根据身份证获取性别、年龄、出生日期及根据出生日期获取年龄
  11. 【Linux】之 从源代码安装软件(HelloWorld)
  12. 小米电视4s android,小米电视系列ROOT教程(含4A,4S,4X等Android6.0.1版机型)
  13. Linux下恢复误删的文件
  14. redis持久化底层原理-RDB与AOF
  15. php实例精通txt下载,PHP实例精通(1碟)
  16. Github上的开源项目5
  17. 蓝彩影视V73-安卓/苹果/网页/TV端/有教程
  18. 名帖90 蔡襄 楷书《临锺繇帖卷》
  19. 计算机是否支持64位操作系统,教你查看自己的电脑是否支持64位win7系统的方法...
  20. Deep Cropping via Attention Box Prediction and Aesthetics Assessment -阅读笔记

热门文章

  1. 解决Echarts的toolbox只显示英文的问题
  2. FPGA 十进制 转化为二进制
  3. 字节跳动的真实工作体验
  4. CVS命令深入研究 zz
  5. Linux系统中的进程管理
  6. 计算机英语反思总结怎么写,英语考试反思总结(精选10篇)
  7. windows达梦数据库卸载不完全,重新装达梦数据库现有服务失败/该实例名已被其他实例占用
  8. sv package
  9. C语言中唯一的一个三目运算符(条件运算符)
  10. 如何打造一个抗住千万级流量短信服务(续)