溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python開發(fā)中TPYBoard開發(fā)板怎樣DIY紅綠燈

發(fā)布時間:2021-12-04 09:15:17 來源:億速云 閱讀:260 作者:柒染 欄目:互聯(lián)網(wǎng)科技

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān) Python開發(fā)中TPYBoard開發(fā)板怎樣DIY紅綠燈,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

    流水燈可能是大家最經(jīng)常DIY的東西,一個是因為簡單容易實現(xiàn),再就是效果不錯。為了演示MicroPython的強大功能,展現(xiàn)不同的用法,下面教大家用TPYBoard開發(fā)板DIY一個小紅綠燈板,一起體驗python開發(fā)的魅力吧!

Python開發(fā)中TPYBoard開發(fā)板怎樣DIY紅綠燈

    關(guān)于TPYBoard


    TPYBoard單片機開發(fā)板,現(xiàn)有TPYBoardV101、v102兩個版本,其中v102為v101的升級版,新增swd接口。采用python開發(fā)語言,提供了30個GPIO,輕松使用python開發(fā)物聯(lián)網(wǎng)產(chǎn)品。支持Python3.0及以上版本的直接運行,支持重力加速度傳感器,支持上百周邊外設(shè)配件。更多詳細(xì)信息、教程、實例可參考micropython網(wǎng)站http://www.micropython.net.cn 

    1.實驗?zāi)康?/strong>


    1. 學(xué)習(xí)在PC機系統(tǒng)中擴展簡單I/O 接口的方法。
    2. 進(jìn)一步學(xué)習(xí)編制數(shù)據(jù)輸出程序的設(shè)計方法。
    3. 學(xué)習(xí)模擬交通燈控制的方法。


    2.所需元器件


    220歐電阻一個
    紅色LED數(shù)碼管一個
    面包板一塊
    TPYBoard板子一塊
    數(shù)據(jù)線一條
    紅、綠、黃三個led燈
    杜邦線若干


    3.點亮led燈


    將三個led燈插在面包板上,led負(fù)極插入面包板的負(fù)極(橫向插孔),正極插入面包板的縱向插,將222歐電阻插入面包板的負(fù)極上(橫向插孔)和縱向插孔中,將led燈的正極分別與TPYBoard的引腳連接起來,因為要做紅綠燈,只需三個引腳即可,本人用的為Y1、Y2、Y3三個引腳,將三個led燈的正極通過杜邦線連接到TPYboard的Y1,、Y2、Y3的引腳上,然后將電阻縱向插孔用杜邦線接到TPYboard的GND引腳,在main.py文件中將Y1、Y2、Y3引腳的電平拉高,即可看到三個燈同時亮起來。代碼為:

  1. # main.py -- put your code here!

  2. import pyb

  3. led1 = pyb.Pin("Y1",pyb.Pin.OUT_PP)

  4. led2 = pyb.Pin("Y2",pyb.Pin.OUT_PP)

  5. led3 = pyb.Pin("Y3",pyb.Pin.OUT_PP)

  6. While True:

  7.      led1.value(1)

  8.      led2.value(1)

  9.      led3.value(1)

Python開發(fā)中TPYBoard開發(fā)板怎樣DIY紅綠燈 

    4.點亮數(shù)碼管


    SM42056是0.56英寸一位共陰/紅色LED數(shù)碼管。一共十個引腳。當(dāng)小數(shù)點在你的右下角時,上面一排五個引腳,從左至右依次為g,f,地,a,b,下面一排五個引腳,從左至右依次為 e,d,地,c,dp。我們要想讓數(shù)碼管亮起來只需要將g,f,a,b,e,d,c,dp(在這用不到)在main.py中拉高電平,把地與TPYboard的GND引腳接起來,這樣就會顯示為8。如下圖:

