Well, what I'm attempting to do is create an array of zeros (in fact a variable value that is less than 255), ie 4 is my header like to know where where to begin reading.
But I can not do
import processing.serial.*;
Serial myPort;
void setup() {
myPort = new Serial(this, Serial.list()[0], 2400);
size(400,200);
}
void draw() {
int ch = 0;
int[] sensors = new int[8];
while (myPort.available() > 0) {
int inByte = myPort.read();
if (inByte==255){
ch=ch+1;
}
else
ch=0;
}
while(ch==4){
for(int i = 0; i >= sensors.length; i = i + 1 ){
sensors[i] = myPort.read();
}
}
color c1 = color(#00FF00);
color c2 = color(#FF9900);
color c3 = color (#FF0000);
color c4 = color (#FFFFFF);
if (sensors[0] >= 200){
fill(c3);
}
else if (sensors[0] >= 100){
fill(c2);
}
else if (sensors[0] >= 6){
fill(c1);
}
else{
fill (c4);
}
rect(0, 0, 100, 100);
if (sensors[1] >= 200){
fill(c3);
}
else if (sensors[1] >= 100){
fill(c2);
}
else if (sensors[1] >= 6){
fill(c1);
}
else{
fill (c4);
}
rect(100, 100, 100, 100);
if (sensors[2] >= 200){
fill(c3);
}
else if (sensors[2] >= 100){
fill(c2);
}
else if (sensors[2] >= 6){
fill(c1);
}
else{
fill (c4);
}
rect(300, 100, 100, 100);
if (sensors[3] >= 200){
fill(c3);
}
else if (sensors[3] >= 100){
fill(c2);
}
else if (sensors[3] >= 6){
fill(c1);
}
else{
fill (c4);
}
rect(200, 0, 100, 100);
if (sensors[4] >= 200){
fill(c3);
}
else if (sensors[4] >= 100){
fill(c2);
}
else if (sensors[4] >= 6){
fill(c1);
}
else{
fill (c4);
}
rect(300, 0, 100, 100);
if (sensors[5] >= 200){
fill(c3);
}
else if (sensors[5] >= 100){
fill(c2);
}
else if (sensors[5] >= 6){
fill(c1);
}
else{
fill (c4);
}
rect(200, 100, 100, 100);
if (sensors[6] >= 200){
fill(c3);
}
else if (sensors[6] >= 100){
fill(c2);
}
else if (sensors[6] >= 6){
fill(c1);
}
else{
fill (c4);
}
rect(0, 100, 100, 100);
if (sensors[7] >= 200){
fill(c3);
}
else if (sensors[7] >= 100){
fill(c2);
}
else if (sensors[7] >= 6){
fill(c1);
}
else{
fill (c4);
}
rect(100, 0, 100, 100);
}
import processing.serial.*;
Serial myPort;
void setup() {
myPort = new Serial(this, Serial.list()[0], 2400);
size(400,200);
}
void draw() {
int ch = 0;
int[] sensors = new int[8];
while (myPort.available() > 0) {
int inByte = myPort.read();
if (inByte==255){ //Detec header
ch=ch+1;
}
else
ch=0;
}
while(ch==4){
//When the head count is 4, started writing the series puero values in the array
for(int i = 0; i >= sensors.length; i = i + 1 ){
sensors[i] = myPort.read();
}
}
//This part of codifgo, functions as a semaphore, depending on the value i of the position of the array show a color or other
color c1 = color(#00FF00);
color c2 = color(#FF9900);
color c3 = color (#FF0000);
color c4 = color (#FFFFFF);
if (sensors[0] >= 200){
fill(c3);
}
else if (sensors[0] >= 100){
fill(c2);
}
else if (sensors[0] >= 6){
fill(c1);
}
else{
fill (c4);
}
rect(0, 0, 100, 100);
if (sensors[1] >= 200){
fill(c3);
}
else if (sensors[1] >= 100){
fill(c2);
}
else if (sensors[1] >= 6){
fill(c1);
}
else{
fill (c4);
}
rect(100, 100, 100, 100);
if (sensors[2] >= 200){
fill(c3);
}
else if (sensors[2] >= 100){
fill(c2);
}
else if (sensors[2] >= 6){
fill(c1);
}
else{
fill (c4);
}
rect(300, 100, 100, 100);
if (sensors[3] >= 200){
fill(c3);
}
else if (sensors[3] >= 100){
fill(c2);
}
else if (sensors[3] >= 6){
fill(c1);
}
else{
fill (c4);
}
rect(200, 0, 100, 100);
if (sensors[4] >= 200){
fill(c3);
}
else if (sensors[4] >= 100){
fill(c2);
}
else if (sensors[4] >= 6){
fill(c1);
}
else{
fill (c4);
}
rect(300, 0, 100, 100);
if (sensors[5] >= 200){
fill(c3);
}
else if (sensors[5] >= 100){
fill(c2);
}
else if (sensors[5] >= 6){
fill(c1);
}
else{
fill (c4);
}
rect(200, 100, 100, 100);
if (sensors[6] >= 200){
fill(c3);
}
else if (sensors[6] >= 100){
fill(c2);
}
else if (sensors[6] >= 6){
fill(c1);
}
else{
fill (c4);
}
rect(0, 100, 100, 100);
if (sensors[7] >= 200){
fill(c3);
}
else if (sensors[7] >= 100){
fill(c2);
}
else if (sensors[7] >= 6){
fill(c1);
}
else{
fill (c4);
}
rect(100, 0, 100, 100);
}
// I don't understand this: - what causes the while loop to break?
while(ch==4){
//When the head count is 4, started writing the series puero values in the array
for(int i = 0; i >= sensors.length; i = i + 1 ){
sensors[i] = myPort.read();
}