import processing.serial.*;
import java.awt.event.KeyEvent;
import java.io.IOException;
Serial myPort;
String angle="";
String distance="";
String data="";
String noObject;
float pixsDistance;
int iAngle, iDistance;
int index1=0;
int index2=0;
void setup() {
size (1000, 500);
smooth();
myPort = new Serial(this,"COM4", 9600);
myPort.bufferUntil('.');
}
void draw() {
fill(98,245,31);
noStroke();
fill(0,4);
rect(0, 0, width, 1010);
fill(98,245,31); // green
drawRadar();
drawLine();
drawObject();
drawText();
}
void serialEvent (Serial myPort) {
data = myPort.readStringUntil('.');
data = data.substring(0,data.length()-1);
index1 = data.indexOf(",");
angle= data.substring(0, index1);
distance= data.substring(index1+1, data.length());
iAngle = int(angle);
iDistance = int(distance);
}
void drawRadar() {
pushMatrix();
translate(500,480);
noFill();
strokeWeight(2);
stroke(98,245,31);
arc(0,0,1000,1000,PI,TWO_PI);
arc(0,0,800,800,PI,TWO_PI);
arc(0,0,600,600,PI,TWO_PI);
arc(0,0,400,400,PI,TWO_PI);
arc(0,0,200,200,PI,TWO_PI);
line(-500,0,500,0);
line(0,0,-500*cos(radians(30)),-500*sin(radians(30)));
line(0,0,-500*cos(radians(60)),-500*sin(radians(60)));
line(0,0,-500*cos(radians(90)),-500*sin(radians(90)));
line(0,0,-500*cos(radians(120)),-500*sin(radians(120)));
line(0,0,-500*cos(radians(150)),-500*sin(radians(150)));
line(-500*cos(radians(30)),0,500,0);
popMatrix();
}
void drawObject() {
pushMatrix();
translate(500,480);
strokeWeight(9);
stroke(255,10,10); // red
pixsDistance = iDistance*22.5;
if(iDistance<30){
line(pixsDistance*cos(radians(iAngle)),-pixsDistance*sin(radians(iAngle)),500*cos(radians(iAngle)),-500*sin(radians(iAngle)));
}
popMatrix();
}
void drawLine() {
pushMatrix();
strokeWeight(9);
stroke(30,250,60);
translate(500,480);
line(0,0,500*cos(radians(iAngle)),-500*sin(radians(iAngle)));
popMatrix();
}
void drawText() {
pushMatrix();
textSize(14);
fill(98,245,60);
translate(500,490);
text("90°",0,5);
text("www.iHackLab.blogspot.com 0°",250,5);
text("180°",-500,5);
popMatrix();
}
Reprogrammed by: J.B. Wylzan
Website:http://myarduinoscratchbook.blogspot.com
Comments