Author Archive

Peltier Table

Posted in 11. Project Final Reports on December 14, 2009 by hallbt


The Peltier table is a table surface that keeps your drink hot or cold. It is inspired by a group of friends sipping tea or drinks around a table – over the course of the conversation the drinks reach room temperature. This table uses Peltier units attached to the bottom of metal coasters to bring the drink to a hot or cold temperature. This table would be a centerpiece in a living room or used at a high end bar or restaurant.

Link to Full Report


Project Proposal – Peltier Table

Posted in 9. Project Proposals on November 4, 2009 by hallbt

In the morning, hot coffee or tea can grow cold as you watch the morning news. At a bar, your beer can get warm while you are busy talking to friends. The root of this problem is that drinks are heated or chilled once, and then served to the customer – the drink is at its best as it is served, and reaches room temperature as time goes on. A localized heating and cooling source can be used to solve this problem.

Peltier units are electronic devices which use a substrate to quickly transfer heat from one side of the device to the other. The result is that when a voltage is applied, one side gets very hoot and the other side gets very cold. Flipping the voltage causes the opposite effect (the hot side gets cold, and the cold side gets hot).

By embedding these Peltier units into countertop surfaces such as a coffee table or a bar, this solves the problem by creating a localized heating or cooling source. Adding a pressure switch and a temperature sensor ensures safety and autonomy. If the heating/cooling element can detect when something is on top of it, and also the temperature of that object, it protects the user from false positives and wasting energy.

Physical Device Sketch


Full Assembly


Component Assembly

K type Thermocouple
One for each assembly. This will be attached to the top of the assembly to determine if the drink placed on it is a hot or cold drink. This way, the controllers knows to either keep the drink hot or keep it cool.

Pressure Switch
A sliding joint with a limit switch and a spring. As weight is applied to the top of the assembly, the spring deflects, causing the plate to slide down. As it does, it trips the limit switch, informing the controller that an object is on the assembly.

Manual override. Sometimes the user may not want to turn on the effectors, or may want a cold drink to become hot or a hot drink to become cold. This switch will allow for more user control over the effectors.

Peltier Units
50x50x4 (mm) max 24V approximately 80 Watt device; currently looking for a model within the $20 price range. There are many different manufactures each with different specifications. More research is necessary to determine future temperature control techniques for specific units. If temperature control is not possible (device is binary – on or off) can PWM work, or are they manufactured for specific set temperatures?

Blue and red LEDs indicate when the heat or cold is on in order to inform the user.


Is Pressure Sensor on?
—->Yes –> Check thermocouple. Hot or cold?
———->Cold –> Make cold, BlueLED on
———->Inconclusive –> Do nothing
———->Hot –> Make hot, RedLED on
—->No –> Do nothing
Is Switch on?
—->Yes –> Check setting
———->Cold –> Make cold, turn BlueLED on
———->Hot –> Make hot, turn RedLED on
—->No –> Do nothing

• Table: bar or coffee table top, preferably frosted glass or acrylic
• 2 K type thermocouples
• 4 limit switches
• 8 springs
• 8 brackets
• 8 screws
• Wiring, high voltage
• Plug
• 2 External power control circuit
• 2 H-bridge
• Controller
• 2 Red LEDs, 2 Blue LEDs
• 2 – 3 setting switches

1. Week of the 9th
Create CAD model of full assembly
b. Research Peltier control – determine if units can be temperature controlled or if should buy for spec temps
c. Order all components in assembly
2. Week of the 16th
a. Create initial model – should have temperature control from adruino using external power and H-bridge (produces hot and cold)
3. Week of the 23rd
a. Thanksgiving week – eat turkey
4. Week of the 30th
a. Integrate model into table assembly
b. Limit switches and LEDs embedded onto assembly
c. Full wiring diagram
5. Week of the 7th
a. Fine tune controls issues and interaction
b. User testing
c. Finishing atheistic touches

Assignment 10 results
I ordered 2 Peltier units online. 3 days after ordering, the company called me and told me that they could not complete my order because it was an international shipment. I learned to order early. Will now begin making CAD model to ensure I am buying right components in the right sizes.

Button Box

Posted in 8. Finite State Machines on October 29, 2009 by hallbt

So in robotics club we create robots. The caveat is that we also love to create robots that are utterly useless. That’s where this robot comes in.

The idea is a box that has a large red shiny button on it, that says “Push me!” Who could resist? But it’s not that easy…

The basic function is that it has a large button, and when you try to push it, the button retreats into the box, and a cover comes up to keep your pesky finger out of the box.

It is an example of a state machine that has 3 states:
-Wait: The box is chillin out, waiting for you to try to push the button
-Attempted: Hiding the button away, waiting for you to stop trying to push the button
-Bored: You haven’t tried pushing the button lately. I’m going to flaunt my button by shaking it at you.

The arduino code states how the system moves between the three different states:

Arduino Sketch: DontPressButton

The following diagram explains the mechanics (fairly simple, all motion is rigidly attached to servo output):

Mechanical Schematic

And the wiring diagram explains the electronics:

Wiring Diagram

And lastly some still shots:

Interal ComponentsPush Me!Nope!

Scissors Mechanism

Posted in 7. A Mechanical Automaton on October 16, 2009 by hallbt

I made a large scissoring mechanism out of wood and screws. I’ve always been in love with the type of mechanism, so I wanted to make one for myself!