Python開發(fā)中TPYBoard開發(fā)板怎樣DIY紅綠燈

    下面為0-9數(shù)字對應(yīng)針腳的高電平,即對應(yīng)TPYboard的引腳拉高電平


    數(shù)字高電平針腳


    0         a,b,c,d,e,f
    1         e,f
    2         a,b,g,e,d
    3         a,b,g,c,d
    4         b,c,g,f
    5         a,f,g,c,d
    6         a,f,e,d,c,g
    7         a,b,c
    8         a,b,c,d,e,f,g


    5.模擬紅綠燈


    我們按照上面的步驟做完以后,然后通電,修改main.py文件,即可讓燈隨著數(shù)碼管的變化而變化,具體代碼如下:

  1. # main.py -- put your code here!

  2. import pyb

  3. led1 = pyb.Pin("Y1",pyb.Pin.OUT_PP)

  4. led2 = pyb.Pin("Y2",pyb.Pin.OUT_PP)

  5. led3 = pyb.Pin("Y3",pyb.Pin.OUT_PP)

  6. x1 = pyb.Pin("X1",pyb.Pin.OUT_PP)

  7. x2 = pyb.Pin("X2",pyb.Pin.OUT_PP)

  8. x3 = pyb.Pin("X3",pyb.Pin.OUT_PP)

  9. x4 = pyb.Pin("X4",pyb.Pin.OUT_PP)

  10. x5 = pyb.Pin("X5",pyb.Pin.OUT_PP)

  11. x6 = pyb.Pin("X6",pyb.Pin.OUT_PP)

  12. x8 = pyb.Pin("X8",pyb.Pin.OUT_PP)

  13. def six():

  14.    x1.value(1)

  15.    x2.value(1)

  16.    x3.value(1)

  17.    x5.value(1)

  18.    x6.value(1)

  19.    x8.value(1)

  20.    pyb.delay(1000)

  21.    x1.value(0)

  22.    x2.value(0)

  23.    x3.value(0)

  24.    x6.value(0)

  25.    x5.value(0)

  26.    x8.value(0)

  27. def nine():

  28.    x1.value(1)

  29.    x2.value(1)

  30.    x3.value(1)

  31.    x4.value(1)

  32.    x5.value(1)

  33.    x8.value(1)

  34.    pyb.delay(1000)

  35.    x1.value(0)

  36.    x2.value(0)

  37.    x3.value(0)

  38.    x4.value(0)

  39.    x5.value(0)

  40.    x8.value(0)

  41. def eight():

  42.    x1.value(1)

  43.    x2.value(1)

  44.    x3.value(1)

  45.    x4.value(1)

  46.    x5.value(1)

  47.    x6.value(1)

  48.    x8.value(1)

  49.    pyb.delay(1000)

  50.    x1.value(0)

  51.    x2.value(0)

  52.    x3.value(0)

  53.    x4.value(0)

  54.    x5.value(0)

  55.    x6.value(0)

  56.    x8.value(0)

  57. def zero():

  58.    x2.value(1)

  59.    x3.value(1)

  60.    x4.value(1)

  61.    x5.value(1)

  62.    x6.value(1)

  63.    x8.value(1)

  64.    pyb.delay(1000)

  65.    x2.value(0)

  66.    x3.value(0)

  67.    x4.value(0)

  68.    x5.value(0)

  69.    x6.value(0)

  70.    x8.value(0)

  71. def seven():

  72.    x3.value(1)

  73.    x4.value(1)

  74.    x8.value(1)

  75.    pyb.delay(1000)

  76.    x3.value(0)

  77.    x4.value(0)

  78.    x8.value(0)

  79. def five():

  80.    x1.value(1)

  81.    x2.value(1)

  82.    x3.value(1)

  83.    x5.value(1)

  84.    x8.value(1)

  85.    pyb.delay(1000)

  86.    x1.value(0)

  87.    x2.value(0)

  88.    x3.value(0)

  89.    x5.value(0)

  90.    x8.value(0)

  91. def four():

  92.    x1.value(1)

  93.    x2.value(1)

  94.    x4.value(1)

  95.    x8.value(1)

  96.    pyb.delay(1000)

  97.    x1.value(0)

  98.    x2.value(0)

  99.    x4.value(0)

  100.    x8.value(0)

  101. def three():

  102.    x1.value(1)

  103.    x3.value(1)

  104.    x4.value(1)

  105.    x5.value(1)

  106.    x8.value(1)

  107.    pyb.delay(1000)

  108.    x1.value(0)

  109.    x4.value(0)

  110.    x3.value(0)

  111.    x5.value(0)

  112.    x8.value(0)

  113. def two():

  114.    x1.value(1)

  115.    x3.value(1)

  116.    x4.value(1)

  117.    x5.value(1)

  118.    x6.value(1)

  119.    pyb.delay(1000)

  120.    x1.value(0)

  121.    x3.value(0)

  122.    x4.value(0)

  123.    x5.value(0)

  124.    x6.value(0)

  125. def one():

  126.    x2.value(1)

  127.    x6.value(1)

  128.    pyb.delay(1000)

  129.    x2.value(0)

  130.    x6.value(0)

  131. while True:

  132.    led1.value(1)

  133.    nine()

  134.    eight()

  135.    seven()

  136.    six()

  137.    five()

  138.    four()

  139.    three()

  140.    two()

  141.    one()

  142.    zero()

  143.    led1.value(0)

  144.    led2.value(1)

  145.    nine()

  146.    eight()

  147.    seven()

  148.    six()

  149.    five()

  150.    four()

  151.    three()

  152.    two()

  153.    one()

  154.    zero()

  155.    led2.value(0)

  156.    led3.value(1)

  157.    three()

  158.    two()

  159.    one()

  160.    zero()

  161.    led3.value(0)

上述就是小編為大家分享的 Python開發(fā)中TPYBoard開發(fā)板怎樣DIY紅綠燈了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI