一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

Arduino篇—點(diǎn)陣屏的應(yīng)用

冬至子 ? 來源:X的創(chuàng)客課堂 ? 作者:MRXY ? 2023-11-01 15:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

課程目標(biāo)

  • 學(xué)習(xí)點(diǎn)陣屏的原理及應(yīng)用
  • 掌握如何編程控制點(diǎn)陣屏

相關(guān)知識(shí)

點(diǎn)陣屏: LED點(diǎn)陣屏由多個(gè)LED發(fā)光二極管組成,通過控制LED亮滅來顯示文字、圖片、動(dòng)畫、視頻等,被廣泛應(yīng)用于公共場合做信息展示,如廣告屏、公告牌等。

點(diǎn)陣屏組成及原理: LED點(diǎn)陣屏按照LED發(fā)光顏色可分為單色、雙色、三色燈等,可顯示紅、黃、綠甚至是真彩色。根據(jù)LED的數(shù)量又分為4x4、8x8、16x16等不同類型。這里我們通過單色8x8點(diǎn)陣屏來了解其原理,8x8點(diǎn)陣屏由8行8列共64個(gè)LED燈組成,其內(nèi)部結(jié)構(gòu)如下圖:

圖片

**外部管腳定義:**8x8點(diǎn)陣屏有16個(gè)管腳,將有絲印的一邊朝下,逆時(shí)針進(jìn)行編號(hào)。

圖片

*內(nèi)部管腳定義:

圖片

控制方式: 每個(gè)LED放置在行線和列線的交叉點(diǎn)上,當(dāng)對(duì)應(yīng)的某一行高電平,某一列低電平,則對(duì)應(yīng)交叉點(diǎn)的LED就會(huì)點(diǎn)亮。比如我們要點(diǎn)亮第一行第一列LED燈,則給對(duì)應(yīng)將點(diǎn)陣屏的第9腳高電平,第13腳低電平,其他LED控制以此類推即可。

電路搭建

所需材料

ArduinoUNO * 1
8*8 LED點(diǎn)陣屏 * 1
杜邦線若干

電路連接

圖片

程序編寫

練習(xí)一:繪制第一個(gè)圖形

根據(jù)上圖接線方式,編程實(shí)現(xiàn)讓LED點(diǎn)陣屏顯示兩個(gè)點(diǎn),并開始閃爍起來。

圖形化方式:

圖片

代碼方式:

/* 項(xiàng)目名稱:閃爍的兩個(gè)點(diǎn)
 * 項(xiàng)目時(shí)間:2022.03.03
 * 項(xiàng)目作者:MRX
 */
int leds[8] = {1, 2, 5, 7, 8, 9, 12, 14}; //點(diǎn)陣屏正極引腳
int gnds[8] = {3, 4, 6, 10, 11, 13, 15, 16}; //點(diǎn)陣屏負(fù)極引腳
void setup() {
  for (int i = 0; i < 8; i++)
  {
    pinMode(leds[i], OUTPUT);
    pinMode(gnds[i], OUTPUT);
    digitalWrite(gnds[i], HIGH); //負(fù)極引腳拉高,熄滅所有LED
  }
}
void loop() {
  digitalWrite(leds[6],HIGH);
  digitalWrite(gnds[0],LOW);
  digitalWrite(leds[6],HIGH);
  digitalWrite(gnds[2],LOW);
  delay(100);
  digitalWrite(leds[6],LOW);
  digitalWrite(gnds[0],HIGH);
  digitalWrite(leds[6],LOW);
  digitalWrite(gnds[2],HIGH);
  delay(100);
}

使用代碼編程的時(shí)候,要注意開始要將所有的LED的負(fù)極引腳給高電平,讓所有的LED熄滅。

練習(xí)二:方向指示牌

繪制一個(gè)如下圖所示的圖案,在點(diǎn)陣屏上顯示出來。

圖片

圖形化方式:

圖片

代碼方式:

/* 項(xiàng)目名稱:右箭頭
 * 項(xiàng)目時(shí)間:2022.03.03
 * 項(xiàng)目作者:MRX
 */
