Team 6 — Final Composition + Demo!

A3BU menu screen

After some experimentation, the most promising plan was to utilize the A3BU’s LCD screen and to introduce a menu to the system. The menu used the GFXMonochrome library for text display as well as the A3BU’s three on-board buttons and q-touch sensor to accept user input. The two sensors on the left-hand side of the screen (button in the top-left and q-touch on the bottom-left) allowed the user to scroll through menu options and increase/decrease values such as “Number of players” and “Number of cards to initially deal.” Additionally the player could select from a number of pre-programmed games like Blackjack or Go Fish which would each pre-set the number of players and initial cards. Continue reading Team 6 — Final Composition + Demo!

The Graphing Calculator

This is a brand new technology, one that will inevitably alter the way in which engineering students everywhere will learn how to graph mathematical functions. Team 5.2 presents to you – the graphing calculator!

Wait, that was already invented?

Well, please enjoy this teaser of how our graphing works. You’ll see a plot of the function sin(x) with an inbuilt horizontal scaling being used. Later we’ll explain more about how this works.

 

Team DND – The Final Product

team logo

 

Once we had our housing printed and a working circuit we were ready to begin the assembly process.  Then we realized we missed something, the use of the A3BU microcontroller.  We were not entirely sure if the project needed to incorporate the A3BU but we decided to use it just to be safe.  The sole purpose of the A3BU in this project is to act as a button.

Implementing the A3BU:

On the Saturday night before the project was due Marcus and David began the process of adding the A3BU to our project.  We started by trying to write a program that would output a high voltage from a pin on the A3BU to be read by the Arduino to start the sounds and lights routine.  Soon it was clear that we were not going to get this method to work without the ICE-3, which we conveniently left in the ECE lab and didn’t have with us at the First Build facility.  The next option was to bypass the software of the A3BU all together.

We noticed on some of the A3BU schematics that when a 5v source was connect to the power in of the A3BU the buttons on the chip became active.  In particular, there was one button that exposed its output on the back of the board.  We tested this by using a multimeter with one end on the ground and the other on the TP304 (see below) plate.  When the button was pressed the TP304 plate would drop to 0.0v from the steady 3.3v it was at.  This means that we could use this A3BU button without any software at all.

 

A3BU Hack diagram

 

Diagram of the A3BU button we hacked.

We soldered a wire to the back of the A3BU board and lead it to a digital input pin on the Arduino to trigger the routines we wanted.  At this point we had the Arduino powered by a battery but the A3BU still needed to be connected to a computer for power.  We wanted to eliminate this connection to the computer.  This is where we got really fancy.

Again, we used a multimeter to check where the 5v from the power source was leaving the usb connection to the voltage regulator on the A3BU chip.  We discovered the one of the legs connecting the mini-usb port to the board was carrying 5v when power was connected.  We used a continuity test with that leg and the TP304 plate and discovered thats how the 5v travels to the rest of the chip. With this new knowledge we were able to solder a wire from the 5v output on the Arduino to the leg on the A3BU that distributes the power on the A3BU.  We were able to successfully power both microcontrollers with a single 9v battery connected to the Arduino.

In the code we used an interrupt to set a variable to either “on” or “off” when the button on the A3BU was pressed.  Essentially, we created the most complicated button of all time.

How it looks:

To make the components fit into the housing better we ditched the large bread board for a small piece of protoboard.  Once we had the entire project working exactly how we wanted, we soldered the pieces to the protoboard permanently.  We used the ground and the 5v source from the Arduino to create hot and ground rails on the protoboard.  Once the entire circuit was contained on the protoboard we started the difficult and delicate process of stuffing the components into the housing.  After a lot of concentration the below picture shows the final result of the component compartment:

11125478_10205078254768678_625303218_n

The only thing hanging out of the housing is the battery supply cord so we can turn the entire project on or off easily.