It’s made from 14 – 9″ long 3/5″ wide 1/2″ thick wooden boards. I drilled through them and used 8-32 machine screws as pins. I then attached some wooden dowels to the end with wood screws.

The mechanism works pretty well, but doesn’t support much weight, unfortunately. I had some plans to attach sliding joint to the end to make a sable base to where I could attach a pair of grippers, the wood began to buckle with the added weight.


Head Crab

Posted in 6 Form & Motion on October 8, 2009 by hallbt

My friend asked me to make him a Head Crab costume for Halloween, so I combined his request and this homework assignment!


I started my making a skeleton. This was a cardboard circle with strips of sheet metal hot glued to create the legs. I used sheet metal so it could be bent into place and used to attach to the head once it was finished. I then crinkled up a piece of paper, and wrapped it around the metal frame. I attached it to the frame using masking tape. This gave it a fleshy appearance. I used a second layer of paper and tape on the upper leg so that the leg appeared segmented.

The body of the crab is made from two metal strips I bent and attached at 90 degrees to form a dome. I then used a deflated blow up ball to cover it, and then wrapped it all in masking tape. This gave a cavity where I could put the electronics.

Now for the wiring:

The servo inputs are connected to pins 6 and 9, and the led input is connected to pin 2. The leds are connected in series to a 200 ohm resistor. Now for the interesting part: all the grounds and powers are tied together on a board, including the output and input from the batteries (for this I used 4 AA batteries). I then connected the power to the 5V out and the ground to the GND pins on the arduino. This powers the servos, the leds, and the arduino itself!

Head Crab sans body covering

Head Crab sans body covering

the code can be seen here:

Arduino Sketch: RandomServoMotion

The short version is that I use the random(min, max) function to force each servo to move to a randomly generated position between 0 and 180, and then I wait for a random amount of time between 100 and 750 milliseconds. Each time the program loops the eyes either turn on or off.

For a finishing touch, I spray painted it red and black. The whole rig works pretty well, though I have some concerns about it heating up and lighting on fire. Future work, I need to install a motion sensor so that I can leave it sitting on a table, and also installing an on off switch. I may also add a headband so that it sits more firmly on the head. As it is, the metal bands do a decent job, but it’s not as secure as I would like it. I also want to make some more details on the paint.


Posted in 4. Analog Input-Output on September 25, 2009 by hallbt

The Photosaur loves light! In the dark it’s eye is red, the darker it is, the brighter the eye. When it gets light, it becomes happy and wags it’s tail. The more light it gets, the happier it is!

Arduino Sketch: AnalogTester

I got some hints on how to code servo output from the built in tutorial, “sweep” which sweeps a servo from left to right. The big challenge was how to increase the speed of the tail. at first I tried decreasing the delay, but ended up using a constant delay but increasing the angle that the tail tried to move over the same period of time.

The circuit diagram is below:


The two LEDs (one red, one green) for the eye are connected to pins 6 and 11, and setup using the normal circuit diagram from class. The photoresistor is connected using the diagram from class, and connected to pin 0 (analog input). The servo is connected to power and ground, and then the input wire (the yellow wire leading to the servo) is connected to pin 9.

The circuit is mounted using gold perf board. Basically, you insert an element through a hole in the perf board, bend the wire at a 90 degree angle, and then solder it to the board on the side with the metal.

Good rules of thumb: make sure the hole is completely filled with solder to ensure a solid connection, and make sure you plan your layout beforehand. It helps reduce mistakes. Also one trick is that you can bend the left over wire in the direction of future or existing connections to save solder. This helps connect one hole to another.

I then mounted the perf board to the back of a plastic casing using two 4-40 screws. The servo is mounted to the casing using two right angle orbit mounts. They connect to the servo, and then can be connected to something at a right angle to the output shaft of the servo. I cut a hole for the tail using a dremel with a cutoff disk. The tail is made from old wire, hot-glued to the servo output mount.


The LEDs and the photoresistor are connected to the casing by drilling holes for the leads and then hot-gluing the leads to the inside of the casing. The “eye” is half of a ping pong ball, hot glued to diffuse the LED light.

Measuring Switch Time and a Joystick

Posted in 3. Digital Input-Output on September 18, 2009 by hallbt

I wanted to create a program where a LED would blink with an interval set by the length of time I held down a button. Through this, I was able to learn about the millis() command, and how to effectively use interrupts. The code can be seen here:

Arduino Sketch: BlinkTimer

I connected a N.O. momentary switch up using the circuit diagram from class. I connected this to pin 2 on the arduino, which as I found out, is one of two pins (pins 2 and 3) that can do interrupts. Basically, these pins are constantly monitored, and when the state of the pin changes, it triggers the interrupt function. I set up this function to record the length of time I pushed the button down. It then fed that time into a blink function.

Next I found a sweet joystick, and I wanted to play with it. The joystick has four potentiometers, each configured differently, but having one power input pin, and 3 output pins. I used a regular volt meter to see what the action of each pin was when I played with the joystick.

I found that pin 2 on the left of each pot read high when the joystick was to the right of the pot. I used this as a switch to turn on a series of four LEDs. When the joystick goes right, the right LED turns on, etc. There was no code for this, as it was merely an experiment in determining the activity of an odd switch, however I expect it could be rewired for analog input to do more interesting things. I want to continue to play with this interesting piece of hardware in the future, so I intend to solder wires to all the outputs and mount the joystick in a better casing.