I’ve changed Ard code and Processing and I still have same error NullPointerException (line 46)
import processing.serial.*;
float winddir;
float windspeedmph;
float windgustmph;
float windgustdir;
float windspdmph_avg2m;
float winddir_avg2m;
float windgustmph_10m;
float windgustdir_10m;
float humidity;
float tempf;
float rainin;
float dailyrainin;
float pressure;
float batt_lvl;
float light_lvl;
String myString = null;
Serial myPort;
void setup()
{
size(700,700);
String portName = Serial.list()[5];
myPort = new Serial(this, portName, 9600);
myPort.clear();
myString = myPort.readStringUntil('\n');
myString = null;
}
void draw()
{
while ( myPort.available() > 0)
{
myString = myPort.readStringUntil('!');
if (myString != null) {
println(myString);
String myString = myPort.readString();
String[] q = splitTokens(myString);
winddir = parseFloat(q[0]);
windspeedmph = parseFloat(q[1]);
windgustmph = parseFloat(q[2]);
windgustdir = parseFloat(q[3]);
windspdmph_avg2m = parseFloat(q[4]);
winddir_avg2m = parseFloat(q[5]);
windgustmph_10m = parseFloat(q[6]);
windgustdir_10m = parseFloat(q[7]);
humidity = parseFloat(q[8]);
tempf = parseFloat(q[9]);
rainin = parseFloat(q[10]);
dailyrainin = parseFloat(q[11]);
pressure = parseFloat(q[12]);
batt_lvl = parseFloat(q[13]);
light_lvl = parseFloat(q[14]);
background(0);
textSize(20);
text("Wind direction:",50,50);
text(winddir,250,50);
text("Wind speed:" ,50,100);
text(windspeedmph,250,100);
text("Wind gust:",50,150);
text(windgustmph,250,150);
text("Wind gust direction:",50,200);
text(windgustdir,250,200);
text("Humidity:",50,250);
text(humidity,250,250);
text("Temperature",50,300);
text(tempf,250,300);
text("Rainfall:",50,350);
text(rainin,250,350);
text("Daily rain:",50,400);
text(dailyrainin,250,400);
text("Pressure",50,450);
text(pressure,250,450);
text("Battery level:",50,500);
text(batt_lvl,250,500);
text("Light level:",50,550);
text(light_lvl,250,550);
}
}
}