首頁 > 評(píng)測 > ATSAMD51的特快專遞--Adafruit Metro M4開發(fā)板評(píng)測

ATSAMD51的特快專遞--Adafruit Metro M4開發(fā)板評(píng)測

ATSAMD51   Adafruit   Metro   M4   開發(fā)板   Microchip   
  • 作者:SATURN
  • 來源:21ic
  • [導(dǎo)讀]
  • 準(zhǔn)備好了么,來自ATSAMD51的特快專遞已準(zhǔn)備就緒,就等你來!

最后還要提一下庫文件的問題。Python之所以強(qiáng)大,是因?yàn)橛写罅咳降膸旃┪覀冋{(diào)用,Adafruit也為Circuit提供了大量的庫支持,在使用一些外設(shè)時(shí),不需要自己去再造一個(gè)輪子,直接引用這些庫就可以完成任務(wù),這當(dāng)然是一件妙事!

從官方下載庫文件解壓后會(huì)得到一個(gè)lib文件夾,將該文件夾復(fù)制到CURCUITPY所在的磁盤根目錄下,就可以使用這些三方庫來增強(qiáng)程序功能。

rId27.png

現(xiàn)在開始,可以愉快的使用Metro M4 Express來體驗(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)格來猜,基本上是一致的。

要熟悉相關(guān)的代碼及庫,可以借助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模塊基本只提供了一些開發(fā)板的接口定義,我們?cè)谏鲜鲈创a中使用的board.D13就是開發(fā)板的13號(hào)pin。

在lib目錄下有個(gè)simpleio.mpy,這是一個(gè)簡單IO封裝庫,如果想獲取其幫助,參考如下代碼

>>> import simpleio

>>> dir(simpleio)

['tone', 'DigitalOut', 'time', 'shift_out', 'bitWrite', 'array', '__name__', 'DigitalIn', 'digitalio', 'shift_in', 'map_range', 'pulseio', 'audioio', 'Servo']

>>>

另外也可以使用help()來獲取更詳細(xì)的幫助,如下

>>> help(simpleio)

object is of type module

tone --

DigitalOut --

time --

shift_out --

bitWrite --

array --

__name__ -- simpleio

DigitalIn --

digitalio --

shift_in --

map_range --

pulseio --

audioio --

Servo --

>>>

這樣看是不是更清晰了!

差不多了,該寫個(gè)完整的腳本來體驗(yàn)Python的便利了。這次使用的是DHT11溫濕度傳感器,在一些精度要求不同的場合,DHT11還是很不錯(cuò)的,如果對(duì)精度要求高,可以使用DHT22,這些設(shè)備都有一個(gè)優(yōu)勢,只使用一根信號(hào)線,連接非常簡單。將DHT11的信號(hào)線連接至D2,然后開始寫程序,代碼如下

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中打開串口,得到如下的結(jié)果

rId28.png

從未如此簡單,是不是?

rId29.jpg

只可惜Metro M4 Express開發(fā)板沒有網(wǎng)絡(luò)連接能力,否則就可以將檢測到的數(shù)據(jù)發(fā)布到Internet上了!

總結(jié)來說,Metro M4 Express開發(fā)板還是值得一試的。以前總有人擔(dān)心,在MCU上使用Python,性能是否會(huì)有瓶頸,但是在120MHz的頻率之下,簡單的應(yīng)用場合下,使用起來還是很流暢的!

在AI呼聲越來越高的今天,了解一點(diǎn)Python,學(xué)一點(diǎn)Python,未嘗不是一種好的選擇,也許一覺醒來,AI已普及到了MCU上,誰能說得好呢? 

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評(píng)論

  • 聯(lián)系人:巧克力娃娃
  • 郵箱:board@21ic.com
  • 我要投稿
  • 歡迎入駐,開放投稿

熱門標(biāo)簽
項(xiàng)目外包 more+