Ultra Realistic Surfing Simulator

by guillaume_c in Circuits > Arduino

22777 Views, 49 Favorites, 0 Comments

Ultra Realistic Surfing Simulator

pic1.jpg
board2.jpg

Do you feel a sudden urge of going surfing, but there is no large body of water nearby? Are you scared of deep and turbulent waters? Or are you just to lazy to go outside? Then the Ultra Realistic Surfing Simulator is the perfect solution for you! It allows for a close to reality surfing experience from any place imaginable. As a two part system, motion is sensed by a board and translated into wave motions of an ocean diorama.

Project by:

Lena Strobel, Gabriel Rihaczek, Guillaume Caussarieu

The project was conducted as part of the Computational Design and Digital fabrication seminar in the ITECH masters program.

Materials

To build a Ultra Realistic Surfing Simulator, you will need the following supplies :

Electronics:

  • 2x Arduino Board (Arduino Uno)
  • 2x Batteries 9V
  • 1x Servomotor, e.g. ServoMotox Reely Standard-Servo S-0090 (88/98N.cm)
  • 1x 3 axis digital acceleration sensor module - MMA8452
  • 2x NRF24L01 Transceiver Module
  • 6/7.5V Power Supply, e.g. Voltcraft USPS-1000
  • 2x 5.1kΩ resistor
  • 1x Breadboard
  • Jumper wires

Hardware:

  • 2x Plexiglas sheets 250x500x3mm, e.g. Evonik
  • 1x Plexiglas sheets 250x500x2mm, e.g. Evonik
  • 20mm Plywood board (91*21cm + 2x 91*11cm)
  • 4x M3x15mm Bolts
  • 8x M3 Nuts
  • 1x Ø8x20mm Aluminium sleeve (1mm thick)
  • 1x M6x50mm Bolt + 2xM6 Nuts
  • Ø3x50mm threaded rod
  • 2x Ø8/4mm washers
  • Ø5x50mm wood screws

  • Blue Water colorant
  • 1l of transparent baby oil
  • 1x Tube Acrifix 1R 0192 (or other clear and waterproof acrylic glue)
  • Transparent silicon

Tools:

  • Plyers, Screwdriver, Power Drill, Laser Cutter, Wood band saw or CNC mill, 60ml syringe

Assembly of Plywood Surfboard

board1.jpg
surfboard version2.jpg

For cutting out the surfboard we used a band saw as we didn't have access to a cnc mill. We traced the outline of the board onto the wood by using a paper stencil. The surfboard can be assembled by glueing and/ or screwing it together.

Downloads

Laser Cutting Diorama

Laser cut file.jpg

Use the following dxf file to cut the parts with a laser cutting router.

One part of the file has to be cut from 3mm plexiglas, the other one from 2mm plexiglas.

Use a good grade plexiglas. Experience has shown that poor quality plexiglas tends to get blurry when it gets in contact with Acrylic glue.

Downloads

Assembly of Diorama

box assembly.jpg
plexiglas glued.jpg

To assemble the diorama :

  • Start with the bottom plate and then add the 2 short sides. Wait 5min for the glue to start curing.
  • Add the 2 long sides and then wait again for at least 15min for the glue to cure.
  • Seal all edges from the inside. Go slowly, do one edge at the time and let the glue cure (~15min for each edge. This will prevent the glue to slide on your plexiglas as you seal the other edges.)
  • Place the top plate on the table and pour glue in regions where the box is going to be in contact (As you are not going to be able to seal it from the inside afterwards, see photo)
  • Let the whole box cure at least 30min in direct light (for UV curing glue)
  • Fill the box carefully with water only, using the syringe. Check for any leaks. If it is leaking, empty the box, and add more glue or silicon on the edges. Redo this step until you achieve a proper waterproofing (Even if it takes time, it's much easier to clean water than baby oil later on... Trust us!)

Some interesting tips can also be found here :
http://www.waynesthisandthat.com/How%20To%20Build%...

Filling Diorama With Water and Oil

box filling.jpg

Now that your box is waterproof (is it really?) :

  • Mix your water with the blue water colorant.
  • Fill around 1/3 of the box with coloured water using the syringe.
  • Fill the box to the very top with oil
  • Wait for any air bubbles to disappear.
  • When all bubbles are gone, make sure that the box is perfectly filled
  • Clean the outer box with liquid dish cleaner
  • Seal the two holes with transparent silicon

Assembly of Diorama Base and Surfboard

Ultra realistic surfing simulator 1
diorama version2.jpg
base1.jpg
servo1.jpg
pic2.jpg
base2.jpg
board2.jpg

We designed a plug-in board underneath the wave box, in order to elevate the system. Supports can be plugged into the base plate in x and y direction to carry the wave box and the motor. The base can be assembled according to the pictures from the previosly cut plexiglass, gears, bolts, washers, nuts, aluminium sleeve and the servomotor. Make sure to stagger the gears and transfer the load of the water-filled box not directly on the servo-motor. The wavebox is not firmly attached to the base. It lies on an aluminium bolt (the tilt axis of the whole construction) and is only held in place by narrow plexi slices. The tilt axis of the construction is arranged asymmetrically in order to guide its movement and to prevent the box from falling down.

Wiring

2019-05-06 17_27_25-190502_Surfing in Stuttgart_Final presentation - Google Slides.png
board3.jpg
board4.jpg
board5.jpg
control1.jpg
IMG_20190503_193805.jpg
IMG_20190503_193856.jpg

The wiring plan is shown in the image. Two circuits have to be created, one transmitter circuit for the board and one receiver circuit for the diorama.

The setup can work with a single arduino board by using a wire instead of a radio transmitter as a connection between the board and the diorama.

Arduino Codes

receiver code.jpg
transmitter code.jpg

Use the attached arduino codes. Be aware that there are two codes, one for each arduino board. The transmitter code reads the board angle, converts the angle to an usable value and sends it to the receiver. The reveiver code receives those values and controls the servo motor based on them. The codes also contain further comments. Multiple libraries have to be installed, links are specified in the code.

Once the codes are uploaded on the arduino boards, follow next the step to make the final settings.

Adjusting the Transmitter Code

2019-05-06 14_01_28-190502_Arduino_Accelerometer_degrees_transmitter _ Arduino 1.8.9.png
2019-05-06 14_28_16-board (84 KB) - Rhinoceros 6 Éducation - [Front].png
This step is only needed when the board shape is different to the proposed one.
  • You now want to adjust the settings of the code to your particular board and construction.
  • Once your arduino transmitter is firmly fixed to the surfing board, plug the arduino back to the computer.
  • You want the arduino to read 90° when stable at the horizontal. If the value read using the function Serial.Print(angle) is not 90°, adjust the code by adding or subtracting few degrees to have a nice and round 90°
  • Once this is achieved, rotate your board on one side. You can read the angle and deduct the maximum angle your board can rotate. Use this value to adjust the code to your particular need
  • Repeat this step on the other direction
  • Upload your code back to the transmitting arduino board.

Enjoy the Surfing!

Ultra realistic surfing simulator 4

Sidenote

Ultra realistic surfing simulator 3

As being an independent machine no human surfer is required! The system can also form a feedback loop where it triggers itself to increase oscillation.