需要在Arduino中运行文本文件的帮助吗
我目前正在根据发送给文本变量的数字在某些位置进行Arduino移动。我正在使用处理IDE和Arduino IDE 我目前遇到的问题是Arduino根本不读取文本文件。相反,我必须自己手动输入数字 总而言之,我试图得到一个只包含一个数字的文本文件。让处理应用程序读取它,然后让Arduino在特定位置移动 以下是我迄今为止所尝试的:需要在Arduino中运行文本文件的帮助吗,arduino,processing,Arduino,Processing,我目前正在根据发送给文本变量的数字在某些位置进行Arduino移动。我正在使用处理IDE和Arduino IDE 我目前遇到的问题是Arduino根本不读取文本文件。相反,我必须自己手动输入数字 总而言之,我试图得到一个只包含一个数字的文本文件。让处理应用程序读取它,然后让Arduino在特定位置移动 以下是我迄今为止所尝试的: 使用开关删除if语句 已将myport('0')更改为myport('9'),因为这是连接我的导线的地方 试图在Arduino上使用ByteRead,但没有任何效果 试
import processing.serial.*;
导入java.io.*;
int计数器=0;
字符串[]潜文本;
串行端口;
无效设置(){
//创建一个控制文本文件读取频率的开关。
//当mySwitch=1时,程序被设置为读取文本文件。
//当mySwitch=0时,此选项关闭
//打开串行端口与Arduino进行通信
//确保COM端口正确
myPort=新序列号(此“COM3”,9600);
myPort.bufferUntil('\n');
}
作废提款(){
/*readData函数可以在代码后面找到。
这是在计算机硬盘上读取CSV文件的调用*/
readData(“C://Users//InGodWeTrush//Desktop//maxColorIndex.txt”);
/*以下开关可防止连续读取文本文件,直到
我们准备再次读取该文件*/
/*仅发送新数据。此IF语句将允许向发送新数据
阿杜伊诺号*/
如果(计数器是这样,您将Arduino连接到串行端口(或通过USB-UART转换器,不连接),比如说COM1,然后从一个程序(处理IDE)向该端口发送一些数据,然后尝试从另一个程序(Arduino IDE)读取数据
不可能同时将多个程序连接到同一个COM端口。您从串行端口(我猜是从处理IDE)读取字节,然后通过串行端口发回文本(尝试将其发送到Arduino IDE?)
您应该在PC端的同一应用程序中执行所有操作(写入串行和读取串行)(应首先连接到COM端口,并将其固定,防止其他程序访问)
-或-
您应该使用两个连接到不同COM端口的串行端口(可能带有两个USB-UART转换器)
请注意,带有ATmega328芯片的Arduino UNO、Nano等只有一个硬件串行口。在这种情况下,您应该使用一些软件UART仿真来使用第二个串行口
最简单的选择就是从Arduino代码中删除Serial.println
,并通过硬件(LED等)在Arduino上进行指示工作期间不要将Arduino IDE连接到主板。您每0.1/0.5秒发送一次字节,但每10秒读取一次。感谢您的响应。我增加了时间,但它仍然无法读取我的文本文件。我注意到的是我第一次按下run(处理IDE或Arduino)按钮可以。如果我先运行我的Arduino代码,那么它会说COM3在处理IDE上忙。如果我先在处理IDE上运行代码,那么我在Arduino上得到一个错误,说上传到主板时出现问题。