Arduino 连接 Processing 通过 Firmata(for MAC)

本文介绍了如何在Mac上使用Arduino和Processing通过Firmata协议进行连接。首先,需要将Firmata固件烧录到Arduino板,然后在Processing中运行测试代码来识别可用的Comport。在Mac上可能有多个Comport选项,根据识别出的序号(如[0][1][2][3])选择正确的端口(如输入3)。最后,提供了一个新的Processing代码示例用于进一步的交互操作。
摘要由CSDN通过智能技术生成

来源:https://chennywublog.wordpress.com/2013/11/11/ardunio-processing-firmata-for-mac/   非常感谢

arduino 与 processing 可以通过Firmata协议连接,然使用在MAC机时需要有一个地方特别注意。

先把Firmata 代码烧录进arduino板,然后使用processing测试以下代码

import processing.serial.*;
void setup(){
println(Serial.list());
}


要记录鼠标点击次数和使用时长,你需要使用ArduinoProcessing的串口通信功能。下面是一些步骤: 1. 在Arduino中编写代码,使用`Mouse.click()`函数来检测鼠标点击次数,并使用`millis()`函数来计算使用时间。 ```arduino #include <Mouse.h> unsigned long startTime; // 记录启动时间 int clickCount = 0; // 记录鼠标点击次数 void setup() { Mouse.begin(); startTime = millis(); // 记录启动时间 Serial.begin(9600); // 初始化串口通信 } void loop() { if (Mouse.getButton() == MOUSE_LEFT) { // 检测鼠标左键是否被点击 clickCount++; // 点击次数加1 } unsigned long currentTime = millis(); // 获取当前时间 unsigned long usedTime = currentTime - startTime; // 计算使用时间 Serial.print("Click Count: "); Serial.println(clickCount); Serial.print("Used Time: "); Serial.print(usedTime / 1000); Serial.println("s"); delay(1000); // 延迟1秒 } ``` 2. 在Processing中编写代码,使用`Serial`对象来接收并记录Arduino发送的数据。 ```processing import processing.serial.*; Serial myPort; // 串口对象 int clickCount = 0; // 记录鼠标点击次数 int usedTime = 0; // 记录使用时间 void setup() { size(400, 400); myPort = new Serial(this, "COM3", 9600); // 初始化串口通信 } void draw() { background(255); while (myPort.available() > 0) { // 如果串口中有数据 String data = myPort.readStringUntil('\n'); // 读取数据 if (data != null) { // 如果数据不为空 if (data.startsWith("Click Count: ")) { // 如果数据以"Click Count: "开头 data = data.substring(13); // 去掉"Click Count: ",只保留数字 clickCount = Integer.parseInt(data); // 将数字转换为整数 } else if (data.startsWith("Used Time: ")) { // 如果数据以"Used Time: "开头 data = data.substring(11); // 去掉"Used Time: ",只保留数字 usedTime = Integer.parseInt(data); // 将数字转换为整数 } } } textAlign(CENTER); textSize(32); text("Click Count: " + clickCount, width/2, height/2 - 50); text("Used Time: " + usedTime + "s", width/2, height/2 + 50); } ``` 3. 将Arduino和计算机连接,上传Arduino代码并打开Processing程序,你就可以看到鼠标点击次数和使用时长的实时记录了。 注意:在运行程序之前,确保你已经选择了正确的串口端口。如果你使用的是Mac电脑,串口端口通常为`/dev/cu.usbmodem`开头的一个字符串。如果你使用的是Windows电脑,串口端口通常为`COM`开头的一个数字。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jswm20150115

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值