python 玩转arduino_如何用熟悉的语言玩转Arduino

本文介绍了如何使用Python以及Firmata库来控制Arduino。首先,需要在Arduino上烧录StandardFirmata协议,然后通过Arduino IDE或命令行找到对应的端口。接着,利用Python的Firmata库,编写控制Arduino的代码,实现LED灯的闪烁。此外,还提到了Johnny-Five框架,它提供了一个更简洁的API来操作Arduino,并兼容多种硬件。作者期待未来能用这种方式探索更多有趣的硬件项目。
摘要由CSDN通过智能技术生成

今天上班有些忙,时间不是太多,借助空隙时间学习了一下如何用自己喜欢的语言来玩 Arduino。

Firmata

Arduino 可以通过 Firmata(PC 与 MCU 通讯协议) Library 来实现与计算机应用程序的通信。

我么可以使用自己喜欢的语言来实现一段程序,然后将程序写入到 Arduino 中。我们首先需要将 Firmata 协议烧写到芯片中。

烧写协议

Arduino IDE > 文件 > 示例 > Firmata > StandardFirmata

按照上述路径找到标准协议,然后上传至 Arduino

端口查找

以下两种方式任选其一:

Arduino IDE > 工具 > 端口

命令行工具中输入 ls /dev/tty.usb* 按 tab

按照上述路径找到端口,后续通过 Firmata 协议与 Arduino 连接的时候需要使用该端口值。这里我们得到我的设备的端口为 /dev/tty.usbmodem14101

编写程序

这里我使用的是 javascript 来编写昨天的 Blink

firmata.js

const Firmata = require('firmata');

const port = '/dev/tty.usbmodem14101';

const ledPin = 2;

const board = new Firmata(port);

board.on('ready', () => {

console.log(`connet ${port}`);

let status = 0;

setInterval(() => {

status = !status + 0;

board.digitalWrite(ledPin, status);

}, 1000);

});

johnny-five

const five = require('johnny-five');

const board = new five.Board();

const ledPin = 2;

board.on('ready', function() {

// Create an Led on pin 13

var led = new five.Led(ledPin);

// Blink every half second

led.blink(1000);

});

Johnny-Five is an Open Source, Firmata Protocol based, IoT and Robotics programming framework, developed at Bocoup.

后者封装的更为简易,兼容多种类型硬件,等待后续深入学习。

末了

如何用熟悉的语言玩转Arduino

结合开源软件框架来驱动开源硬件,用熟悉的语言来驱动硬件是一件很酷的事情。后续期望结合一些其它开源做一些好玩的东西。基于 Firmata 还有一些其它语言的封装,这里我只是以自己最近使用的 JavaScript 为例子来进行来一次复盘 Blink。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值