首页 > 评测 > 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
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前