Skip to content

mooshifrew/Ultrasound-Scanner

Repository files navigation

Ultrasound-Scanner

The goal of this project was to create a system that could detect 3 hand gestures in 2-dimensions, as well as take 3D scans of basic geometry.

Description

This system utilizes various mechanical and hardware components, including 3D printed and steel parts, motors, buttons, a microcontroller, motor shield, and ultrasonic sensors. The software was implemented using Arduino, which controls the components and receives data from the sensors, and Python, which processes the data and outputs visualizations. The results of the testing show that the system was able to produce differentiable images of 3 hand signs in the 2D scanning mode, and a successful scanning of cylindrical and conical objects in the 3D scanning mode.

System fully assembled:

system

2D-scan sample results:

2D-signs 2D-scan

3D-scanning was tested on a cylinder (water bottle) and cone (clay):

cylinder3D cone3D

System Overview

The scanning mechanism edited in Solidworks and then converted to STL and 3D-printed:

3D schematic

Code was written in Python and Arduino. The code at a high level runs as follows: Scanner Code

Packages/libraries used were:

Hardware components:

  • 12V Unipolar NEMA 17 Stepper (x2)
  • Arduino Uno
  • Adafruit Motorshield v2.3
  • Button (x2)
  • Resistor (4.7kOhm) (x2)
  • HC-SR04 Ultrasonic Sensor (x5)
  • Wire
  • Breadboard
  • Power-Supply

Hardware components were arranged as follows: circuit

Usage

To use this project:

  1. Upload and run Arduino_control_code.ino
  2. Run scan_processing.py
  3. Connect to correct port when prompted
  4. Press button to begin scan
    • Green for 2D scan
    • Red for 3D scan

Credits

Contributors on this project were:

3D parts were adapted from the design by SuperMakeSomething