Level 2: Arduino and Sensors
Arduino
The main element present on the second level of our robot is the brains behind the entire operation, an Arduino Uno R3. The Arduino is a microcontroller that allowed us to have a high level of control across our entire robot. The first issue we had with working with the Arduino was figuring out the best way to interface with it. Because it isn't standard pin spacing, we were not able to build our own header for it. We could have thrown something rather janky together, but in the vein of our final design philosophy, we broke down and bought an Arduino shield that was just a protoboard. To that, we soldered screw terminals, breaking out all the pins we needed. Screw terminals provided a big advantage because they are non-permanent connections, however, they are still extraordinarily strong. We broke out all of the pins we needed. At this point, we just mounted the Arduino Uno directly to the acrylic and slotted the shield in on top of it. It worked great! The Arduino Shield definitely made our lives a lot easier.
The main element present on the second level of our robot is the brains behind the entire operation, an Arduino Uno R3. The Arduino is a microcontroller that allowed us to have a high level of control across our entire robot. The first issue we had with working with the Arduino was figuring out the best way to interface with it. Because it isn't standard pin spacing, we were not able to build our own header for it. We could have thrown something rather janky together, but in the vein of our final design philosophy, we broke down and bought an Arduino shield that was just a protoboard. To that, we soldered screw terminals, breaking out all the pins we needed. Screw terminals provided a big advantage because they are non-permanent connections, however, they are still extraordinarily strong. We broke out all of the pins we needed. At this point, we just mounted the Arduino Uno directly to the acrylic and slotted the shield in on top of it. It worked great! The Arduino Shield definitely made our lives a lot easier.
IR Sensors
The next major step was mounting and installing the IR Sensor. The first step of this was building a quick mount for the IR sensor. This didn't need to be complicated, so we just built a right angled mount out of Duron. The other half of this involved mounting and building the comparator circuits. For more information on the comparator and filter circuits used, see the Sensors page. Since we used breadbords for these circuits rather than soldered protoboards, mounting them was a simple matter of using command strips to fasten the protoboards down. These can be seen in the image at right. The wires were a bit of a mess in this picture, and as you can see. The final protoboard we used was to install a debug LED. This was an RGB LED which we used extensively in the debug process. This allowed us to determine exactly what state we were currently in. We could therefore very easily tell what what state the robot was in when things were going wrong.
The next major step was mounting and installing the IR Sensor. The first step of this was building a quick mount for the IR sensor. This didn't need to be complicated, so we just built a right angled mount out of Duron. The other half of this involved mounting and building the comparator circuits. For more information on the comparator and filter circuits used, see the Sensors page. Since we used breadbords for these circuits rather than soldered protoboards, mounting them was a simple matter of using command strips to fasten the protoboards down. These can be seen in the image at right. The wires were a bit of a mess in this picture, and as you can see. The final protoboard we used was to install a debug LED. This was an RGB LED which we used extensively in the debug process. This allowed us to determine exactly what state we were currently in. We could therefore very easily tell what what state the robot was in when things were going wrong.
Button Pressing Servo
The next major element on the second level that we installed was the button pressing servo. This is what we will use to press the button in order to make the dispenser dispense botcoins into the hopper. You can see this servo on the left side of the image at left. The only modification that we made to the servo is that we extended the moment arm using a strip of Duron. This allows us to reach far enough to press the button on the dispenser. This proved rather challenging to mount, as there weren't any obvious mounting holes and there wasn't really any good way to do it. We ended up simply drilling several small holes around it and binding the servo down with some wire. This was originally just a temporary solution, but it ended up working well enough that we just kept it for the final robot.
The next major element on the second level that we installed was the button pressing servo. This is what we will use to press the button in order to make the dispenser dispense botcoins into the hopper. You can see this servo on the left side of the image at left. The only modification that we made to the servo is that we extended the moment arm using a strip of Duron. This allows us to reach far enough to press the button on the dispenser. This proved rather challenging to mount, as there weren't any obvious mounting holes and there wasn't really any good way to do it. We ended up simply drilling several small holes around it and binding the servo down with some wire. This was originally just a temporary solution, but it ended up working well enough that we just kept it for the final robot.