Arduino Submarine Safety System
Arduino · Tinkercad · Glenview, Illinois
what I did
I designed and coded a submarine safety-system simulation in Tinkercad, using distance sensing, LEDs, and motor responses.
what I learned
I learned to check what a sensor actually measures before building around it. The tilt switch didn’t provide the angle values I expected.
My original project notebook5 images · 1 video
My original notes, sketches, code, and reflections, in the order I documented them. Original write-up ↗
Select any image to see the full-size original.
Problem:
Submarines don’t always have autonomous systems that can prevent the submersible from hitting the bottom of the sea floor. Most submarines also don’t have the ability to adjust the rotational position of itself.
Generate Concepts:
- Use an ultrasonic sensor to detect the distance the seabed is from the bottom of a submersible
- Use a DC motor that fires up and acts as an emergency thrust that would be able to propel the submersible up if the ultrasonic sensor detects the seabed
- Use 5 LEDs to display if the submersible is at a safe distance from the ground
- Use a tilt sensor to detect the angle at which a submersible is at
- Use a servo motor to then adjust to the angle the tilt motor says to even out the ship and prevent it from capsizing
Develop a Solution:
My solution will use an Ultrasonic sensor and tilt sensor to detect two variables, depth and rotation. These two variables will be monitored and prevented from becoming dangerous by 5 LEDs, a servo motor, and a DC motor. The depth of the submersible will be displayed by five LEDS. 2 green, 1 yellow, 1 orange, and 1 red. These different LEDs all represent different levels of depth with green meaning safe distance <250 in, and red meaning alarmingly unsafe distance <50 in. The tilt sensor will detect the rotation at which the submersible is at. If the value of a tilt is more than 90 degrees the servo motor will activate and re-adjust to a safe rotation.
Sketch:

Construct and Test a Prototype:

Coding:



Evaluate Solution:
Now that I look back and reflect on my project I realize I should have made the led’s light up separately for each distance, but it still does the job. My main critique of the project is the actual ineffectiveness of the tilt sensor. When I first started making this I thought the tilt sensor could be set to a range of values like a potentiometer or ultrasonic distance sensor, and I only learned that it wasn’t until I had finished designing the circuit and the majority of the code. But for a tinkercad project it kinda does what its supposed to do. Below is a video of me explaining the project and a full demonstration of it: