Как мне заставить Arduino общаться с Processing - PullRequest
0 голосов
/ 19 января 2020


Я хотел, чтобы мой 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 в программе обработки.
Знаете ли вы, как ее решить? Спасибо.

...