我将像素数组转换为字符串,并将此字符串发送到arduino.但是我认为此字符串没有正确转换,因为Serial.write发送(8位或8字符)我不知道.并且还想发送100个字符的字符串到串行.请发送您的建议,并获得帮助我解决这个问题。对于任何错误,请提前道歉。
for(int x =0 ; x < img.height; x++)
{
for(int y=0; y <img.width; y++)
{
int i = x+y*width;
if(img.pixels[i] == color(0,0,0))
{
i=1;
}
else
{
i=0;
}
String s = str(i);
print(s);
Serial.write(s);
delay(2);
}
}
并告诉我如何停止字符串后100个字符不使用(\n或\r)
您似乎正在寻找以下代码:
for (int x = 0; x < img.height; x++) { // iterate over height
for (int y = 0; y < img.width; y++) { // iterate over width
int i = x + y * width;
if (img.pixels[i] == color(0, 0, 0)) { // determine if zero
Serial.write('1'); // send non zero char
} else {
Serial.write('0'); // send zero char
}
}
Serial.write("\n\r");
}
如果你想以img的大小为单位对输出进行聚类。宽度
您可以这样做:
for (int x = 0; x < img.height; x++) { // iterate over height
String s;
for (int y = 0; y < img.width; y++) { // iterate over width
int i = x + y * width;
if (img.pixels[i] == color(0, 0, 0)) { // determine if zero
s += '1'; // append a non zero char to string s
} else {
s += '0'; // append a zero char to string s
}
}
Serial.println(s);
}
请记住:
Serial.write输出原始二进制值。
Serial。打印
输出字符。
Serial.println
输出字符并将换行符追加到输出。
我对这个计算有严重的怀疑inti=xy*width
因为您的数据结构可能是:
vertical data: 0 1 2
horizontal data: [row 0][row 1][row 2]
而不是:
horizontal data: 0 1 2
vertical data: [column 0][column 1][column 2]
我一直在试图找到一种方法,从我的PC(Windows 7)向Arduino Uno R3发送串行命令。我一直在做这个简单的程序,你应该通过USB电缆发送一个简单的“1”,以便打开车载LED。我的Arduino代码应该可以工作(我知道的,但我会确保上传它)。我一直在尝试使用Python和pySerial发送此命令,但我似乎无法让pySerial正常工作。我也尝试过使用CMD,但当我输入命令(ECHO
我有个小问题。 我不明白为什么。问题是不是我的协议(如果我可以这么叫的话),我是如何解包字符串的?或者其他问题。 我很困惑。 在本教程中,我只需要两个值就可以使它工作
我正试图使用串口从C#向Arduino发送一个数组。在C#中,首先是输入字符串 然后,我将其转换为int数组 然后,我将其转换为字节数组,通过串行端口发送 最后,我把它寄出去了 那么,应该由我的Arduino接收 所以recdata应该是一个int数组 但事实并非如此。当我将其打印到另一个串行端口进行检查时。。 我得到3个输出,而不是1个,就好像serialport先发送一个int,然后发送第二个
我试图让Arduino在串口读取字符“s”时触发一个中继。该字符“s”由python根据从屏幕读取的图像发送。 我的问题是arduino似乎无法从串行端口读取数据,因为它从不执行if条件。我的猜测是这两者之间存在某种死锁(这就是为什么我将ardu.close()放在函数foo中) 这是我的arduino代码: 这是我的python代码:
我对通过python发送串行数据有问题。让我这样解释。我在arduino上有一个马达代码,它从串口接收数据,并在接收到的数据中移动。然而,在本例中,每当我发送8个列表中的数据时,它都不会读取第8个列表。通过玩弄时间。在python代码中睡眠我可以看到一些差异(我可以看到发送了4个列表,然后我将time.sleep增加到8,现在它发送了7个列表)我知道玩弄时间。但睡眠并不是解决办法。我还尝试清空输入
我在一个项目中,我想通过串行通信发送传感器数据从Arduino到PHP。 不幸的是,我无法读取PHP中的串行端口。然而,另一个方向(PHP到Arduino)工作得很好。我使用的是php_系列。班来自Rémy Sanchez的php,由Rizwan Kassim修改。我依赖于readPort()函数。 我在Mac OS X上使用Arduino UNO和Apache WAMP-Server。我应该实现