As a kid, I was very interested in Morse code. There were a few reasons for this – my father was in the Signal Corps during WW2 and his stories of how Morse was used in the war were fascinating. I had a rather good ear for rhythms, so I learned the codes easily.
In an effort to interest kids in Morse code, I made a 3D printed Moai statue (remember Easter Island) that has a cavity for electronics, a piezo buzzer for sound, two LEDs for eyes, and an Arduino Nano for running the show. This version I am describing uses just the Arduino Serial Monitor for sending strings for the Moai to morse back, but of course, by adding a Bluetooth module and corresponding phone app, or even an ESP8266 WLAN chip and a web app, you can make these go wireless with relative ease.
The things you will need are:
- access to a 3D printer
- the STL file I will supply
- Arduino Nano and its programming environment IDE, plus its USB cable
- a piezo buzzer
- two LEDs
- some jumper wires
- a round file in case the eye sockets are a little tight for your LEDs
Step 1: Making the Moai Using Blender, the Open Source 3D Environment
I have supplied you with the STL file which contains the Moai and a lid (some of the statues actually have a piece of stone on top of them, so this looks rather nice actually with the lid on).
I use and teach Blender at the Haaga-Helia University of Applied Sciences, and if you are interested in 3D, I urge you to have a look at this entirely free, but very powerful software. It is perfect for our needs in modeling things to print, but it has power way beyond 3D printing. If you like, you can have a look at my blog which has many articles on using Blender.
The Moai is a cylinder flattened along the X axis. This gives you the general shape of the rock statue. Narrowing some of the loops makes the neck area look right. Adding a few edge loops gives you access to more faces on the statue, so you can grab the nose area and rotate it along the Y axis. The eyebrow ridge too is merely an edge loop that has been pulled out a little, as are th eears. All in all this is not a hard project to model, it's just important to keep the X Mirror option turned on so everything you do on one side is mirrored on the other side.
The cavity inside the head is made using a Boolean modifier. Booleans give you the option of designing an object of the size and volume you want to carve out of the head, so in this case, I made a cube and inserted it in the head. After that you can use the Boolean Difference modifier, which creates a cavity in the head of the exact size and shape of the cube.
A similar operation with two cylinders lets you drill holes for inserting the LEDs in the head.Booleans are great in that they maintain the manifold property of the printed piece, ie. make sure it is watertight and has no loose edges or faces.
I supplied you with the Blender file too, if you want to have a look at how it is made. Just download that rano raraku 6.blend file and have a peek.
Step 2: Printing the Moai
The STL file I have supplied for your use is print ready. I used PLA filament for mine, but any filament material will do. The suggested settings are
- temperature 210-215 degrees C
- layer height 0.2mm
- speeds of print head around 50 mm/s
- gray PLA (mine is black but it isn't the best color).
With these, you are looking at some 5-6 hours of printing. Post processing is minimal, unless you want to paint this to have aging or moss effects or something like that.
Step 3: The Arduino Construction
The Arduino Nano is just as powerful as the regular Arduino, but it is built on a tiny footprint printed circuit board. As you can see in the picture on the left, it comes with some assembly required. If you do not aim to reuse the Arduino in another project, you can solder the leads directly into the sockets of the board, but I usually solder on the pins that are supplied with the board so as to be able to use the Nano elsewhere too. In the description below, I will assume you solder the pins on the Arduino and use jumper wires.
The buzzer is a standard issue piezo buzzer which is available on Alibaba, Ebay, Amazon and a million other outlets for a dollar each. The LEDs shown already assembled inside the head are standard 5mm white LEDs too.
You need to get hold of jumper wires with female heads. Cut the wires and solder the heads to the LEDs and the buzzer as explained below.
The wiring of the Arduino is really easy.
- Solder female jumper ends to the wires of the so you can just push them on the pins of the Arduino.
- The piezo buzzer is connected with the red wire going to digital pin 11 and the black into the ground on the Arduino.
- The LEDs are soldered together in parallel, ie. the long pins together and the short pins together.
Solder a female jumper end to the of the long pins on the LEDs, and mark it positive.
Push the jumper end to digital pin D2 on the Arduino.
Solder a female jumper end to the of the short pins on the LEDs, and mark it ground.
Push the jumper end to the other GND pin on the Arduino.
Now we can plug in the Arduino to the computer, and go see the code.It's a good idea to test the project before assembling it all inside the head of the Moai.
Step 4: The Arduino Code and Assembly of the Statue
The code is complete and works, so depending on your Arduino skills, you will be able to either use this as is, or edit to suit yourself.
Remember to open a Serial Monitor window from the Tools menu.
The program works thus:
- set up Arduino and enter the main loop
- read an input string from Serial Monitor
- go through it character by character
- find the character in the character array and return the index number of the character
- find the Morse code in the Morse array, using the index number
- loop through the Morse code, playing a short signal and light at every S, and a long one at every L,
- do a 3 x short delay at every character P (space)
- return to top of loop
The code has been commented, so you should be able to read it directly.
Due to Arduino's character set issues, I am not providing for extended characters, only Ascii A-Z and 0-9 are available. Other characters, if entered, will present you with interesting results.
Plug your Arduino in your computer, then upload the code to it using the Arduino IDE. Remember to set the correct board type (Arduino Uno and Nano are different) as well as the proper COM port.
After that, you can just go to the Serial Monitor, type your text to morse in the edit box at the top, then press Enter, and watch & listen to your magical Moai morse your message to you.
As for assembly, just route the wires through the hole in the back of the base of the Moai, drop the piezo buzzer into the cavity, push the LEDs into the eye sockets, and place the lid on the head. That's it!
If you liked this, see much more at www.sabulo.com, where I have dozens of posts on Arduino, 3D, 3D printing, and more.Thanks for reading, and let me know if you make one!