色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在Arduino下如何直接以LED組建點(diǎn)陣屏

奈因PCB電路板設(shè)計(jì) ? 來源:嵌入式ARM ? 作者:jinglixixi ? 2021-07-26 17:03 ? 次閱讀

FireBeetle 24×8 LED點(diǎn)陣屏是螢火蟲系列的配件產(chǎn)品,與常規(guī)點(diǎn)陣屏不同的是它直接用LED發(fā)光二極管來構(gòu)建顯示陣列,而非用點(diǎn)陣模塊來構(gòu)建。

為了節(jié)省I/O口,該點(diǎn)陣屏是采用高性能的LED驅(qū)動芯片HT1632C來進(jìn)行控制。對每個(gè)LED都有獨(dú)立的寄存器,故可分別驅(qū)動每個(gè)LED燈。它內(nèi)置了256KHz的RC時(shí)鐘,在低功耗模式下,可關(guān)閉RC時(shí)鐘,使功耗僅為5uA。

點(diǎn)陣屏的外觀如圖1和圖2所示,盡管顯示屏的引腳較多,但在使用時(shí)所涉及的引腳并不很多。

點(diǎn)陣屏的性能如下:

· 工作電壓:3.3V· 顯示顏色:白色· HT1632C驅(qū)動芯片· 內(nèi)置256KHzRC時(shí)鐘· 低功耗:5uA· 工作電流:6mA~100mA· 串行數(shù)據(jù)通信· 支持Arduino庫· 支持滾屏顯示· 接口方式:FireBeetle系列兼容· 工作溫度:-40℃~+85℃· 模塊尺寸:24 ×58(mm)/0.94 x 2.28(inches)· 安裝孔尺寸:內(nèi)徑3.1mm/外徑6mm

要驅(qū)動該點(diǎn)陣屏有2種方式,一種是以常規(guī)的Arduino開發(fā)板來驅(qū)動,另一種則是以ESP32-E Arduino開發(fā)板來驅(qū)動。

對于常規(guī)的Arduino開發(fā)板驅(qū)動,在使用前安裝對應(yīng)的FireBeetleLEDMatrix-master庫,安裝后即可見到對應(yīng)庫以供使用。

若以ESP32-EArduino開發(fā)板來驅(qū)動,則無法直接進(jìn)行編譯和上傳,為此只好以I/O口驅(qū)來編程實(shí)現(xiàn)。

按點(diǎn)陣屏的原理圖可知,為了便于使用片選信號CS是可供選擇的,選擇的對象可以是CS1~CS4中的任意一個(gè),選取時(shí)只需將S1對應(yīng)的開關(guān)接通即可。而CS1~CS4所對應(yīng)的引腳則是D2~D5,編程時(shí)是以A4來控制串行。

6b49ede0-e06d-11eb-9e57-12bb97331649.jpg

圖8 點(diǎn)陣屏片選控制

6b89133a-e06d-11eb-9e57-12bb97331649.jpg

圖9 片選開關(guān)

為此,點(diǎn)陣屏與開發(fā)板的連接關(guān)系定義為:

#define cs1 A4#define rd D3#define wr D7#define dat D2

實(shí)現(xiàn)HT1632C初始化的函數(shù)為:

