找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1992|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

Micropython教程之TPYBoard開發(fā)板點(diǎn)亮心形點(diǎn)陣

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:130183 發(fā)表于 2018-12-21 09:54 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
    實(shí)驗(yàn)?zāi)康?br />
    學(xué)習(xí)在PC機(jī)系統(tǒng)中擴(kuò)展簡(jiǎn)單I/O 接口的方法。
    進(jìn)一步學(xué)習(xí)編制數(shù)據(jù)輸出程序的設(shè)計(jì)方法。
    學(xué)習(xí)8*8點(diǎn)陣與TPYBoard的接線方法,點(diǎn)亮點(diǎn)陣。

    所需元器件

    8*8 LED點(diǎn)陣屏 1個(gè)
    TPYBoard v102板子 1塊
    micro USB數(shù)據(jù)線 1條
    杜邦線 若干


    點(diǎn)亮8*8 LED點(diǎn)陣

    8*8 LED點(diǎn)陣屏原理圖:




    點(diǎn)陣后面有兩排針腳,一排以1開頭,即1-8針腳,一排以9開頭,即9-16針腳,上圖中圓圈內(nèi)的數(shù)字即為針腳的對(duì)應(yīng)數(shù)字。當(dāng)ROW 的針腳為高電平,COL的針腳為低電平時(shí)候,我們的LED即全部點(diǎn)亮。 為了方便操作行和列,我們可以將ROW的8個(gè)引腳接到我們TPYBoard v102的X1-X8,COL的8個(gè)引腳接到我們TPYBoard v102的Y1-Y8。這樣我們通過(guò)控制X引腳和Y引腳的高低電平就可以控制每一個(gè)LED的亮與不亮,這樣就可以設(shè)計(jì)想顯示的任何字符和圖形,快來(lái)試試吧。

    8*8 LED點(diǎn)陣顯示心形

    效果圖:




    我們按照上面的步驟接線完畢后,編寫main.py文件,下面是顯示心形圖案的源代碼:
  1. # main.py -- put your code here!
  2. import  pyb
  3. from pyb import Pin
  4. x_PIN = [Pin(i, Pin.OUT_PP) for i in ['X1','X2','X3','X4','X5','X6','X7','X8']]
  5. y_PIN = [Pin(i, Pin.OUT_PP) for i in ['Y1','Y2','Y3','Y4','Y5','Y6','Y7','Y8']]
  6. hanzi=['11111111','11011101','10001000','10000000','10000000','11000001','11100011','11110111']
  7. def displayLED():
  8.         flag=0
  9.         for x_ in range(0,8):
  10.                 for b in range(0,8):
  11.                         print(b)
  12.                         if b!=flag:
  13.                                 x_PIN[b].value(0)
  14.                 li_l = hanzi[x_]
  15.                 y_PIN[0].value(int(li_l[:1]))
  16.                 y_PIN[1].value(int(li_l[1:2]))
  17.                 y_PIN[2].value(int(li_l[2:3]))
  18.                 y_PIN[3].value(int(li_l[3:4]))
  19.                 y_PIN[4].value(int(li_l[4:5]))
  20.                 y_PIN[5].value(int(li_l[5:6]))
  21.                 y_PIN[6].value(int(li_l[6:7]))
  22.                 y_PIN[7].value(int(li_l[7:8]))
  23.                 x_PIN[flag].value(1)
  24.                 flag=flag+1
  25.                 pyb.delay(2)
  26. while 1:
  27.         displayLED()
復(fù)制代碼

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表