模块初探:Arduino 8×8点阵显示菱形
2019-01-14 17:07
323 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36169781/article/details/86480467
使用Arduino UNO IO口输出至8×8LED点阵显示图案,可以改变数组内容来更改显示图案。
材料准备
- Arduino UNO开发板
- 面包线/面包板
- 8×8LED点阵
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)。
共阳数码管在应用时应将公共极COM接到+,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。
手中的点阵串码为M15088B,根据资料可知这个点阵为共阳管。
下图为共阳管的电路:
根据测定,8*8LED点阵的针脚不是有序排列,所以需要测定每个针脚所控制的行与列。
测定方法为:在Arduino中取两数字针脚,将一脚设为高电平输出,一脚设定为低电平输出,将点阵接入面包板,依次实验接口观察点亮的行与列,进而逐步推出针脚对应控制的行列。
因为该点阵为共阳点阵,所以行给一个高电平,列给一个低电平时,LED为点亮状态。
Arduino源程序
int H[]={9,4,17,6,10,16,11,14};//行针脚 int L[]={5,12,13,8,15,7,3,2};//列针脚 unsigned char pic[8][8] = { 0,0,0,1,1,0,0,0, 0,0,1,1,1,1,0,0, 0,1,1,1,1,1,1,0, 1,1,1,1,1,1,1,1, //定义8×8点阵的图案 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, }; void setup() { for(int i = 0;i<8;i++) { pinMode(H[i],OUTPUT); //定义UNO板针脚模式 pinMode(L[i],OUTPUT); } } void loop() { display(pic); //显示图案 } void display(unsigned char pic[8][8]) { for(int l = 0; l<8;l++) //显示第l列 { digitalWrite(L[l],LOW); //列设低电平 for(int h = 0;h<8;h++) //循环 { digitalWrite(H[h],dat[h][l]); //行设高电平 } delay(1); clear();//清除当前列的未定义点 } } void clear() { for(int i = 0;i<8;i++) { digitalWrite(H[i],LOW); digitalWrite(L[i],HIGH); } }
相关文章推荐
- 模块初探:Arduino+红外避障模块
- 模块初探:Arduino+LM35温度传感器
- MAX7219点阵模块 Arduino
- 解决测试Arduino使用TM1637四位数码管显示模块问题
- Arduino使用TM1637四位数码管显示模块
- 【Arduino】【ESP】使用Arduino(ESP8266版本)获取雅虎天气信息,并使用点阵显示......进行中
- 8*8LED点阵显示爱心的Arduino实现
- SDL学习——画图、点阵显示
- Arduino 各种模块篇 可燃气体检测模块 inflammable air sensor
- Eclipse在Project Explorer项目归组及分模块显示
- Arduino系列教程-018 液晶文字显示
- joomla第十一节images幻灯片显示以及模块的汉化
- Ext在IE8浏览器下 左边tree加载模块到中间面板不能显示,报‘events’为空或不是对象错误
- 若要调试此模块,请将其项目生成配置更改为“调试”模式。若要取消显示此消息,请禁用“启动时若没有用户代码则发出警告”调试器选项。
- dedecms后台插件模块打开显示空白的最快最简单方式解决
- Arduino Uno SD卡模块 (二)读取文件
- 解决在DNN模块开发中新增页面显示时崩溃的问题
- 织梦DedeCMS后台模块管理列表不显示 【终极解决办法】
- 基于点阵字库的汉字显示
- Google的代码高亮显示模块