void HT1632C_Init(void){ digitalWrite(cs1, HIGH); #define SYS_DIS 0x00 //關(guān)閉系統(tǒng)震蕩 #define SYS_EN 0x01 //打開系統(tǒng)震蕩 #define LED_OFF 0x02 //關(guān)閉LED顯示 #define LED_ON 0x03 //打開LED顯示 #define BLINK_OFF 0x08 //關(guān)閉閃爍 #define BLINK_ON 0x09 //打開閃爍 #define SLAVE_MODE 0x10 //從模式 #define RC_MASTER_MODE 0x18 //內(nèi)部RC時(shí)鐘 #define COM_OPTION 0x24 //24:16COM,NMOS。C:COM,PMOS。 #define PWM_DUTY 0xAE //PWM亮度控制 digitalWrite(wr, HIGH); digitalWrite(dat, HIGH); HT1632C_Write_CMD(SYS_DIS); //關(guān)閉HT1632C內(nèi)部RC時(shí)鐘 HT1632C_Write_CMD(COM_OPTION); //選擇HT1632C工作模式,COM,NMOS模式 HT1632C_Write_CMD(RC_MASTER_MODE); //選擇內(nèi)部RC時(shí)鐘 HT1632C_Write_CMD(SYS_EN); //打開HT1632C內(nèi)部RC時(shí)鐘 HT1632C_Write_CMD(PWM_DUTY); //PWM亮度設(shè)置 HT1632C_Write_CMD(BLINK_OFF); //關(guān)閉閃爍 HT1632C_Write_CMD(LED_ON); //打開LED顯示}

實(shí)現(xiàn)清屏處理的函數(shù)為:

void HT1632C_clr(void){ unsigned char i; digitalWrite(cs1, LOW); HT1632C_Write(0xa0,3); HT1632C_Write(0x00,7); for(i=0;i《48;i++) HT1632C_Write(0,8); digitalWrite(cs1, HIGH);}

向HT1632C發(fā)送數(shù)據(jù)的函數(shù)為:

voidHT1632C_Write(unsigned char Data,unsigned char cnt){ unsigned char i; for(i=0;i《cnt;i++) { digitalWrite(wr, LOW); if(Data & 0x80) digitalWrite(dat, HIGH); else digitalWrite(dat, LOW); Data《《=1; digitalWrite(wr, HIGH); }}

向HT1632 C寫入命令的函數(shù)為:

void HT1632C_Write_CMD(unsignedchar cmd){digitalWrite(cs1, LOW);HT1632C_Write(0x80,3);HT1632C_Write(cmd,9);digitalWrite(cs1, HIGH);}

向HT1632 C寫入數(shù)據(jù)的函數(shù)為:

void HT1632C_Write_DATA(unsignedchar Addr,unsigned char p,unsigned char cnt){ unsigned char i; digitalWrite(cs1, LOW); HT1632C_Write(0xa0,3); HT1632C_Write(Addr《《1,7); for(i=0;i《cnt;i++) { HT1632C_Write(p,8); } digitalWrite(cs1, HIGH);}

實(shí)現(xiàn)顯示效果的配置程序?yàn)椋?/p>

void setup() { unsigned char temp=0xAA; pinMode(LED_BUILTIN, OUTPUT); pinMode(cs1, OUTPUT); pinMode(rd, OUTPUT); pinMode(wr, OUTPUT); pinMode(dat,OUTPUT); HT1632C_Init(); HT1632C_clr(); HT1632C_Write_DATA(0x00,temp,48);}

經(jīng)程序的編譯與上傳,其界面如圖11所示。

6bc60ef2-e06d-11eb-9e57-12bb97331649.jpg

圖11 完成程序上傳

實(shí)現(xiàn)圖12所示三角形繪制的程序如下:

{ unsigned char i,b; digitalWrite(cs1, LOW); HT1632C_Write(0xa0,3); HT1632C_Write(0x00,7); b=1; for(i=0;i《24;i++) { if(i%8==0) b=1; else b=(b《《1)+1; HT1632C_Write(b,8); HT1632C_Write(b,8); } digitalWrite(cs1, HIGH);}

6bf5778c-e06d-11eb-9e57-12bb97331649.jpg

圖12繪制三角形

實(shí)現(xiàn)圖13所示數(shù)值顯示的程序如下:

voidsetup() { unsigned char temp=0xFF; pinMode(LED_BUILTIN, OUTPUT); pinMode(cs1, OUTPUT); pinMode(rd, OUTPUT); pinMode(wr, OUTPUT); pinMode(dat,OUTPUT); HT1632C_Init(); HT1632C_clr(); HT1632C_Write_C(58,8); HT1632C_Write_C(26,6); HT1632C_Write_C(26,4);}

對于的字符顯示函數(shù)為:

