Thursday, December 10, 2015

Blog Post #24 for 12/01

We did't have class last Thursday due to the Thanksgiving holiday, but most of the groups have been working on building their devices. Over the weekend, Matt and I made fairly good progress on building our egg incubator, and on Tuesday we were instructed to simply work on finishing our projects in time to take 12 hours of data for the final presentation.

The pictures below are of the work Matt and I did on Sunday night building the incubator at his dad's brewery.



               
Essentially, we just built the outer frame using the fan as a base for the construction. Wood skewers were inserted through the holes of the fan, and a rectangular cardboard frame was constructed and taped to the wood supports. The rectangular shape sticking off the side of the incubator was designed as an air duct to allow hot air a place to escape through once the fan turns on. The rotor was mounted directly to the side of the box, but we couldn't figure out a design for the cradle at the time, so we left it alone after that. All other electrical components and wiring were taped to the sides.

On Tuesday, we finalized construction on our incubator:



We constructed a cradle/rotisserie system for our egg-holder using cardboard-constructed mounts to attach it to the rotor and the opposing wall. The string noose hanging from the top of the incubator provides additional support for the weight of the cradle. The inside of the incubator was lined with insulating foil to keep most of the heat inside the box, and the lab quest box was attached to the top of the incubator in order to make handling everything much easier. 

Blog Post #23 for 11/22

Today, we began in-class work on the final project. In order to get started, we needed to use our old knight rider program and modify it to control a rotor instead of a simple LED display. In the video below, we attached a foam arrow to our rotor, which is connected to the controller chip. The same knight rider program from before was used but was slightly modified to work with the rotor.


Thursday, November 19, 2015

Blog Post #22 for 11/19

EXERCISE #1

In the first exercise, hooked a fan up to our relay and used the relay program from the previous class to toggle the fan on and off. Afterwards, we modified our relay program to be able to use a duty cycle with the fan. This will turn the switch on and off at a high frequency in order to send a lower average voltage to the fan which gives it a range of speeds to spin. We also connected a photogate to LabQuest in order to determine the RPM of the fan. The knob on the left adjusts the duty cycle to run the fan at a certain percentage of full power, and the RPM numeric indicator on the right shows us how fast the fan is spinning.

Front Panel

Block Diagram


EXERCISE #2

For this exercise, we were told to create an LED thermometer that will give a visual indication of the reading from a temperature probe.

Front Panel

Block Diagram

HW #19

For this homework assignment, we were tasked to create a program that would detect the dual-tone frequency of a dial tone and determine which number is being pressed on the phone. The input from the microphone was split into a low-pass and a high-pass filter in order to split the high and low frequencies from the dial tone. After that, each sample was passed through a tone analyzer in order to determine the frequency. Each frequency went through a series of range comparisons to match with the frequency for each dial tone number, then they were ran through a huge series of and-statements in order to combine the high and low frequencies to light up the corresponding light on the number pad. 
Unfortunately, the program itself bugged out at some point and I was unable to save it after demonstrating the program for the homework check. 

Blog Post #21 for 11-17

EXERCISE #1

In the first part of class today, we used LabView connected to LabQuest in order to create the lights on the front of the car from Knight Rider. 

Knight Rider

My Lights

Front Panel

Block Diagram



EXERCISE #2

In this exercise, we built a program in LabView that would control two relay switches connected to a LabQuest control board. The buttons on the front panel control the switches on the relay, and the stop button shuts down the whole program. The way we had this wired required an input to the DIG Channel of 0 to keep both relays on, 3 to keep the right one on, 4 to keep the left on, and 7 to turn both relays off. The triangle on the front panel has no function other than to make the UI look like a face.

Front Panel

Block Diagram


Blog Post #20 for 11/12

EXERCISE #1

For the first exercise, we used Lab Pro to create a program that will convert temperature from Celsius to Fahrenheit. It can switch between the two units using the lever on the front panel.



Block Diagram



EXERCISE #2

For this exercise, we were instructed to create a program that would monitor the temperature input from a Vernier temperature probe. The front panel has a switch to use either Celsius or Fahrenheit (created a subVI from the previous conversion program), a warning label that outputs a message when the temperature goes to high, and a light that will turn on when the temperature goes too low. The entire program is embedded into a while loop, so the program can shut down when pressing the emergency stop button. Because I no longer had the temperature probe when posting this blog, the picture does not show the program actually running.



