首页 > 评测 > ATSAMD51的特快专递--Adafruit Metro M4开发板评测
ATSAMD51的特快专递--Adafruit Metro M4开发板评测
- [导读]
- 准备好了么,来自ATSAMD51的特快专递已准备就绪,就等你来!
最后还要提一下库文件的问题。Python之所以强大,是因为有大量三方的库供我们调用,Adafruit也为Circuit提供了大量的库支持,在使用一些外设时,不需要自己去再造一个轮子,直接引用这些库就可以完成任务,这当然是一件妙事!
从官方下载库文件解压后会得到一个lib文件夹,将该文件夹复制到CURCUITPY所在的磁盘根目录下,就可以使用这些三方库来增强程序功能。
现在开始,可以愉快的使用Metro M4 Express来体验CIRCUITPYTHON了。
点灯我们就不点了,但是看下代码,熟悉下编程风格还是有必要的,如下
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)
如果不熟悉这些函数,可以按照Arduino代码的风格来猜,基本上是一致的。
要熟悉相关的代码及库,可以借助Python自身的帮助功能,举例如下,假设我不知道board模块里有哪些功能,在Serial窗口里执行如下的代码
>>> 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模块基本只提供了一些开发板的接口定义,我们在上述源代码中使用的board.D13就是开发板的13号pin。
在lib目录下有个simpleio.mpy,这是一个简单IO封装库,如果想获取其帮助,参考如下代码
>>> import simpleio
>>> dir(simpleio)
['tone', 'DigitalOut', 'time', 'shift_out', 'bitWrite', 'array', '__name__', 'DigitalIn', 'digitalio', 'shift_in', 'map_range', 'pulseio', 'audioio', 'Servo']
>>>
另外也可以使用help()来获取更详细的帮助,如下
>>> help(simpleio)
object
tone --
DigitalOut --
time --
shift_out --
bitWrite --
array --
__name__ -- simpleio
DigitalIn --
digitalio --
shift_in --
map_range --
pulseio --
audioio --
Servo --
>>>
这样看是不是更清晰了!
差不多了,该写个完整的脚本来体验Python的便利了。这次使用的是DHT11温湿度传感器,在一些精度要求不同的场合,DHT11还是很不错的,如果对精度要求高,可以使用DHT22,这些设备都有一个优势,只使用一根信号线,连接非常简单。将DHT11的信号线连接至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,让它自动运行,在Mu中打开串口,得到如下的结果
从未如此简单,是不是?
只可惜Metro M4 Express开发板没有网络连接能力,否则就可以将检测到的数据发布到Internet上了!
总结来说,Metro M4 Express开发板还是值得一试的。以前总有人担心,在MCU上使用Python,性能是否会有瓶颈,但是在120MHz的频率之下,简单的应用场合下,使用起来还是很流畅的!
在AI呼声越来越高的今天,了解一点Python,学一点Python,未尝不是一种好的选择,也许一觉醒来,AI已普及到了MCU上,谁能说得好呢?
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
RAK831 Lite:基于树莓派3的LoRa网关... 2022-06-17
-
Imagination推出PowerVR AX2185和AX2145神经... 2022-06-17
-
ODROID-GO是一款兼容Arduino的基于ESP32的便... 2022-06-17
- PID温度控制器
预算:¥700003天前
- 摄像头的可视画面需要一直超上(linux系统,ARM)
预算:¥1000018小时前
- DICOM协议搭建(ARM架构,linux系统)
预算:¥1000017小时前
- 需MIPI摄像头隔离电路,实现3-4米能长距离
预算:¥1000017小时前
- 膨宫仪的控制板,控制流量和检测压力
预算:¥1000016分钟前
- 无创自动测量血压计 NIBP模块
预算:¥100007小时前