int leds[8] = {9, 14, 8, 12, 1, 7, 2, 5}; //點(diǎn)陣屏正極引腳
int gnds[8] = {13, 3, 4, 10, 6, 11, 15, 16}; //點(diǎn)陣屏負(fù)極引腳
int led[8][8] = {//箭頭方陣,1處是亮燈的led


  {0, 0, 0, 0, 0, 0, 0, 0},


  {0, 0, 0, 1, 0, 0, 0, 0},


  {0, 0, 1, 1, 1, 1, 1, 0},


  {0, 1, 1, 1, 1, 1, 1, 0},


  {0, 0, 1, 1, 1, 1, 1, 0},


  {0, 0, 0, 1, 0, 0, 0, 0},


  {0, 0, 0, 0, 0, 0, 0, 0},


  {0, 0, 0, 0, 0, 0, 0, 0}
};
//清屏
void ledclean()
{
  for (int i = 0; i < 8; i++)//將點(diǎn)陣屏正極ladies,負(fù)極拉高,關(guān)斷顯示
  {
    digitalWrite(leds[i], LOW); 
    digitalWrite(gnds[i], HIGH);
  }
}
//右箭頭
void rightArrow()
{
  for (int i = 0 ; i < 8; i++)
  {
    digitalWrite(leds[i], LOW); 
    for (int j = 0; j < 8; j++)
    {
      digitalWrite(gnds[j], 1-led[i][j]);
    }
    digitalWrite(leds[i], HIGH);
    ledclean();
  }
}
void setup() {
  for (int i = 0; i < 8; i++)
  {
    pinMode(leds[i], OUTPUT);
    pinMode(gnds[i], OUTPUT);
    digitalWrite(gnds[i], HIGH); //負(fù)極引腳拉高,熄滅所有LED
  }
}
void loop() {
  rightArrow();
  }

程序分析:

LED點(diǎn)陣屏是多個(gè)LED組合在一起來驅(qū)動(dòng),基本的驅(qū)動(dòng)方式是逐行掃描或者逐列掃描。通過兩個(gè)for循環(huán)嵌套來進(jìn)行操作,外部循環(huán)控制列,內(nèi)部循環(huán)遍歷行,或者外部循環(huán)控制行,內(nèi)部循環(huán)遍歷列。當(dāng)逐行或者逐列掃描足夠快的時(shí)候,人眼就會(huì)因?yàn)橐曈X暫存而看到同時(shí)點(diǎn)亮的效果。