voidHT1632C_Write_C(unsigned char Addr,unsigned char p){ unsigned char i; digitalWrite(cs1, LOW); HT1632C_Write(0xa0,3); //ID:101 HT1632C_Write(Addr《《1,7); for(i=0;i《8;i++) { HT1632C_Write(dot[p*8-i],8); HT1632C_Write(dot[p*8-i],8); } digitalWrite(cs1, HIGH);}

6c0ae324-e06d-11eb-9e57-12bb97331649.jpg

圖13 數(shù)值顯示

所使用的字模由工具軟件PCtoLCD2002來提取,其提取的格式定義如圖15所示。

6c28132c-e06d-11eb-9e57-12bb97331649.jpg

圖14字模提取

6c3e031c-e06d-11eb-9e57-12bb97331649.jpg

圖15字模格式定義

相應(yīng)的字庫格式為:

unsignedchar dot[]= {0x00,0x38,0x44,0x44,0x44,0x44,0x38,0x00,/*“0”,0*/0x00,0x48,0x48,0x7C,0x40,0x40,0x00,0x00,/*“1”,1*/0x00,0x48,0x64,0x64,0x64,0x54,0x6C,0x00,/*“2”,2*/0x00,0x28,0x44,0x4C,0x4C,0x54,0x34,0x00,/*“3”,3*/0x00,0x10,0x28,0x24,0x64,0x7E,0x00,0x00,/*“4”,4*/0x00,0x3C,0x54,0x54,0x54,0x54,0x24,0x00,/*“5”,5*/0x00,0x38,0x54,0x54,0x54,0x54,0x20,0x00,/*“6”,6*/0x00,0x0C,0x04,0x74,0x14,0x0C,0x04,0x00,/*“7”,7*/0x00,0x2C,0x54,0x54,0x54,0x54,0x2C,0x00,/*“8”,8*/0x00,0x08,0x54,0x54,0x54,0x74,0x38,0x00,/*“9”,9*/};

這樣我們要驅(qū)動FireBeetle 24×8 LED點(diǎn)陣屏的顯示,就有了2種方法。

本文系21ic論壇藍(lán)V作者jinglixixi原創(chuàng)撰寫

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23306

    瀏覽量

    661538

原文標(biāo)題:直接以LED組建點(diǎn)陣屏不多見吧?驅(qū)動就一種方法?看看在Arduino下怎樣實(shí)現(xiàn)

文章出處:【微信號:pcbgood,微信公眾號:奈因PCB電路板設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    點(diǎn)陣數(shù)碼管LED驅(qū)動/數(shù)顯LED驅(qū)動IC-VK1638 SOP28最大支持8×3按鍵矩陣/10×8點(diǎn)陣

    產(chǎn)品品牌:永嘉微電VINKA 產(chǎn)品型號:VK1638 封裝形式:SOP28 VK1638是一種帶鍵盤掃描接口的數(shù)碼管或點(diǎn)陣LED驅(qū)動控制專用芯片,內(nèi)部集成有3線 串行接口、數(shù)據(jù)鎖存器、LED 驅(qū)動
    的頭像 發(fā)表于 11-08 16:24 ?254次閱讀
    <b class='flag-5'>點(diǎn)陣</b>數(shù)碼管<b class='flag-5'>LED</b>驅(qū)動/數(shù)顯<b class='flag-5'>LED</b>驅(qū)動IC-VK1638 SOP28最大支持8×3按鍵矩陣/10×8<b class='flag-5'>點(diǎn)陣</b>

    科普一什么是小間距LED顯示及小間距LED顯示的優(yōu)勢

    之間的距離小,LED顯示行業(yè)普遍采用根據(jù)這個(gè)距離的大小,定義產(chǎn)品規(guī)格的方法,如我們常見的P12,P10,P8(點(diǎn)間距分別為12mm,10mm和8mm),而隨著工藝的進(jìn)步,點(diǎn)間距正在變得越來越小。 根據(jù)行業(yè)共識,點(diǎn)間距2.5m
    的頭像 發(fā)表于 11-04 09:43 ?401次閱讀

    LED報(bào)價(jià)方案參考對比

    需要采購LED顯示的朋友,會找LED顯示廠家進(jìn)行詢LED報(bào)價(jià)方案參考對比,預(yù)算方面是否超支
    的頭像 發(fā)表于 10-28 14:12 ?237次閱讀

    物聯(lián)網(wǎng)系統(tǒng)中低功耗長壽命顯示方案_點(diǎn)陣液晶詳解

    物聯(lián)網(wǎng)系統(tǒng)中為什么要使用點(diǎn)陣液晶 物聯(lián)網(wǎng)系統(tǒng)中使用點(diǎn)陣液晶的原因主要可以歸納為以下幾點(diǎn): 顯示內(nèi)容豐富多樣 高靈活性:點(diǎn)陣液晶
    的頭像 發(fā)表于 09-24 12:08 ?332次閱讀
    物聯(lián)網(wǎng)系統(tǒng)中低功耗長壽命顯示<b class='flag-5'>屏</b>方案_<b class='flag-5'>點(diǎn)陣</b>液晶<b class='flag-5'>屏</b>詳解

    詳解LED顯示的基本結(jié)構(gòu)和控制方式

    體結(jié)構(gòu) LED顯示體是顯示信息的核心部分,主要由顯示點(diǎn)陣、行列驅(qū)動電路和其他輔助電路組成。顯示
    的頭像 發(fā)表于 07-19 08:49 ?1220次閱讀

    通過視頻幀提取及批量取模轉(zhuǎn)換實(shí)現(xiàn)基于STC32的點(diǎn)陣LED動畫播放

    通過視頻幀提取及批量取模轉(zhuǎn)換實(shí)現(xiàn)基于STC32的點(diǎn)陣LED動畫播放
    的頭像 發(fā)表于 06-27 02:16 ?399次閱讀
    通過視頻幀提取及批量取模轉(zhuǎn)換實(shí)現(xiàn)基于STC32的<b class='flag-5'>點(diǎn)陣</b><b class='flag-5'>LED</b>動畫播放

    ESP32驅(qū)動3264點(diǎn)陣有噪點(diǎn)的原因?

    ESP32 驅(qū)動3264點(diǎn)陣顯示時(shí)間,采用ARDUINO編寫。 不打開WIFI,顯示會一切正常,打開WIFI,顯示會有噪點(diǎn)閃動,無規(guī)律,就是發(fā)光的二極管會不時(shí)地更亮一
    發(fā)表于 06-13 06:56

    LED顯示同步系統(tǒng)與異步系統(tǒng)的區(qū)別

    LED顯示中,控制系統(tǒng)也是很重要的一個(gè)部分。LED顯示的控制系統(tǒng),一般情況分為同步系統(tǒng)和
    發(fā)表于 04-03 11:38 ?976次閱讀

    弱電工程LED顯示知識大全

    LED顯示整個(gè)弱電行業(yè)中應(yīng)用十分廣泛,只要有顯示的地方,基本都需要LED顯示了,今天一起來學(xué)習(xí)一
    發(fā)表于 03-29 11:08 ?618次閱讀
    弱電工程<b class='flag-5'>LED</b>顯示<b class='flag-5'>屏</b>知識大全

    如何將LED連接到Arduino板并使其閃爍

     本快速入門指南中,您將學(xué)習(xí)如何將 LED 連接到 Arduino 板并使其閃爍。
    的頭像 發(fā)表于 02-11 10:53 ?2274次閱讀
    如何將<b class='flag-5'>LED</b>連接到<b class='flag-5'>Arduino</b>板并使其閃爍

    如何使用Arduino控制RGB LED

    本指南中,您將學(xué)習(xí)如何使用Arduino控制RGB LED。RGB(紅-綠-藍(lán))LED可以通過混合不同強(qiáng)度的紅、綠、藍(lán)光來產(chǎn)生多種顏色。您將學(xué)習(xí)創(chuàng)建一個(gè)基本
    的頭像 發(fā)表于 02-11 10:28 ?5057次閱讀
    如何使用<b class='flag-5'>Arduino</b>控制RGB <b class='flag-5'>LED</b>

    如何連接Arduino聲音傳感器控制帶有聲音的LED

    本教程中,您將學(xué)習(xí)如何連接Arduino聲音傳感器控制帶有聲音的LED本指南結(jié)束時(shí),您將擁有一個(gè)可以正常工作的聲控
    的頭像 發(fā)表于 02-11 10:21 ?3149次閱讀
    如何連接<b class='flag-5'>Arduino</b>聲音傳感器<b class='flag-5'>以</b>控制帶有聲音的<b class='flag-5'>LED</b>

    LED顯示龍頭利亞德的2023與2024

    2023年,國內(nèi)LED顯示市場逐漸明朗,去年5月伊始的漲價(jià)潮中,LED顯示企業(yè)超全產(chǎn)業(yè)鏈
    的頭像 發(fā)表于 01-25 10:40 ?1086次閱讀

    led顯示的原理及構(gòu)造 led顯示怎么換上的內(nèi)容

    。 一、LED顯示的原理及構(gòu)造 發(fā)光二極管(LED)原理: LED是由不同的半導(dǎo)體材料(如AlGaInP、GaN等)制成的,通過載流子的復(fù)合輻射出光。
    的頭像 發(fā)表于 01-24 10:37 ?2500次閱讀
    主站蜘蛛池模板: 高清国产在线播放成人| 国产精品无码亚洲精品| 在线视频免费观看| 一本色道久久综合亚洲AV蜜桃| 亚洲精品白色在线发布| 亚洲三级黄色| 中国女人精69xxxxxx视频| 92看看福利午夜影院| WWW婷婷AV久久久影片| 俄罗斯呦呦| 国产在线观看成人免费视频| 狠狠色狠狠色88综合日日91| 亚洲综合无码一区二区| 伊人热人久久中文字幕| 91看片淫黄大片.在线天堂| JIZZ19学生第一次| 国产AV精品国语对白国产| 国产在线精品亚洲另类| 浪荡受自我调教纯肉BL| 千禧金瓶梅快播| 亚洲 日韩 国产 制服 在线| 一品道门在线视频高清完整版| 最新国产成人综合在线观看| z00兽200俄罗斯| 国产又爽又黄又不遮挡视频| 老司机深夜福利ae 入口网站| 日本真人啪啪试看30秒| 亚洲国产成人精品不卡青青草原 | 国内精品蜜汁乔依琳视频| 可以看的黄页的网站| 日韩精品一区二区亚洲AV观看 | 儿子操妈妈视频| 狠狠躁天天躁小说| 欧美18在线| 亚洲国产欧美国产综合在线| 做暖暖视频在线看片免费| 国产成人免费高清激情视频| 沟沟人体一区二区| 久久久擼擼擼麻豆| 美女被黑人巨大进入| 色哟哟tv|