怎样用Arduino发送和接收来自Max/MSP的数据

来源: 工程师吴畏 2019-07-30 11:04:00

Max/MSP是一种可视化编程语言,可帮助您构建复杂的交互式程序,而无需任何先前的代码编写经验。它对于构建需要用户交互的音频,MIDI,视频和图形应用程序尤其有用。

我们需要将数据传输设置为双向。为此,我们首先设置从Arduino发送数据到Max/MSP,然后将数据从Max/MSP发送到Arduino。

从Arduino发送数据到Max/MSP

我们首先将数据从Arduino的模拟引脚发送到Max/MSP,然后打印出来。接下来,我们将数据从Max/MSP发送回Arduino,它将控制连接在引脚13的Arduino的内置LED。

Arduino和Max/MSP之间的通信将是连续的。

Arduino代码

将代码上传到编译器。

**注意:不要打开串行监视器,因为Max/MSP将使用COM端口。

int analogPin = 1;

void setup()

{

Serial.begin(115200);

}

void loop()

{

Serial.println(analogRead(analogPin));

delay(100);

}

Max/MSP草图

要发送的完整草图您可以在本文末尾找到从Arduino到Max/MSP的数据作为可下载文件。下载并运行草图。它将如下所示:

上传Max/MSP草图后,您的屏幕将如下所示。

最大值/MSP将不断从Arduino接收数据并显示它。要接收数据,我们将设置COM端口和波特率,类似于它们在Arduino端设置的方式。

要检查哪个COM端口可用,请单击打印。它将显示Max控制台中可用的COM端口。

单击打印将告诉您哪个COM端口可用。

在串行对象中输入可用的COM端口,并写入我们在Arduino端设置的COM端口。

设置COM端口后,单击ON/OFF按钮将允许Max/MSP开始接收数据。

Arduino现在已准备好向Max/MSP发送和接收数据。

从Max/MSP发送数据到Arduino

现在我们要将数据从Max/MSP发送到Arduino。数据将串行发送到Arduino,Arduino将接收它并控制引脚13处的内置LED。

我们已连接Max/MSP侧的切换按钮以发送数据位‘1 ’或‘0’到Arduino。收到数据后,Arduino将检查它是“1”还是“0”。如果为“1”,LED将亮起。否则,LED将关闭。

Arduino代码

int LED_pin = 13;

void setup()

{

Serial.begin(115200);

pinMode(LED_pin, OUTPUT);

}

void loop()

{

if (Serial.available()) {

int value1 = Serial.read();

if(value1 == 1){

digitalWrite(LED_pin, HIGH);

}

else if (value1 == 0){

digitalWrite(LED_pin, LOW);

}

}

}

Max/MSP Sketch

将数据从Max/MSP发送到您的完整草图在本文末尾可以找到Arduino作为可下载文件。下载并运行草图。它将如下所示:

运行第二个Max/MSP草图后程序的外观如何。

单击打印按钮查看Max控制台中可用的COM端口。

点击打印查找可用的COM端口。

在串行对象中输入COM端口并设置类似于的波特率Arduino。

设置之间的COM端口Max/MSP和你的Arduino。

现在,点击ON/OFF按钮控制LED在你的Arduino的第13针。

其他资源

对如何将Arduino连接到其他程序和模块感兴趣?查看这些文章:

如何使用PySerial接口Python IDE和Arduino

如何使用Visual Studio进行Arduino项目开发

0
收藏
0