Python開發實例:TPYBoard開發板DIY紅綠燈

    流水燈多是你們最常常DIY的東西,一個是由於簡單容易實現,再就是效果不錯。爲了演示MicroPython的強大功能,展示不一樣的用法,下面教你們用TPYBoard開發板DIY一個小紅綠燈板,一塊兒體驗python開發的魅力吧!python

    關於TPYBoard學習


    TPYBoard單片機開發板,現有TPYBoardV10一、v102兩個版本,其中v102爲v101的升級版,新增swd接口。採用python開發語言,提供了30個GPIO,輕鬆使用python開發物聯網產品。支持Python3.0及以上版本的直接運行,支持重力加速度傳感器,支持上百周邊外設配件。更多詳細信息、教程、實例可參考micropython網站http://www.micropython.net.cn 網站

 

 

    1.實驗目的spa


    1. 學習在PC機系統中擴展簡單I/O 接口的方法。
    2. 進一步學習編制數據輸出程序的設計方法。
    3. 學習模擬交通燈控制的方法。.net


    2.所需元器件設計


    220歐電阻一個
    紅色LED數碼管一個
    麪包板一塊
    TPYBoard板子一塊
    數據線一條
    紅、綠、黃三個led燈
    杜邦線若干code


    3.點亮led燈教程


    將三個led燈插在麪包板上,led負極插入麪包板的負極(橫向插孔),正極插入麪包板的縱向插,將222歐電阻插入麪包板的負極上(橫向插孔)和縱向插孔中,將led燈的正極分別與TPYBoard的引腳鏈接起來,由於要作紅綠燈,只需三個引腳便可,本人用的爲Y一、Y二、Y3三個引腳,將三個led燈的正極經過杜邦線鏈接到TPYboard的Y1,、Y二、Y3的引腳上,而後將電阻縱向插孔用杜邦線接到TPYboard的GND引腳,在main.py文件中將Y一、Y二、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)

 

 

 

    4.點亮數碼管three


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

 

 

    下面爲0-9數字對應針腳的高電平,即對應TPYboard的引腳拉高電平


    數字高電平針腳


    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文件,便可讓燈隨着數碼管的變化而變化,具體代碼以下:

  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)

更多詳細信息、教程、實例可參考micropython網站http://www.micropython.net.cn 

相關文章
相關標籤/搜索