This is the schematic of the LED maze. The implementation of the shift registers can be seen here. 3 inputs are passed to each shift register: clock, clear, and serial data in. Serial data in is used to decide which LED to activate, by using a binary representation of which LED to light. To light the 2nd and 5th led, for example, 01001000 will be passed to the serial in. Then,the clock is used to shift the serial data to it’s required position on each clock pulse. This is what results in the very dim LEDs showing up, as they are actually turning on for an extremely small amount of time compared to the LEDs that are meant to be on. Then finally, clear is used to make LEDs turn off again. This cycle repeats fast enough so that the LEDs meant to be on appear constantly on, and the other LEDs appear off (or are actually off).
This combination of inputs allows the control of each individual LED within the maze.
To create our circuit for the temperature controlled DC fan, we built off the existing schematics used in labs 3 and 4. Our hardware includes an LCD, AtMega 328p board, temperature controlled sensor, fan, battery pack, transistor, two diodes, and multiple resistors at varying resistances. Challenges encountered wile wiring the circuit included changing our original plan to run the whole circuit off of the 6V battery pack. We found that this set up was not achievable due to the fan needing to pull more voltage from the circuit than we intended. To combat this issue, we decided to run just the fan off of the 6V battery pack and run the remainder of the circuit off of the USB. After much trial and error working with our circuit and varying resistors, we were able to find the optimal set up for the transistor used in the circuit while also finding that we needed to replace our original fan with a smaller spare fan that was in the lab room.
To create our spinning LED display we needed to create a way for the board to communicate with each LED individually. It was important to use an odd number of LEDs so that we could create letters and numbers with a center arm, like E, H, and A. We decided to use 7 LEDs because this number creates a nice height for each letter, and makes the display readable at a distance. The LED display was constructed by creating a ground bus on one side of the breadboard and connecting the cathode of each LED to it. The anode of each LED was then connected to a 100Ω resistor, which in turn connected to a wire which led to the input pin that would control the LED. (refer to schematic below) In this way we were able to send information to each individual LED.
We also needed a simple way to turn the motor on and off, we decided on a slide switch to meet that need. This was created by connecting the positive wire from the motor to ground and the negative end to the center pin of the slide switch. The leftmost pin of this switch was connected to ground while the rightmost pin was connected to 5V. For a bit of fun we created an on/off LED, which was accomplished by running a resistor from the center pin of the switch to the anode of the LED and the cathode was connect to ground. We would advise caution not supply the ground and 5V required to run this circuit from your microcontroller as this practice permanently disabled one of our boards. Rather use some other source of power and ground, like the large breadboards supplied in the lab.
The goal of this project was to make a Sous Vide machine. This Sous Vide is temperature-controlled cooking method. It requires to place ingredients in a sealed environment while being cooked under water. The food is cooked by sealing it in a vacuum sealed bag then placing that bag in a water bath. The water bath is then heated to a specific temperature, typically the temperature at which the food becomes safe to eat, especially important when meat is begin cooked. The typical temperature range is 60-90 deg C depending on the type of food. It is then left in the water bath for a long period of time until the food reaches the temperature of the water bath.
The project wasn’t successful because we weren’t able to communicate with the temperature sensor. Unfortunately we couldn’t find a library for the temperature sensor to communicate with the A3BU. (Instructor note to future teams searching for a project idea: consider adding 1-Wire code to the A3BU. You will learn a ton about timers) Other than that the project went well and we used a manual temperature sensor to make all the necessary readings and finish the project.