當(dāng)對(duì)多塊點(diǎn)陣屏進(jìn)行操作時(shí),使用IO引腳直接驅(qū)動(dòng)的方式就顯得不切實(shí)際了,一方面這需要占用很多的IO口,另一方面IO驅(qū)動(dòng)能力畢竟有限,所以點(diǎn)陣屏還有專門的驅(qū)動(dòng)電路和IC芯片來滿足更高的應(yīng)用要求。后續(xù)我們將會(huì)使用到點(diǎn)陣屏模塊來進(jìn)行新的項(xiàng)目開發(fā)。

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

    關(guān)注

    155

    文章

    1584

    瀏覽量

    109812
  • IC芯片
    +關(guān)注

    關(guān)注

    8

    文章

    255

    瀏覽量

    27042
  • Arduino
    +關(guān)注

    關(guān)注

    189

    文章

    6497

    瀏覽量

    190540
  • LED發(fā)光二極管
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    6244
  • LED點(diǎn)陣屏
    +關(guān)注

    關(guān)注

    2

    文章

    31

    瀏覽量

    12651
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    點(diǎn)陣做的貪吃蛇#Arduino開發(fā)

    單片機(jī)安防智能設(shè)備Arduino點(diǎn)陣
    樓宇安防解密
    發(fā)布于 :2021年08月11日 18:04:46

    轉(zhuǎn)載:基于Arduino的LED點(diǎn)陣廣告

    發(fā)幾張圖片、視頻大家欣賞一下,這里采用Arduino 328來驅(qū)動(dòng)LED顯示,具體系統(tǒng)設(shè)計(jì)原理圖如圖: LED模塊設(shè)計(jì)原理框圖說明:1、LED模塊為大小為16*64LED點(diǎn)陣顯示
    發(fā)表于 11-30 15:45

    Arduino開發(fā)實(shí)戰(zhàn)指南 AVR

    的產(chǎn)品,目前,國內(nèi)關(guān)注Arduino的人越來越多,所以本書以實(shí)際應(yīng)用為紐帶將各個(gè)章節(jié)聯(lián)系起來。 作者: 程晨 出版社: 機(jī)械工業(yè)出版社副標(biāo)題: AVRISBN: 9787111370055圖書
    發(fā)表于 08-03 16:14

    LED點(diǎn)陣漢字顯示設(shè)計(jì)

    LED點(diǎn)陣漢字顯示是通過PC機(jī)將要顯示的漢字字模提取出來,并發(fā)送給單片機(jī),然后顯示在點(diǎn)陣上,主要適用于室內(nèi)外漢字顯示。 LED點(diǎn)陣顯示
    發(fā)表于 04-16 16:44 ?638次下載

    基于STM32 LED書寫點(diǎn)陣設(shè)計(jì)與實(shí)現(xiàn)

    基于STM32 LED書寫點(diǎn)陣設(shè)計(jì)與實(shí)現(xiàn)
    發(fā)表于 03-22 12:06 ?79次下載

    點(diǎn)陣液晶和段碼液晶的區(qū)別

    LCD液晶的分類有很多,大致分為單色液晶、點(diǎn)陣液晶、段碼液晶和TFT彩色液晶等。在眾多
    發(fā)表于 05-25 15:49 ?8244次閱讀

    如何使用Arduino實(shí)現(xiàn)8乘8點(diǎn)陣心形設(shè)計(jì)的論文免費(fèi)下載

    該文使用Arduino硬件開發(fā)平臺(tái),以Arduino UNO電路板為中心,配合使用8乘8矩形點(diǎn)陣完成電路的設(shè)計(jì)。在完成的過程中,本文采納的Arduino UNO電路板,與此同時(shí)配合應(yīng)用
    發(fā)表于 12-07 08:00 ?1次下載
    如何使用<b class='flag-5'>Arduino</b>實(shí)現(xiàn)8乘8<b class='flag-5'>點(diǎn)陣</b>心形設(shè)計(jì)的論文免費(fèi)下載

    Arduino的實(shí)驗(yàn)例程之點(diǎn)陣實(shí)驗(yàn)的詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是Arduino的實(shí)驗(yàn)例程之點(diǎn)陣實(shí)驗(yàn)的詳細(xì)資料說明。
    發(fā)表于 02-25 16:36 ?14次下載

    LCD點(diǎn)陣與段碼液晶之間有什么不同

    LCD液晶的種類有很多:點(diǎn)陣液晶、段碼液晶、OLED液晶等。這些液晶都是為顯示設(shè)備上信
    發(fā)表于 03-09 14:23 ?5992次閱讀

    點(diǎn)陣廣告的設(shè)計(jì)說明

    點(diǎn)陣廣告的設(shè)計(jì)說明
    發(fā)表于 05-11 09:19 ?4次下載

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

    FireBeetle 24×8 LED點(diǎn)陣是螢火蟲系列的配件產(chǎn)品,與常規(guī)點(diǎn)陣不同的是它直接用LED發(fā)光二極管來構(gòu)建顯示陣列,而非用點(diǎn)陣
    的頭像 發(fā)表于 07-26 17:03 ?7811次閱讀
    在<b class='flag-5'>Arduino</b>下如何直接以LED組建<b class='flag-5'>點(diǎn)陣</b><b class='flag-5'>屏</b>

    51單片機(jī)——LED點(diǎn)陣

    51單片機(jī)——LED點(diǎn)陣LED點(diǎn)陣LED點(diǎn)陣原理74HC595串轉(zhuǎn)并芯片源代碼例程一:靜態(tài)
    發(fā)表于 11-12 09:51 ?53次下載
    51單片機(jī)——LED<b class='flag-5'>點(diǎn)陣</b><b class='flag-5'>屏</b>

    將8x8 LED點(diǎn)陣Arduino連接

    電子發(fā)燒友網(wǎng)站提供《將8x8 LED點(diǎn)陣Arduino連接.zip》資料免費(fèi)下載
    發(fā)表于 02-09 10:03 ?1次下載
    將8x8 LED<b class='flag-5'>點(diǎn)陣</b>與<b class='flag-5'>Arduino</b>連接

    點(diǎn)陣是什么?

    點(diǎn)陣(Dot matrix screen)指在顯示上長和寬各能顯示出多少個(gè)像素點(diǎn),或者在LED顯示上長和寬有多少個(gè)LED會(huì)同時(shí)發(fā)光。
    的頭像 發(fā)表于 02-14 15:25 ?2362次閱讀
    <b class='flag-5'>點(diǎn)陣</b><b class='flag-5'>屏</b>是什么?

    Arduino點(diǎn)陣動(dòng)態(tài)顯示

    通過編寫程序,實(shí)現(xiàn)點(diǎn)陣動(dòng)態(tài)顯示數(shù)字0~9。本節(jié)課內(nèi)容主要通過代碼的方式來進(jìn)行講解,圖形化由于在后續(xù)使用點(diǎn)陣模塊的時(shí)候會(huì)非常容易,所以不在這里贅述。
    的頭像 發(fā)表于 11-01 15:25 ?1568次閱讀
    <b class='flag-5'>Arduino</b><b class='flag-5'>篇</b>—<b class='flag-5'>點(diǎn)陣</b><b class='flag-5'>屏</b>動(dòng)態(tài)顯示