Rube Goldberg Two: Electric Boogaloo
Our Rube Goldberg project works as follows:
- The TMP36 is attached to 5V and GND. A hairdryer or heat gun raises the temperature of the TMP36 heat sensor to produce an output voltage.
- The voltage from the heat sensor is sent to the LM124 op-amp, which is attached to 5V and GND, taking in the heat sensor voltage, sending it through the LM124 as a non-inverting amplifier with a gain of approximately 3, and outputting a voltage which is high enough to trigger the relay.
- The relay is connected to GND on pins 1 and 5. The output from the LM124 is connected to pin 2. When the voltage on pin 2 exceeds 5V, the LED connected between pin 3 and GND is turned on.
- The LED is pointed directly at the photoresistor, which is between 5V and a parallel connection of a resistor which goes to ground and the base pin of a transistor. The collector pin of the transistor is connected to 5V, and the output pin is connected to a motor
- The motor has a string attached to it. When the motor is activated, the string winds around the motor and pulls both the stopper block for the lego car and the stopper for the 9V battery attached to the car.
- The car is free to roll down the track, and the circuit on it counts from 9 down to 0, and stops. The LED on the car flashes on every even number except 0.
The circuit on the car is separate from the initial circuit, and works as follows:
- After the 9V battery stopper is released and the battery is connected, the circuit’s blue bar is grounded and the red bar receives the 9V. All of the following chips are connected to the 9V and GND.
- The 555 timer increments every second; this is the same setup as week 7, question 7. This is sent to the 74192.
- The 555 output is sent to the down pin of the 74192, and the high pin is attached to an output from the logic gates, inputting (base 2) 0000. The A and D input pins are put to high while the B and C pins are put to low. This makes the timer count backwards starting at 9, and when it is 0 both the high and low pin are equal, so the 74192 stops cycling. The qA, qB, qC, and qD outputs are sent to the 7447 and various gates to create an output that only is active when the number is even.
- The 7447 is connected to the digital display as in Week 7.
- Using a combination of OR, AND, and XOR gates, the output that the LED is as follows: outputLED = ( ( ( (1 AND qD) OR (qB OR qC) ) XOR (A) ) XOR 1). This makes the LED flash on even numbers with the exception of 0.
- Also, in order to get the output (base 2) 0000, the output is as follows: outputZero = ( (qA AND qB) AND (qC AND qD) ) = ( ( (qA AND qB) OR (qC AND qD) ) ) XOR 1 ). The XOR 1 is equivalent to a NOT gate. This negation is necessary because there weren’t enough AND gates to achieve the first equation. This output is sent to the 74192 as mentioned earlier.
Challenges and Improvements:
- Unfortunately, our circuit refused to cooperate on almost all fronts. For some reason, the TMP36 to LM124 to Relay setup was not working. I believe it was a faulty connection in the LM124, however the setup was working on Wednesday and before the presentation. Also, when the stopper for the 9V battery was pulled, the connection between the circuit and the battery remained broken. This was a problem earlier in the day as well, as it only worked about 50% of the time. There is proof that the circuit attached to the car does work below:
- There were several pieces I wanted to add to the circuit as well, however they were not available at the time. I would have liked for an alarm or buzzer to go off when the timer reached 0, however a buzzer was not available; I also wanted the LED to go on when the timer was at 0, however we ran out of OR gates to use. (I would have added OR outputZero to the outputLED equation). I also wanted a real switch instead of a stopper for the 9V battery, however that was not available either.