Sending String from Processing to Arduino Not Working
我在处理中收集了一些字符串信息,并尝试将其发送给Arduino。 我正在处理发送信息,但是,我在arduino中的输出很奇怪。 我得到类似" 77789 ..."的数字。 我不确定自己在做什么错。 我需要做的是,基本上是从处理中获取一个字符串,并将其发送到arduino以在LCD屏幕上显示。
任何帮助,将不胜感激。
这是我的处理代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | import processing.serial.*; Serial myPort; XML MSFTxml; // loading Query XML MSFT; // results of the query XML row; // first row in the query XML symbol; // Name of the stock String symbolTxt; String val; void setup() { size(200,200); myPort = new Serial(this,"COM3", 9600); } void draw() { updateXMLCall(); delay(10000); } void updateXMLCall () { MSFTxml = loadXML("https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20csv%20where%20url%3D%27http%3A%2F%2Fdownload.finance.yahoo.com%2Fd%2Fquotes.csv%3Fs%3DMSFT%26f%3Dsl1d1t1c1ohgv%26e%3D.csv%27%20and%20columns%3D%27symbol%2Cprice%2Cdate%2Ctime%2Cchange%2Ccol1%2Chigh%2Clow%2Ccol2%27&format=xml&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys"); MSFT = MSFTxml.getChild("results"); //Getting the first tag"results" in the query MSFT row= MSFT.getChild("row"); //first child tag"row" symbol = row.getChild("symbol"); //name of the stock symbolTxt = symbol.getContent().toString(); //converting the name of the stock into a string myPort.write(symbolTxt); println(symbolTxt); } |
这是我的arduino代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include <Wire.h> #include"rgb_lcd.h" rgb_lcd lcd; const int colorR = 50; const int colorG = 0; const int colorB = 0; void setup() { Serial.begin(9600); // set up the LCD's number of columns and rows: lcd.begin(16, 2); lcd.setRGB(colorR, colorG, colorB); // Print a message to the LCD. lcd.setCursor(0, 1); } void loop() { String content =""; if (Serial.available()) { while (Serial.available()) { content += Serial.read(); lcd.print(content); Serial.print(content); lcd.setCursor(0, 1); } } delay(100); } |
问题是在C
您需要将
使用Arduino将serial.read()转换为可用的字符串?