Tuesday, December 9, 2014

Mood Machine

Students in Seattle Academy's robotics elective worked to make and program a Mood Machine.  It is designed to be used by a classroom teacher in order to assess the overall mood of his/her class.


The students were able to describe the contributions they made to the project.



The Mood Machine was based on the fun SparkFun Big Dome Pushbuttons (COM-11275, COM-11273, COM-09181, COM-11274).  These have a LED lamp with integrated resistor (designed for 12V input), the a momentary pushbutton.  These were wired into a PCB board with pullup resistors (this was a concept we had covered in class using the tutorials at Lady Ada, http://www.ladyada.net/learn/arduino/).

The schematic below shows how the pullup resistors (10k) are used while a 1k resistor is put in series with the pin going to the Arduino Mega.  Jack put together the schematic.  All the milling files can be downloaded at this link:  https://sites.google.com/site/rampantrobots/moodmachine/MoodMachineMillingFiles.zip?attredirects=0&d=1 .

A PCB board was designed based on this schematic.



We also made a PCB board to connect a bunch of LEDs and resistors.  Female headers are connected to the anode (+ side) of the LED, while the cathode connects to a resistor.  The other end of the resistor is connected to ground.  Below are two videos which show the board being milled.  These were sped up (8x on the first, 4x on the second) in order to be less boring.


We did a LOT of soldering to put 30 LEDs and current limiting resistors on another PCB board.
The board is shown below (this is one third of it actually):


A second circuit board was hacked together when I realized that the 5V outputs from the Arduino Mega could not satisfactorily drive the LED lamps in the pushbuttons.  The outputs of this board go into the inputs for the LEDs of the previous board.  I used this webpage as a tutorial:  http://itp.nyu.edu/physcomp/labs/motors-and-transistors/using-a-transistor-to-control-high-current-loads-with-an-arduino/  .



 A couple of these LEDs seem to be systematically burning out, and I'm not sure if this is because of poor resistor selection or so other reason.  This is frustrating.  A ribbon cable was used to move pins 21 - 52 up near the LEDs, then jumper wires were used to make the connections between the ribbon cable and female headers soldered onto the LED PCB board.




For reference, here is a pinout table for the Arduino.

Green
Red
Yellow
50
30
26
45
32
28
44
33
24
46
36
BURNED OUT
43
35
23
41
34
27
48
39
25
49
37
29
47
38
31


Mega Wiring Diagram:
21… Red Transistor Board Wire
20… Yellow Transistor Board Wire
19… Green Transistor Board Wire

12… RGB Led Strip Control
GND (by #13):  Reset Switch
Reset:  Reset Switch
5V:  to Grey Cable (power to pullup resistors board)
GND:  to Grey Cable (ground to pullup resistors board)
A5:  Orange Buttons Wire
A6:  Yellow Buttons Wire
A7:  Green Buttons Wire