Block Diagram



EXERCISE #3

The last activity we did today involved using microphones to determine the frequency and amplitude of Mario's sensual singing voice. The top graph is the raw vocal input, while the bottom graph shows the frequency after going through a bandpass filter. Like the previous exercise, the photo below simply is a picture of the program not running, since I didn't have the equipment on hand while posting this blog.




Block Diagram

Thursday, November 12, 2015

HW #18

SENSOR DATA COLLECTION

In today's activity, we designed a program which will take in data from temperature sensors and output the data into an excel file. The logger device used for data collection was the Vernier LabQuest Mini equipped with two Vernier temperature probes. The program works, but unfortunately I didn't have the equipment with me while making this post so I couldn't get a picture of the program running.

Front Panel


Block Diagram



For the second part of this assignment, we were instructed to run a debug on the program to see what is happening through a particular wire or wires.

Debug

Tuesday, November 10, 2015

Blog Post #19 for 11/10

EXERCISE #1: Switch Case

For this exercise, we created a panel that will take two inputs and throw them into a switch case. If the switch is up (true), the two numbers are multiplied; if the switch is down (false), the two numbers will be divided.

Front Panel


Block Diagram




EXERCISE #2: Volume in a Tank Based on Liquid Level

This program will take inputs from the user on liquid level, tank radius, and tank length and will output the volume of liquid in the tank in terms of cubic meters as well as gallons.

Front Panel


Block Diagram




HW #17

PROBLEM #1/2

1) Use a For Loop to create arrays for plotting a cosine wave between -π and +π using 300 points. Send the X and cos(X) arrays to an XY Graph control for plotting.


2) Extend the previous problem by using a Case Structure and Enum control to select between sine, cosine, and tangent plots. Add your own case that creates a different function plot.


Front Panel


Block Diagram



PROBLEM #3

Create a VI that accepts D, Vavg, ρ, and μ as inputs, calculates Reynolds number, and then uses a Case Structure to solve for friction factor using the appropriate equation.


Front Panel



Block Diagram



Thursday, November 5, 2015

Blog Post #18 for 11/05

EXERCISE #1

In this exercise, we were instructed to create a circuit diagram with 2 resistors and a voltage input. The program will determine the voltage output based on the values entered for voltage and resistance.

Front Panel:


Block Diagram:



EXERCISE #2

Using ideal gas laws, determine the volume of gas present. Inputs should be in the form of knobs or dials. Output will be volume in liters. This particular example uses a while loop and a stop button.

Front Panel:


Block Diagram:



EXERCISE #3: Matrices

The protected matrix saves the values as the default for this array. The unprotected matrix will lose its data if I restart Labview

Front Panel:

Block Diagram:




EXAMPLE #4: Graphing

This program will take two sets of arrays and bundle them into matrices, then it will graph the values on the front panel. The second photo of the block diagram is the result of creating a subVI out of the block and array terminals.

Front Panel:

Block Diagram 1:

Block Diagram 2: Using subVI



EXAMPLE #5: For Loop Structures

This exercise uses a for loop to divide the interval from 0 to 2pi into 50 equal spaces. It will then graph sin vs cos into a single graph, resulting in a circle.

Front Panel:

Block Diagram:



HW #16

Assignment #16: LabView

1. Create a VI similar to the front panel shown above, and use it to determine the decimal value equivalent to the following binary numbers:
a. 001 (C is off, B is off,A is on)
b. 010
c. 101


2. Modify your VI to handle four-bit binary numbers by adding another switch.


3. Use LabVIEW’s Square and Square Root functions to create a VI that will accept a value, compute the square of the value and the square root of the value, and display the results. What happens when X > 0 and X < 0?


4. Write a quadratic equation solver that will accept values for A, B, and C, and then compute both quadratic solutions (one solution using the plus symbol, the other using the minus symbol in the following equation).


Pictured below is the front panel I created for this series of problems:



Block Diagram for #1 and #2



Bock Diagram for #3 and #4


Wednesday, November 4, 2015

HW #15

PROBLEM #1

In this problem, we integrated a given function from -1 to 1 using three different integration methods: trapezoidal, quad, and quadl.



PROBLEM #2




PROBLEM #3