如何使用arduino控制处理

一.通信手段

Arduino和processing可以通过串口通信,也就是我们常见的COM1和COM2。安装arduino驱动时,我们已经设置好了arduino的端口,我自己设置了COM4。您可以参考这里进行设置。

arduino程序中需要设置相同的端口:

处理在这个端口接收和发送数据,这个端口是在编写的代码中定义的,不需要设置程序。

2.arduino通过串口发布数据。

下面是arduino最简单的数据释放代码,通过串口释放数据“1”的值。

int data = 1;//创建一个变量来存储要发送的数据。

无效设置()

{

serial . begin(9600);//将数据传输速率定义为9600位。

}

无效循环()

{

Serial.print(数据);//通过串口发送数据的值。

}

将代码上传到arduino后,可以先通过串口@ @ @ @ @ @ @ @进行检查。当然,你需要像代码中那样设置@ @ @ @ @ @ @ @的数据传输速率。这样我们就可以看到“1”在程序底部不断出现。

3.处理从串行端口获取数据。

下面是处理从串口获取数据的最简单的代码,注意端口和传输速率的值:

import processing . serial . *;//引入串行库

int p _ data//创建变量来存储接收到的数据。

串行myPort//创建一个名为“myPort”的串行对象。

void setup() {

myPort = new Serial(这个,“com 4 ”, 9600);

//定义myPort的端口和数据传输速率。

//应该和Arduino一致。

}

void draw() {

p _ data = my port . read();//读取从串口获取的值,存储在变量p_data中。

println(p _ data);//打印p_data的值。

}

运行代码后,可以看到在处理程序下开始出现数据,这说明它已经从COM4获取了值,该值是以9600位发布的。这里有两点需要注意。一是Arduino必须连接电脑,二是Arduino的串口显示器不能同时打开。

不过,虽然得到了数据,但并不是Arduino发出的“1”,而是“49”,这一点我们会在后面的章节中讲到。

4.Arduino从串行端口获取值。

创建一个简单的Arduino程序来接收来自串口的值,并通过LED来判断。我们选择插座13是因为arduino电路板本身在这个插座里集成了一个小LED,所以在这个例子里,我们不用自己接:)

int a _ data = 0;//创建一个变量来存储在串行端口接收的值。

int led pin = 13;//设置一个LED插座检测接收到的值。

void setup() {

serial . begin(9600);//将数据传输速率定义为9600位。

pinMode(ledPin,输出);//定义socket 13为输出模式。

}

void循环(){

if(serial . available()>;0) {//收到数据后,进行处理:

a _ data = serial . read();//将接收到的值存储在变量中。

If(a_data){//如果收到“1”(A _ data为真),打开LED,否则关闭。

digitalWrite(ledPin,高);

}

否则{

digitalWrite(ledPin,低);

}

}

}

5.处理通过串口发布数据。

处理没有类似arduino的串口@ @ @ @ @,不如先创建上一步提到的arduino接收器。下面的代码根据鼠标单击状态发布“0”和“1”:

import processing . serial . *;//引入串行

串行myPort

//创建一个名为“myPort”的串行对象。

无效设置()

{

myPort = new Serial(这个,“com 4 ”, 9600);

//定义myPort的端口和数据传输速率。

//应该和Arduino一致。

}

void draw(){

}

void mousePressed(){

my port . write(1);

//当鼠标按下时,通过COM4以9600的传输率发布数值“1”。

}

void mouseReleased(){

my port . write(0);

//松开鼠标,数值“0”通过COM4以9600的传输率发布。

}