When the project is first powered on it is in a standby mode.  The LED array “breathes” and changes colors as time goes by.  Once the button on the A3BU (which is accessed from the components compartment opening) is pressed the A3BU sends an interrupt and starts the music and lights routine.  A tone will begin to play and a certain number of LEDs will light up on the array.  As the knob is turned the tone changes pitch and the amount of LEDs that are lit up change.  The LEDs change color as more LEDs are lit.  For example the left most LED column is all green, the middle few are yellow, then orange, and the right most are red.  See the video below for a short demo:

Conclusion:

This project was an overall success.  The device works exactly how we envisioned it from the start.  The team was exposed to many new electrical and programatic challenges along the way but we were able to work together to overcome the obstacles.  We were also introduced to the First Build community from spending so much time there, we now all feel comfortable with using their resources more ofter.

We think that the use of an Arduino allowed us to push the limits of what this project was capable of.  The ease of use allowed us to rapidly prototype and trouble shoot without wasting a lot of time fighting with a more robust microcontroller.  Although we did not use the A3BU extensively in this project I think we gained a new understanding for it by using its internal hardware against itself to supply us with a button without the use of software.  We think that future projects in this course will benefit from using a more popular microcontroller like the Arduino Uno.  This is mainly because students will not have to spend their time setting up a project and getting familiar to the complicated environment of Atmel Studio and just dive right in to reading digital input or pushing a desired voltage to external components.

We are very happy with our end result and are extremely proud of it.  The 3D printed housing give the project the esthetic component we were looking for from the start.

Team DND – The Build

team logo

 

At this stage of the project, we had an idea and a loose design.  It was now time to star making our vision a reality.  We started by just getting the basic circuitry on the speaker working with a variable resistor to change the tone.  The image below shows our first successful circuit to generate tones based on varying resistance.

20150409_113120

As you can see we have an 8 ohm speaker connected to variable resistor then connected to an analog read pin on the Arduino Uno.  When the resistance would change the value was read in and mapped to a tone within the human audible range.

Screen Shot 2015-04-26 at 11.18.33 AM

The code above shows how the value of the resistance was read from the pin analog pin A0 and then mapped to within our desired tone range.  We are using a third party Arduino tone library to allow us for more customization of the tone itself along with a higher quality tone.   The toneAC library allows for high frequency and faster tone switching.  In the stock tone library we were experiencing a regular click when switching tones.

Soon we realized that the ECE lab was just not cutting it for us.  Team DND headed over to first build to continue our work.  We wanted to use the first build facilities mainly because of the quality of tools and space available to work.  We wanted to use the speaker from an old pair of desktop speakers and we knew first build would have the tools to let us tear them out.  One team member, David Exe, is a member of the rocket team so we had access to many tools well past the First Build regular hours.  We also got to play on the 3D printer!

20150425_161531

Tim and Bobby working hard.

3D Printing:

In the below video and picture you can see the maker-bot beginning to print out our design from the previous blog post.  We had some issues getting the printer to start our design but it was resolved when we discovered the platform it was trying to print on was not level.  When the platform is not leveled the maker-bot cannot print because the printing head will drag along the surface thus jamming the extruder.

The maker-bot hard at work.

20150425_161612

 

18 hours later it was completed!

When the piece was finished, right away we realized that there was something wrong.  The piece was much too small.  What had happened was that we edited an earlier mock up to better fit our pieces and when we went to print, we accidentally used the older version of the design and that resulted in an incorrect piece.  Rather than wasting another 18 hours waiting for the printer to finish we decided to make it work.

Team 4.2 – Rock, Paper, Scissors Working Video

This video is an explanation of our project, Rock, Paper Scissors.

For our project Rock is blue, Paper is Green, and Scissors is Yellow.  Our 1 player game, allows a user to select an input via one of three buttons(blue, green, yellow).  Then the micro controller randomly selects a player 2 input.  The results are shown on LEDs with a winner displayed via the red LED

IMG_0951