A 3D replica of the 1934 Bathysphere with presentation plaque.
Overview & Background
On August 15, 1934, William Beebe and Otis Barton set the world diving record by traveling to a depth of 3,028 feet below the surface of the ocean. Assisted by Gloria Hollister and Jocelyn Crane, Beebe and Barton made this journey inside a spherical vessel called the Bathysphere.
In this lesson, you will use the Sphero robotic ball, the OrbBasic programming language, and a 3D-printed replica of the Bathysphere to simulate this world record event.
Time to complete this lesson: 1.5 to 2.5 hours (exclusive of printing the 3D Bathysphere replica).
Each student explorer will be given a copy of the 3D Bathysphere information plaque upon completion of this lesson. This plaque can then be used as a "talking point" for discussing this lesson with the explorer's family.
How Deep is That?
The voyage of the Bathysphere journeyed over one half mile deep. Another deep sea event that you might remember was twice as deep as the Bathysphere dive.
On 20 April 2010, the Transocean Deepwater Horizon oil rig exploded in Mississippi Canyon 252 and began spewing roughly 210,000 gallons of crude oil into the ocean from its broken wellhead. The break in the wellhead was located over 5,000 feet below the ocean surface. Robots were used for controlling this leak in a water temperature of 34F and an outside pressure of over 2,400 pounds per square inch (PSI).
Students must demonstrate math skills for creating a rate of descent versus the depth attained by the robot. Guided by this mathematical knowledge they will write a computer program for driving the robot, determine the speed of the robot, and design methods for enabling the robot to "communicate" with them.
Students will also develop a strong correlation between real world measurements and applications and designing the programming logic for guiding the robot to a specific depth.
This lesson plan is structured for 7th and 8th grade students reinforcing fundamental concepts in mathematics, physics, computer science, history, and construction. Small groups of 2-3 students will be individually assigned primary elements for meeting these fundamental concepts. Collaboration between each of these student elements is vital for the successful completion of this lesson.
This lesson addresses several cornerstones in a science, technology, engineering, and mathematics (STEM) curriculum, as well as basic Core knowledge subjects:
Mathematics - determine the equation solving and geometry that will be used for successfully completing this lesson.
Physics - derive accurate speed and distance measurements based on the mathematics and technology applied to this lesson.
Computer Science - convert the mathematics and physics of this lesson into a viable computer program using variables, conditional statements, and program flow elements to interact with robotic sensors.
History - examine the lives and lifestyles of the four main participants in the voyage of the Bathysphere; meet the faces behind the record. NOTE: all student explorers should participate on this activity.
Technology - or, construction, includes the building, trimming, and testing of the 3D-printed Bathysphere replica.
At the conclusion of this lesson, students will be able to write a short OrbBasic program, dive the Bathysphere replica to a specific depth, and record the distance of this depth. They will also be able to collaborate with each other for meeting these goals by sharing information and examining different paths to the solution.
First Let's Take a Look Into OrbBasic
When you want to learn something new, there’s no better place to start than with a "basic" introduction. This was true in the mid-1960s when John G. Kemeny and Thomas E. Kurtz created the Beginner’s All-Purpose Symbolic Instruction Code (BASIC) at Dartmouth College. Contrary to what the BASIC acronym connotes, this is a powerful, general-purpose, high-level programming language. Roll BASIC up into a ball and you have OrbBasic. Just like its more conventional PC-based siblings, OrbBasic uses line numbers, program statements, variables, expressions, and a program interpreter. Executing at over 3000 lines per second, OrbBasic has the power to get Sphero moving.
A typical OrbBasic program line looks like this:
[line number] [one space] [statement] [or, expression] [or, comment]
Inside this rather trivial generic program line example there are several syntax requirements and system constraints:
Some commands and statements are case sensitive (e.g., Vbatt and LEDC).
OrbBasic uses integers not decimals.
Negative integers must be declared as expressions (e.g., not like: X = -1; like: X = 0 - 1).
The RAM program size is 1K bytes and the Flash program size is 4K.
The maximum level for nesting expressions (e.g., gosub) is 4 levels deep.
- The maximum print string length is 32 bytes.
Table 1 is a quick reference "cheat" sheet for figuring out OrbBasic statements, commands, variables, and operators.
Before you begin programming Sphero, follow these simple steps to setup your robot for receiving programming:
- Download and install the OrbBasic app on your Bluetooth-enabled smart device.
- Pair Sphero with OrbBasic and press the Create button (e.g., the circle with a plus symbol in it).
- Enter a program name and press the New Program button.
- Tap anywhere inside the blank screen and type your statements, commands, and expressions; don’t forget to press the Return key at the end of each program line.
- When you are finished running your program press the Done button.
Here's a sample OrbBasic program for moving Sphero at 4-inches/second:
20 goroll 0,7,1
30 if timerA=10000 then print "10 seconds" else goto 20
This sample program can be used for detecting collisions with Sphero's sensor called an accelerometer (e.g., accelone):
10 goroll 0,100,1
20 if accelone>5000 then LEDC 6 else goto 10
Team Mathematics -
Determine an equation for measuring the depth traveled by your Bathysphere.
What factors could cause this measurement to become inaccurate?
- What precautions can you take for ensuring the validity of your measurements?
Team Physics -
Study the Sphero sensors. How can you use them for measuring the depth traveled by your Bathysphere?
How will you communicate with the robot?
Is Bluetooth connectivity effective underwater?
How will you know when your Bathysphere hits the bottom?
- How much fishing line should be attached to your Bathysphere?
Team Computer Science -
Convert the mathematics and physics teams products into a useable computer program written in OrbBasic.
How will you know if your program is running under water?
- Sphero can only hold one program at a time. Make sure that your program has adequate space for implementing last minute changes to the code.
Team Technology -
Assemble the Bathysphere. Glue the skid to the slots in the bottom, gently install Sphero inside the Bathysphere, and bolt the top onto this assembly with the fasteners.
If your Bathysphere will be used in water, how much weight must be attached to the skid for causing the vessel to sink? Make sure that your Bathysphere remains level as it descends.
Securely tie the fishing line to the connector on the top of your Bathysphere. Is your knot strong enough to lift your Bathysphere?
- Attach the line to the fishing rod and reel.
Material needed for completing this lesson:
- 3D printed files for the Bathysphere replica
- Sphero, SPRK, or SPRK+ robot
- OrbBasic App (Android and/or iOS version)
- Large spool of break-resistant fishing line or filament (e.g., 20 - 30 feet)
- (4) M4 screw bolt fasteners with matching nuts (NOTE: 6-32 fasteners can also be used)
- An assortment of fishing tackle weights or other water-resistant weights
- A fishing rod and reel
- Tape measure
- Stop watch
- Various water-resistant pens or markers
- Plastic cement or glue
- A deep pool of water or a deep open stairwell
Handouts & Assets
The attached PDF contains a student worksheet, grading rubric, and OrbBasic Command "Cheat Sheet."