Summary of Arduino Controlled Bell Tower or Carillon
This project describes an automated musical bell tower controlled by an Arduino microcontroller. It features eight solenoids striking a chromatic octave of handbells, capable of playing pre-programmed melodies or receiving commands from a PC. The system includes a wooden frame, custom electronics using a Darlington driver board, and a potentiometer for tempo control, allowing the tower to function independently or as a computer-peripheral instrument.
Parts used in the Arduino Controlled Bell Tower:
- 1 set of chromatic handbells (C to C)
- Wood panel & brackets
- 8 Solenoids
- Arduino microcontroller
- Proto/Perf board & misc components
- Darlington driver board (based on ULN2803 chip)
- PVA glue
- Potentiometer
- Two LEDs
This is a set of musical bells which are driven by solenoids and controlled by an Arduino microcontroller.
There are 8 bells covering one octave.
The bells are controllable from a PC, or the tower can stand alone and play pre-programmed melodies.
Check out the final page for video of it in action.
Step 1: Parts
The following parts were used:
1 set of chromatic handbells. I got these from my local Aldi for $20. They span the range from C to C. (I.e. c,d,e,f,g,A,B,C).
Wood panel & brackets to hold the bells and solenoids in place. $10.
8 Solenoids to strike the bells. I had these laying around in my junk box. I got them from a typewriter repairman who was throwing them away. You can probably find similar on Ebay.
Arudino microcontroller. ~$45. I got mine from SparkFun electronics.
Proto/Perf board & misc components to make my custom ‘shield’ for the arduino. $10.
Darlington driver board. I used one I had laying around, but I believe they’re not sold separately. Should be possible to make it using the ULN2803 chip for a couple of dollars.
Step 2: Woodworking
Surprisingly enough this step took the longest. The coding and wiring took less time than for the glue to dry.
The frame for this was pretty simple. Just a piece of plywood to hold all the bells, plus some pine brackets for the solenoids. Everything was glued together with PVA glue.
In order to make the solenoid brackets more repeatably, I made a stencil in MS Visio and then glued it to the wood. This helped a lot to have all the solenoids at a constant distance from the bell.
If you do this I can’t stress enough to measure carefully for the striker locations. The bells sound quite different depending on where you hit them and the ‘throw’ of the solenoid.
Step 3: Electronics & Wiring
Driver side:
I was lucky enough to have a darlington driver laying around, which simplified the design a lot. The darlington is a power transistor that you can use to drive heavier loads than the tiny microcontroller pins would normally support. The board I used is based on the ULN2803 chip, which is quite common and cheap.
Please note: Solenoids are (usually) not designed to be driven constantly! They may melt if you do! See the software section for more info.
Arduino side:
This was just a matter of finding 8 IO pins from the arduino to drive the Darlington inputs.
Because I wanted to send and receive serial data, I couldn’t use pins 0 & 1, so I ended up using digitals 2,3,4&5 on one side, and using four of the analog input pins on the other side as digital outputs. I also added a potentiometer hooked up to analog input #5, which is used to control the tempo. Two LEDs are used for visual feedback of the driver.
Pins 8-13 were of no use because of the funky arduino pin spacing (grr…)
For more detail: Arduino Controlled Bell Tower or Carillon
- What range do the bells cover?
The 8 bells span one octave from C to C. - Can the tower play melodies without a PC?
Yes, the tower can stand alone and play pre-programmed melodies. - How is the tempo controlled?
A potentiometer hooked up to analog input #5 controls the tempo. - Why were pins 0 and 1 not used on the Arduino?
Pins 0 and 1 were reserved because serial data transmission requires them. - What happens if solenoids are driven constantly?
Solenoids may melt if they are designed to be driven constantly. - What chip is the Darlington driver board based on?
The board is based on the common and cheap ULN2803 chip. - Which Arduino pins were used for the driver inputs?
Digitals 2, 3, 4, and 5 were used along with four analog input pins as digital outputs. - How were the solenoid brackets made repeatable?
A stencil made in MS Visio was glued to the wood to ensure constant distance.