和爷爷一起学Arduino四联MAX7219(继续学习面向对象编程OOP)
MAX7219是通过SPI总线交换信息的,因此,多个MAX7219可以级联。这里就是四个MAX7219级联,分别显示1、2、3、4。下面是代码示例。
首先要include三个头文件:SPI.h、Adafruit_GFX.h、Max72xxPanel.h。然后按照Max72xxPanel库里的类Max72xxPanel定义一个对象myMatrix,三个数据成员的初始值为9、4、1,依次为片选所接的端口号、显示点阵的水平屏数和垂直屏数。接着是一个8个元素的数组LEDArray[],用来描述哪些点是亮的,哪些是暗的。下面,对象myMatrix的成员函数drawPixel()就是将数组里的值映射到显示点阵。这只是建立映射,后面的另一个成员函数write()才是真正点亮显示点阵。#include #include #include Max72xxPanel myMatrix = Max72xxPanel(9,4,1); uint8_t LEDArray[8]; const uint8_t LedArray0[8] PROGMEM ={0x3c,0x18,0x18,0x18,0x18,0x18,0x1c,0x18}; const uint8_t LedArray1[8] PROGMEM ={0x7e,0x04,0x08,0x10,0x20,0x40,0x42,0x3c}; const uint8_t LedArray2[8] PROGMEM ={0x38,0x44,0x40,0x30,0x30,0x40,0x44,0x38}; const uint8_t LedArray3[8] PROGMEM ={0x20,0x20,0xff,0x22,0x24,0x28,0x30,0x20}; void setup(){ } void loop(){ memcpy_P(&LEDArray, &LedArray0, 8); for(int index_i=0; index_i<8; index_i++) { for(int index_j=0*8; index_j<0*8+8; index_j++) { if((LEDArray[index_i]&0x01)>0) myMatrix.drawPixel(index_j, 7-index_i,1); else myMatrix.drawPixel(index_j, 7-index_i,0); LEDArray[index_i] = LEDArray[index_i]>>1; } } myMatrix.write(); memcpy_P(&LEDArray, &LedArray1, 8); for(int index_i=0; index_i<8; index_i++) { for(int index_j=1*8; index_j<1*8+8; index_j++) { if((LEDArray[index_i]&0x01)>0) myMatrix.drawPixel(index_j, 7-index_i,1); else myMatrix.drawPixel(index_j, 7-index_i,0); LEDArray[index_i] = LEDArray[index_i]>>1; } } myMatrix.write(); memcpy_P(&LEDArray, &LedArray2, 8); for(int index_i=0; index_i<8; index_i++) { for(int index_j=2*8; index_j<2*8+8; index_j++) { if((LEDArray[index_i]&0x01)>0) myMatrix.drawPixel(index_j, 7-index_i,1); else myMatrix.drawPixel(index_j, 7-index_i,0); LEDArray[index_i] = LEDArray[index_i]>>1; } } myMatrix.write(); memcpy_P(&LEDArray, &LedArray3, 8); for(int index_i=0; index_i<8; index_i++) { for(int index_j=3*8; index_j<3*8+8; index_j++) { if((LEDArray[index_i]&0x01)>0) myMatrix.drawPixel(index_j, 7-index_i,1); else myMatrix.drawPixel(index_j, 7-index_i,0); LEDArray[index_i] = LEDArray[index_i]>>1; } } myMatrix.write(); }
喜讯!中国石化在四川盆地获千亿储量大气田国内喜讯!中国石化在四川盆地获千亿储量大气田8月14日,中石化西南石油局公布,在德阳中江气田探明新的天然气,并且天然气储量达340。29亿立方米,累计探明储量达到1061亿立方米。
黄金产量为152。75吨!中国黄金协会公布上半年最新统计数据国内中国石化董事会马永生代行董事长职责8月2日,中国石油化工股份有限公司发布公告,董事会收到张玉卓先生的辞职报告,张先生因工作调整辞去中国石化董事长非执行董事,董事会战略委员会可持
中国再增十亿吨级大油田,大庆油田勘探获重大突破国内国家矿山安监局要求开展井下防溃水溃砂专项检查国家矿山安监局日前印发关于开展煤矿井下防溃水溃砂专项检查的通知,决定从即日起至9月底开展煤矿井下防溃水溃砂专项检查。专项检查对象为浅
诗影响月牙儿轻得像一只白蝴蝶简笺新诗简点击上方蓝字,关注新诗简。给每个愿在诗中光合作用的灵魂。SomeoneLikeYouAdeleSomeoneLikeYou月牙儿,山西太原人。诗歌小说散文评论等散见于诗刊
美文欣赏河边捕鱼马学英临夏文艺河边捕鱼马学英一个夏日的傍晚,我又一次来到黄河边。自小在黄河边长大,对黄河已经像空气一样熟视无睹了,但还是喜欢来此地看黄河,乐此不疲。多少次,静静地独坐河边沙滩上,看
南坪的小院南坪山人而立之年,不喜喧闹,唯爱去我的南坪,偷得半日清闲,也觉人生有味。在我的小院里,开了些荒,一来可带宸儿种瓜点豆,浇水施肥,满足他的童趣二来了却我慕陶公的虚荣,守拙园田,看云出
积石山马晓璐深入城东小学胡林家乡调研来源积石山县融媒体中心9月2日下午,积石山县委书记马晓璐深入城东小学,查看校园出入管理学生返校报到校园周边安全等工作。马晓璐强调,全县各级各部门要高度重视校园安全工作,教育公安交通
积石山县庆专栏记忆中的吹麻滩(散文组章)来源临夏文艺记忆中的吹麻滩作者冯尚玉1小城记忆那个小县城,我已好些年不去转悠。记忆中的模样,如今变得面目全非,认不出当年的地方了。还好,的哥是位热心的青年,他问明我要去的地方后,便
快讯任振鹤在临夏州调研中国临夏新闻网临夏电视台20201220省委副书记代省长任振鹤今天深入临夏州调研巩固拓展脱贫攻坚成果同乡村振兴有效衔接工作。临夏州委书记郭鹤立一同调研。任振鹤先后来到东乡县临夏市和
空蔚蓝(拉萨之行)当天边最后一抹晚霞悄然退场暮霭中的八廓街天不蓝,云不白迎着朝圣的人流逆向而行我不惧违逆天道轮回只求时光倒流亲爱的此刻我只想你只想与你十指紧扣穿过这里每一条小巷轻轻踩上每一块青石板仿
桑耶寺作者菊女公元八世纪开始修建,迄今因为失火,地震及人为破坏,经过了十几次维修。我特别关注了桑耶寺壁画,经过论证,历史均在二百年内。大部分是十九世纪失火维修后绘制。经过严密考证,桑耶寺回廊大小