Project tutorial

Arduino Sonar © MIT

Use HC-SR04 on Arduino with Processing

  • 61,007 views
  • 30 comments
  • 108 respects

Components and supplies

About this project

Radar Screen Visualisation for HC-SR04 

Arduino Code:  

Sends sensor readings for every degree moved by the servo values sent to serial port to be picked up by Processing 

https://github.com/faweiz/My-Arduino/blob/master/arduino_radar/Arduino_radar_HC_SR04/Arduino/Arduino_radar_server_arduino/Arduino_radar_server_arduino.ino

Processing Code: 

Maps out an area of what the HC-SR04 sees from a top down view. Takes and displays 2 readings, one left to right and one right to left. Displays an average of the 2 readings

https://github.com/faweiz/My-Arduino/blob/master/arduino_radar/Arduino_radar_HC_SR04/Processing-code/Arduino_radar_client_processing/Arduino_radar_client_processing.pde

Any questions are welcome!

Github: https://github.com/faweiz

Portfolium: https://portfolium.com/faweiz

Linkedin: https://www.linkedin.com/in/faweiz

Code

Untitled fileArduino
/*
https://www.hackster.io/faweiz/arduino-radar
Radar Screen Visualisation for HC-SR04
Sends sensor readings for every degree moved by the servo
values sent to serial port to be picked up by Processing
*/

#include <NewPing.h>
#include <Servo.h> 
 
#define TRIGGER_PIN  2   // Arduino pin 2 tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN     3   // Arduino pin 3 tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 150 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.
#define SERVO_PWM_PIN 9 //set servo to Arduino's pin 9
 
// means -angle .. angle
#define ANGLE_BOUNDS 80
#define ANGLE_STEP 1
 
int angle = 0;
 
// direction of servo movement 
// -1 = back, 1 = forward 
int dir = 1;
 
Servo myservo;
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); 
 
void setup() {
  Serial.begin(9600); // initialize the serial port:
  myservo.attach(SERVO_PWM_PIN); //set servo to Arduino's pin 9
}
 
void loop() {
 
  delay(50);
  // we must renormalize to positive values, because angle is from -ANGLE_BOUNDS .. ANGLE_BOUNDS
  // and servo value must be positive
  myservo.write(angle + ANGLE_BOUNDS);
  
  // read distance from sensor and send to serial
  getDistanceAndSend2Serial(angle);
  
  // calculate angle 
  if (angle >= ANGLE_BOUNDS || angle <= -ANGLE_BOUNDS) {
    dir = -dir;
  }
  angle += (dir * ANGLE_STEP);  
}
 
int getDistanceAndSend2Serial(int angle) {
  int cm = sonar.ping_cm();
  Serial.print(angle, DEC);
  Serial.print(",");
  Serial.println(cm, DEC);
  
}
Arduino_radar_server_arduino.ino
Arduino_radar_client_processing.pde

Schematics

HC_SR04 with arduino sketch
Hc sr04%20sketch

Comments

Similar projects you might like

Smart Access [Home/Office Automation]

Project in progress by Ajmal Muhammad P

  • 1,662 views
  • 5 comments
  • 9 respects

Internal Timers of Arduino

Project tutorial by Marcazzan_M

  • 5,154 views
  • 10 comments
  • 35 respects

SPCPM (Solar Powered City Pollution Monitor)

Project tutorial by 5 developers

  • 3,769 views
  • 0 comments
  • 18 respects

Mini CNC Laser Wood Engraver and Laser Paper Cutter

Project tutorial by Maggie Shah

  • 4,673 views
  • 0 comments
  • 29 respects

Smart Talking Humanoid Robot Just with Arduino!

Project tutorial by ashraf_minhaj

  • 800 views
  • 2 comments
  • 9 respects

Sigfox kWh Meter

Project tutorial by jassak

  • 4,872 views
  • 3 comments
  • 12 respects
Add projectSign up / Login