Software apps and online services
Hand tools and fabrication machines
We have developed a stationary active sonar mapper that detects unknown environments using ultrasonic wave propagation without human assistance. While our device is running, two sensors repeatedly gather ultrasonic data by emitting pulses and listening for echoes across a 360˚ range. The data is gathered by the Arduino Nano R3, which converts the data into points on a cartesian plane. These data points are displayed on an OLED Display for ease of visualization. To protect anonymity of our *redacted* clients and their special requests, we have listed only a few of the applications of our technology:
- Mapping out areas that have been impacted by natural disasters (earthquakes, tsunamis, flood, hurricane). Buildings that have sustained structural damage and are too dangerous for humans to enter due to high risk of building collapse can be accessed by our device.
- Entering closed spaces with known hazards that are lethal for humans (low level radiation, toxic fumes, chemical leaks, etc)
- Mapping out areas that are too dark to see for humans with their incredibly limited eyes
- Ensure the Sonar Mapper Remains in an upright postion through tilt sensor and LED output
Arduino Nano R3
Monochrome 128x32 I2C OLED graphic display
Ultrasonic Distance Sensor - HC - SR04
Hitec HS-5055MG 9g Digital Metal Gear Micro Servo
SPST Tilt Sensor
Below is a step by step process to build the sonar mapping device.
1. 3D Printed Parts
Start by Downloading each part from the attachments section of the project and then slice the print using a slicer program (Cura 4.3). Then print it with an infill of 20% with no supports for any of the pieces. There will be three pieces that need to be printed and they are pictured below.
2. Wiring The Electronics
Wiring the electronics is an essential part of this project . The Arduino will be powered with a 9V battery and you will be wiring a Monochrome 128x32 I2C OLED graphic display, and the HC - SR04 ultrasonic sensor to the arduino nano board. For the ultrasonic sensor you will solder the VCC, GRD, TRIG, ECHO to the 5V, GRD, Digital PWM, Digital PWM, . For the OLED display you will plug GRD to GRD, VIN to 5V, SDA to I2C data, RST to digital pin, SCL to I2C clock. This is shown by schematic below.
The Wiring for the Tilt Sensor is its own section because you have to add some resistors to achieve maximum consistency with the device. the Tilt sensor you will solder the PWR and GRD to the PWR and GRD of the arduino. You will wire the two resistors in parallel in order to achieve maximum consistency from the tilt sensor.
3. Assemble the Device
Ensure that you have all the pieces necessary. Mount the Sonar Sensors to the 3D printed Sonar Mounts. Mount the Sonar to Servo mounts onto the Servo. The OLED Screen will be separate from the main device.
4. Uploading the Code
To upload the code, install the servo and math library and select Arduino Nano from the tools menu and choose Upload. Plug in the Micro controller to the computer using a Micro USB to USB-A Cable.
This code initializes a list containing information for the 360 polar coordinates, updates all of the coordinates when the servo rotates 180 degrees by utilizing two sensors facing opposite directions, and displays the polar coordinates on the OLED screen. It keeps rotating back and forth and maps the coordinates onto the screen after each change in direction.
5. Using the Device
To use the device, turn it on and place it in the area you would like to map. The servo will rotate automatically and start mapping the area onto the OLED screen. Try it out in different areas or add objects to the vicinity to see how the map changes on the OLED display.