Я хотел, чтобы мой Arduino связывался с Processing.
На Arduino я поместил код, взятый с сайта Processing (Пример 1A):
int switchPin = 4; // Switch connected to pin 4
void setup()
{
pinMode(switchPin, INPUT); // Set pin 0 as an input
Serial.begin(9600); //initialize serial communications at a 9600 baud rate
}
void loop()
{
if (digitalRead(switchPin) == HIGH) { // If switch is ON,
Serial.write(1); // send 1 to Processing
} else { // If the switch is not ON,
Serial.write(0); // send 0 to Processing
}
delay(100);
}
Во время обработки я поместил этот код:
import processing.serial.*;
Serial myPort; // Create object from Serial class
String val="0"; // Data received from the serial port
void setup()
{
size(200, 200);
frameRate(10);
String portName = Serial.list()[0]; //change the 0 to a 1 or 2 etc. to match your port
myPort = new Serial(this, portName, 9600);
}
void draw()
{
if ( myPort.available() > 0)
{ // If data is available,
val = myPort.readStringUntil('\n'); // read it and store it in val
}
background(255);
if(val.equals("0")){
fill(0);
}else{
fill(204);
}
rect(50, 50, 100, 100);
}
Программа выдает ошибку NullPointerException в строке 22 в программе обработки.
Знаете ли вы, как ее решить? Спасибо.