Introduction: Simple Distributed Scheduled Bell System
I work in an educational program that is set outside the normal high school campus. Since we're in essentially an office building without the typical amenities of a school, we don't have bells to warn for classes ending or beginning. The students we teach are not mainstreamed, but we feel that adding the typical school bells might aid in the path to reintegration, getting them used to the timed schedule reminders, but also to keep the three separate classes in sync better, instead of having some kids get out earlier and barging into their next class, interrupting everything (a frequent occurrence).
An apology first. The pictures are not very good. They are mostly quite blurry. I took them with a Photosmart E327, one of the worst digicams I've ever used. It's what the school IT people picked out because I was too busy to put decent effort in picking a better low price option. I also kept forgetting my coolpix 995 at home. There's really no details that are required though, so the pictures are more for visual appeal and reference... oh, and some proof of the cool cannibalization I did for the project.
Not having to spend any money was an important part as well. Having the luxury of an older unused laptop made a significant difference and a warehouse of old computers to pillage helped too.
Step 1: Tools
Screw drivers (flat and philips head, better to have both when you don't know for sure than to only have one and need the other)
Wire stripper or wire cutter, pliers and a steady hand.
Sharp hobby blade
For the most part, I used my mini multi-tool.
Step 2: Computer and Software Needs
First thing needed for this is a computer that can be left on all the time, or at least be restarted every day. We'll be leaving ours on, unless there's a power outage. I have a Dell Latitude C600 that sits in its dock because the battery is pretty much lifeless. I have had Fedora 6 installed on this for a while and was using it as a basic surfing machine and playing with some 2D, 3D and video editing apps in class, until some unknown student got the bright idea of hitting the screen with something and now about 1/3 of the LCD is useless/cracked. For my purposes, just being able to get to a command prompt and run vncserver. If your machine is easier to get to or otherwise happy as is, don't worry about VNC/remote access.
Obviously the computer needs to have audio out and appropriate drivers installed. That should be covered just fine on OS install unless you have really weird hardware.
Important: TIME!! Since the clocks we have might not all be synced properly at any given point, the "central bell system" should have the appropriate time. Admin access to setting the clock allowed me to use NTP to get the appropriate time from time servers elsewhere. The default domains worked just fine.
I also created a dyndns address for the machine so that internally I don't have to worry about the IP changing on reboots, and frankly, taking an IP instead of DHCP might attract a little more attention from the IT people than I care for.
Then I needed to find software that could do what I wanted.
- allow playing of custom tones or sounds, ogg, mp3 or wav
- easily allow creating instances that repeat
-- but allow for opting out some instances
- run without user intervention
Pretty basic needs. KA!arm not only covered these needs but presented other possibilities, including text-to-speech, running custom commands, and other features. I didn't even need to install it. It was already in the system, since I had installed KDE and Gnome desktops. Yay!
Step 3: Other Hardware Needs
Now you just need something to export that glorious sound to. How many classes or rooms do you want the sound to get to? That will determine your needs for how many outputs you eventually need.
The good news is that if you have access to older machines that aren't being used, or even a computer graveyard, you have access to all the speakers you'll need. The internal speakers standard in most desktop systems are more than adequate in cases where there isn't a lot of background noise, though amplification could help that too.
I have need of a minimum of four rooms to have the audio in. I pillaged some old machines of their 8ohm internal speakers. Remove some casing and unplug the cable form the motherboard, viola! The speakers I have only have two wires, the ground and signal.
Wiring is also important. A single miniplug (1/8") to RCA pair cable is what I had. Pretty much anything that goes from miniplug would likely work, you just need to be able to differentiate from the ground and signal wires.
A long wire for actually sending the signal around the rooms. A heavier gauge is likely a good idea. I ended up with a left over spool in the refuse section that when I took off some sheathing, it ended up being solid cable. This only effects the ability of easily bending the cable and might limit some splicing options. But free is free and I'm good at making due.
Step 4: Put Stuff Together and Audio Test
You could jump right to setting up the software, but I decided that after playing with it a little, I knew it's what I wanted. Therefore, I realized I should make sure my speaker hack would do the job as I needed. I hacked off the speaker's PC connector and hacked off the male RCA plugs, stripping the wirer, combining the left and right channels and each separate ground into one happy sound family. I twisted the ground wires from the mini plug cable to the ground on the PC speaker, then the signal wires to the signal on the PC speaker. I'd like to believe it requires being properly connected each time, but I got a perfectly fine signal when I switched the ground and signal wires... fluke? I dunno. I'm no audio engineer. I kept them connected correctly just in case though.
I plugged it into the headphone jack on the laptop to make sure that sound got the speaker. It did. This project was a go!
For some of the speakers I didn't need to add length, I just found places on the large cable to splice them into, making sure wires weren't crossing and things were secure. I started by just running from the computer to 2 rooms. The two rooms are next to each other, so I was able to dangle the speakers from the same location and just place the speakers on either side of the wall, on top of the ceiling panels.
The third room was across a hallway. I took apart an ethernet cable and connected the solid colored wires to each other and the white/color wires to each other to create a long wire for the third speaker. I used a long flag pole to "send" the wiring the long distances though the ceiling.
The fourth room is actually the first... where the laptop is. I connected its speaker to the same place I spliced the "mini cable" to the long solid cable.
Step 5: Scheduling the Alarms
Now comes the time to create a schedule of alarms and adding appropriate tones/audibles. I'd explain the software, but after playing with it for only about 10 minutes or so, It was pretty intuitive.
I have highlighted most of the important features in the image.
Step 6: In Closing
We have had the bell system going for two days. I used sounds in /usr/share/sounds becausde it was convenient. They are mostly short, but don't really get attention like we wanted. I'll be cutting up some music into a measure here and there instead likely, perhaps adding a soft voice "Block 3 has ended", etc.
The volume is potentially going to be an issue. I'll be following along with either another instructable or other site for creating a headphone amp, which will likely be plenty enough boost for our needs, if I can make one that can plug into a wall and not rely on a battery, since it'll always be on. So this will be the only place where money is spent, and I'm hoping to be able to do it for $30 or less.
Many of the kids have already internalized the point and appreciate it. That's a good thing. The staff also thinks it's great. Let's hope it doesn't become an annoyance... though it's our option to pull the plug.