您好,登錄后才能下訂單哦!
這期內(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ā)的魅力吧!
關(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引腳的電平拉高,即可看到三個燈同時亮起來。代碼為:
# main.py -- put your code here!
import pyb
led1 = pyb.Pin("Y1",pyb.Pin.OUT_PP)
led2 = pyb.Pin("Y2",pyb.Pin.OUT_PP)
led3 = pyb.Pin("Y3",pyb.Pin.OUT_PP)
While True:
led1.value(1)
led2.value(1)
led3.value(1)
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。如下圖:
下面為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ù)碼管的變化而變化,具體代碼如下:
# main.py -- put your code here!
import pyb
led1 = pyb.Pin("Y1",pyb.Pin.OUT_PP)
led2 = pyb.Pin("Y2",pyb.Pin.OUT_PP)
led3 = pyb.Pin("Y3",pyb.Pin.OUT_PP)
x1 = pyb.Pin("X1",pyb.Pin.OUT_PP)
x2 = pyb.Pin("X2",pyb.Pin.OUT_PP)
x3 = pyb.Pin("X3",pyb.Pin.OUT_PP)
x4 = pyb.Pin("X4",pyb.Pin.OUT_PP)
x5 = pyb.Pin("X5",pyb.Pin.OUT_PP)
x6 = pyb.Pin("X6",pyb.Pin.OUT_PP)
x8 = pyb.Pin("X8",pyb.Pin.OUT_PP)
def six():
x1.value(1)
x2.value(1)
x3.value(1)
x5.value(1)
x6.value(1)
x8.value(1)
pyb.delay(1000)
x1.value(0)
x2.value(0)
x3.value(0)
x6.value(0)
x5.value(0)
x8.value(0)
def nine():
x1.value(1)
x2.value(1)
x3.value(1)
x4.value(1)
x5.value(1)
x8.value(1)
pyb.delay(1000)
x1.value(0)
x2.value(0)
x3.value(0)
x4.value(0)
x5.value(0)
x8.value(0)
def eight():
x1.value(1)
x2.value(1)
x3.value(1)
x4.value(1)
x5.value(1)
x6.value(1)
x8.value(1)
pyb.delay(1000)
x1.value(0)
x2.value(0)
x3.value(0)
x4.value(0)
x5.value(0)
x6.value(0)
x8.value(0)
def zero():
x2.value(1)
x3.value(1)
x4.value(1)
x5.value(1)
x6.value(1)
x8.value(1)
pyb.delay(1000)
x2.value(0)
x3.value(0)
x4.value(0)
x5.value(0)
x6.value(0)
x8.value(0)
def seven():
x3.value(1)
x4.value(1)
x8.value(1)
pyb.delay(1000)
x3.value(0)
x4.value(0)
x8.value(0)
def five():
x1.value(1)
x2.value(1)
x3.value(1)
x5.value(1)
x8.value(1)
pyb.delay(1000)
x1.value(0)
x2.value(0)
x3.value(0)
x5.value(0)
x8.value(0)
def four():
x1.value(1)
x2.value(1)
x4.value(1)
x8.value(1)
pyb.delay(1000)
x1.value(0)
x2.value(0)
x4.value(0)
x8.value(0)
def three():
x1.value(1)
x3.value(1)
x4.value(1)
x5.value(1)
x8.value(1)
pyb.delay(1000)
x1.value(0)
x4.value(0)
x3.value(0)
x5.value(0)
x8.value(0)
def two():
x1.value(1)
x3.value(1)
x4.value(1)
x5.value(1)
x6.value(1)
pyb.delay(1000)
x1.value(0)
x3.value(0)
x4.value(0)
x5.value(0)
x6.value(0)
def one():
x2.value(1)
x6.value(1)
pyb.delay(1000)
x2.value(0)
x6.value(0)
while True:
led1.value(1)
nine()
eight()
seven()
six()
five()
four()
three()
two()
one()
zero()
led1.value(0)
led2.value(1)
nine()
eight()
seven()
six()
five()
four()
three()
two()
one()
zero()
led2.value(0)
led3.value(1)
three()
two()
one()
zero()
led3.value(0)
上述就是小編為大家分享的 Python開發(fā)中TPYBoard開發(fā)板怎樣DIY紅綠燈了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(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)容。