ihacklab
Published © GPL3+

Home Intruders Alert Scanner

This replicated GUI Radar project, inspired by Dejan Nedelkovski, was articulated to fit its display into a standard computer monitor.

AdvancedShowcase (no instructions)1,649
Home Intruders Alert Scanner

Things used in this project

Hardware components

SG90 Micro-servo motor
SG90 Micro-servo motor
×4
Ultrasonic Sensor - HC-SR04 (Generic)
Ultrasonic Sensor - HC-SR04 (Generic)
×1
Arduino UNO
Arduino UNO
×1
Jumper wires (generic)
Jumper wires (generic)
×1
9V 1A Switching Wall Power Supply
9V 1A Switching Wall Power Supply
×1

Hand tools and fabrication machines

Extraction Tool, 6 Piece Screw Extractor & Screwdriver Set
Extraction Tool, 6 Piece Screw Extractor & Screwdriver Set

Story

Read more

Schematics

Block Diagram

Code

iHacklab Radar Graphix Interface Display

Arduino
The code of this Radio Detecting and Ranging project was modified to fit the display into a standard computer monitor using Graphics Interface provided by Processsing 3.0. The example code is public domain
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

Credits

ihacklab
12 projects • 22 followers

Comments