In this TV, we will be creating an electronic keyboard. Each key plays a different note, and it cam be configured by programming.
Bill of Materials
- Keyboard PCB
- Keyboard parts kit
- printed keyboard caps
For this TV, the cad has been done for you, as this is more of an exercise in assembly and programming than in design.
Here is the Schematic used for this build:
The processor is an ATmega328, the same processor as is used on the Arduino Uno. There are 8 button inputs, with pulldown resistors on the signal lines, and a speaker amplifier to drive a small speaker.
This schematic was used to create the following PCB:
The cad file is sent to a manufacturer, and they send back a board that looks like this:
Using this board, we will assemble the circuit. This build makes heavy use of soldering, so check out the soldering wiki page: Soldering_Irons
To start off, let's solder the resistors. There are 4 resistor values used on the board; 10,000 ohms (10K), 1,000 ohms (1K), 100 ohms (100), and 560 ohms (560). The resistor values are coded by colored stripes on the side of the resistor; the following chart describes this code:
To solder the resistors, first bend the legs over, and thread the wires through the holes in the board.
on the back, bend them out a little to hold it in place, and then solder the connections.
Then, clip the leads back to the top of the solder joint
Repeat for all resistors.
Next, let's solder the ceramic capacitors. they are the small 2 leaded yellow parts.
The larger one is a 0.1uF value, and the 2 smaller ones are 18pF.
next, there is 1 electrolytic capacitor to add. The larger one on the right isn't used in this version of the circuit. Electrolytic capacitors are polarized, which means that they need to be connected the right direction. Match the side of the part with the stripe with the white side of the circle on the board.
Next up, we have the crystal. Inside this part there is a small piece of quartz, which resonates at 16 million times a second. This is used to drive the system clock.
Next up, we have the reset button and the volume control resistor.
Next, the LED get's soldered in. LED's are polarity sensitive, so if they are in backwards, they will not work. align the flat side of the LED with the flat side of the white circle on the board.
Next, we can solder the transistor. This amplifies the signal going to the speaker, because the processor itself can't provide enough power to drive it.
Align the flat side with the flat side of the symbol on the board.
Next, we solder in the socket for the processor. This part has a large number of joints, so make sure it's in right before you start soldering! On top, one end has a small notch in it. Align this with the matching symbol on the board.
On the bottom, fold over 2 opposite corner pins to hold it in place.
Making sure it is in all the way, solder these 2 corner pins. Double check that the socket is all the way in, and oriented right. If it is, solder the rest of the pins.
Next, we need to mount the programming port. First, solder the header pins in place
Note that this part can be tricky to solder straight. The easiest way is to get 1 pin soldered, even if its' crocked. Then, hold the pins pressing them into the board, and re-melt that solder joint. ' Make sure your finger isn't on the 1 pin that you are soldering to, as it will get hot fast.
After this, the header should be lined up.
Next, se need to solder the USB Serial adapter onto the header pins. This board converts the serial protocol that the processor speaks to usb. This converter chip is a fine pitch surface mount part, so we have it on a premade board. With practice, it is possible to solder parts this small though!
Just like soldering the header, solder 1 pin in place, align the module, and then solder the rest of the pins. Make sure the board isn't at an angle, because we need to leave room for the USB cable to plug in.
Next, we need to attach the speaker. Go to the wire cart, and grab 2 lengths of stranded wire, each about 4 inches long. Strip the ends of both using the stripping tool at the soldering station, and then twist the wires together. Solder 1 end of the wires to the speaker, and the other ends to the board. It doesn't matter which connection goes to which pad, it works either direction.
The last thing to solder is a bypass jumper where the large capacitor was. An easy way to do this is to use one of the cut off leads from the resistors. Fold it into a U shape, feed the wires through the holes, and solder it in place.
Now just add the keycaps, and were done with the hardware!
For the code, we will be using the Arduino IDE. It's on the lab computers, or it's free to download.
In the main window, copy this code:
then, create a second tab, and name it pitches.h
in it, copy this: