首頁(yè) > 評(píng)測(cè) > ATSAMD51的特快專遞--Adafruit Metro M4開(kāi)發(fā)板評(píng)測(cè)
ATSAMD51的特快專遞--Adafruit Metro M4開(kāi)發(fā)板評(píng)測(cè)
- [導(dǎo)讀]
- 準(zhǔn)備好了么,來(lái)自ATSAMD51的特快專遞已準(zhǔn)備就緒,就等你來(lái)!
最后還要提一下庫(kù)文件的問(wèn)題。Python之所以強(qiáng)大,是因?yàn)橛写罅咳降膸?kù)供我們調(diào)用,Adafruit也為Circuit提供了大量的庫(kù)支持,在使用一些外設(shè)時(shí),不需要自己去再造一個(gè)輪子,直接引用這些庫(kù)就可以完成任務(wù),這當(dāng)然是一件妙事!
從官方下載庫(kù)文件解壓后會(huì)得到一個(gè)lib文件夾,將該文件夾復(fù)制到CURCUITPY所在的磁盤根目錄下,就可以使用這些三方庫(kù)來(lái)增強(qiáng)程序功能。
現(xiàn)在開(kāi)始,可以愉快的使用Metro M4 Express來(lái)體驗(yàn)CIRCUITPYTHON了。
點(diǎn)燈我們就不點(diǎn)了,但是看下代碼,熟悉下編程風(fēng)格還是有必要的,如下
import board
import digitalio
import time
led = digitalio.DigitalInOut(board.D13)
led.direction = digitalio.Direction.OUTPUT
while True:
led.value = 0
time.sleep(.5)
led.value = 1
time.sleep(.5)
如果不熟悉這些函數(shù),可以按照Arduino代碼的風(fēng)格來(lái)猜,基本上是一致的。
要熟悉相關(guān)的代碼及庫(kù),可以借助Python自身的幫助功能,舉例如下,假設(shè)我不知道board模塊里有哪些功能,在Serial窗口里執(zhí)行如下的代碼
>>> import board
>>> dir(board)
['A0', 'A1', 'A2', 'A3', 'A4', 'A5', 'D0', 'RX', 'D1', 'TX', 'D2', 'D3', 'D4', 'D5', 'D6', 'D7', 'D8', 'D9', 'D10', 'D11', 'D12', 'D13', 'SDA', 'SCL', 'NEOPIXEL', 'SCK', 'MOSI', 'MISO', 'LED_RX', 'LED_TX', 'I2C', 'SPI', 'UART']
>>>
其中>>>正是Python交互的提示符,我們可以看到board模塊基本只提供了一些開(kāi)發(fā)板的接口定義,我們?cè)谏鲜鲈创a中使用的board.D13就是開(kāi)發(fā)板的13號(hào)pin。
在lib目錄下有個(gè)simpleio.mpy,這是一個(gè)簡(jiǎn)單IO封裝庫(kù),如果想獲取其幫助,參考如下代碼
>>> import simpleio
>>> dir(simpleio)
['tone', 'DigitalOut', 'time', 'shift_out', 'bitWrite', 'array', '__name__', 'DigitalIn', 'digitalio', 'shift_in', 'map_range', 'pulseio', 'audioio', 'Servo']
>>>
另外也可以使用help()來(lái)獲取更詳細(xì)的幫助,如下
>>> help(simpleio)
object
tone --
DigitalOut --
time --
shift_out --
bitWrite --
array --
__name__ -- simpleio
DigitalIn --
digitalio --
shift_in --
map_range --
pulseio --
audioio --
Servo --
>>>
這樣看是不是更清晰了!
差不多了,該寫個(gè)完整的腳本來(lái)體驗(yàn)Python的便利了。這次使用的是DHT11溫濕度傳感器,在一些精度要求不同的場(chǎng)合,DHT11還是很不錯(cuò)的,如果對(duì)精度要求高,可以使用DHT22,這些設(shè)備都有一個(gè)優(yōu)勢(shì),只使用一根信號(hào)線,連接非常簡(jiǎn)單。將DHT11的信號(hào)線連接至D2,然后開(kāi)始寫程序,代碼如下
import board
import adafruit_dht as dht
import time
dht11 = dht.DHT11(board.D2)
while True:
temp, humi = dht11.temperature, dht11.humidity
print('temperature: {}\nhumidity: {}%'.format(temp, humi))
time.sleep(5)
保存為code.py,讓它自動(dòng)運(yùn)行,在Mu中打開(kāi)串口,得到如下的結(jié)果
從未如此簡(jiǎn)單,是不是?
只可惜Metro M4 Express開(kāi)發(fā)板沒(méi)有網(wǎng)絡(luò)連接能力,否則就可以將檢測(cè)到的數(shù)據(jù)發(fā)布到Internet上了!
總結(jié)來(lái)說(shuō),Metro M4 Express開(kāi)發(fā)板還是值得一試的。以前總有人擔(dān)心,在MCU上使用Python,性能是否會(huì)有瓶頸,但是在120MHz的頻率之下,簡(jiǎn)單的應(yīng)用場(chǎng)合下,使用起來(lái)還是很流暢的!
在AI呼聲越來(lái)越高的今天,了解一點(diǎn)Python,學(xué)一點(diǎn)Python,未嘗不是一種好的選擇,也許一覺(jué)醒來(lái),AI已普及到了MCU上,誰(shuí)能說(shuō)得好呢?
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評(píng)論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開(kāi)放投稿
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開(kāi)發(fā)
預(yù)算:¥1100000015小時(shí)前
- 12V汽車啟動(dòng)電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時(shí)前
- 數(shù)據(jù)可視化軟件 開(kāi)發(fā)
預(yù)算:¥5000023小時(shí)前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動(dòng)電機(jī)控制器開(kāi)發(fā)
預(yù)算:¥1100001天前