Difference between revisions of "Prototyping with Micro-controllers, Sensors, and Materials"

From EG1004 Lab Manual
Jump to: navigation, search
Line 352: Line 352:
<li>The Arduino should be taking a temperature reading every 30 seconds. The analog voltage value read through pin A0 should then be converted to a Fahrenheit reading using the pre-written function below. The temperature reading should be printed to the Serial monitor along with the seconds timestamp of the reading. </li>
<li>The Arduino should be taking a temperature reading every 30 seconds. The analog voltage value read through pin A0 should then be converted to a Fahrenheit reading using the pre-written function below. The temperature reading should be printed to the Serial monitor along with the seconds timestamp of the reading. </li>

Voltage to Fahrenheit function:
<li>Voltage to Fahrenheit function:</li>

'''''Insert Picture of this code'''''
'''''Insert Picture of this code'''''

Revision as of 20:49, 7 August 2018


The first objective of this lab is to utilize the basics of electronics, the Arduino board, and the Arduino IDE (Integrated Development Environment). The Arduino IDE will be used to program the Arduino board. These skills will be used for several hands-on tasks including programming the Arduino to control an LED with a button, take temperature readings, and design a basic prototype for a product.

The prototyping will focus on designing and building a thermal insulation device that utilizes a variety of materials, this design will be tested and the resulting data analyzed. Students will be able to see how arduino can be applied. All designs will be tested with a heated object. The team with the lowest Product Design Ratio (PDR) will be declared the winner.



To put simply, electricity is the movement of electrons. Electrons flow through a conductive wire when there is a difference in charge between two points in the wire. This flow of electrons is called electrical current and it is measured in Amperes (A). Due to convention, electrical current flows opposite of the electrons. The difference in charge is called electrical voltage and it is measured in Volts (V). Another way to think about electrical voltage is to picture it as “electrical pressure,” analogous to water pressure. If there is a tank full of water (electrons) and a hole is poked in it, water will flow (electrical current flowing), due to the water pressure (electrical voltage) inside the tank. Finally, there are certain materials that resist that flow of electrons. This property is called electrical resistance and it is measured in Ohms (Ω). Resistors are electronic devices that are specifically designed to resist the flow of electrical current. There exists a mathematical relationship between current, voltage and resistance which is characterized by Ohm’s Law. This relationship is detailed below, where V is the voltage across a resistor, I is the current flowing through a resistor and R is the resistance of the resistor.

Electronic Components

There are several basic electronic components used to build simple circuits. Some of these components are polarized which means the way they are connected matters! Another way of thinking about it is that some components are symmetrical while others are not.

DC (Direct Current) Voltage Sources

DC Voltage Sources are used to power circuits because they have a voltage difference across their terminals. DC Power Sources are usually batteries (AA, AAA, etc). Arduino boards can be powered by a battery, a USB cable, or an AC adapter. When the Arduino is powered, it can be used as a 5V DC voltage source. They ARE polarized.


Resistors are components that reduce the amount of current flowing through a circuit. Resistors convert the excess current to thermal energy. Resistors can be used to control the voltages and currents of circuits. Resistors are color coded with what resistance they are. They are NOT polarized. File:Resistor.jpg


Capacitors are components that can store energy in an electrical field and then dissipate it at a later time. Capacitance is a measure of how much charge a capacitor can store and it is measured in Farads (F). Capacitors resist voltage changes by supplying or drawing current. They are SOMETIMES polarized. Capacitors.jpg


Inductors are components that can store energy in a magnetic field and then dissipate it at a later time. Inductance is a measure of how much energy an inductor can store and it is measured in Henrys (H). Inductors resist current changes by dropping or increasing the voltage across itself. They are NOT polarized. Inductor.jpg

Push-buttons and Switches

Push-buttons and switches are mechanical devices that interrupt or divert current running through them. Basic push-buttons and are polarized while basic switches are not. 375px

Diodes and Transistors (BJT/MOSFETS)

Diodes are components that allow current to only pass in one direction. MOSFETs are electric components that act as electrically controlled switches. They can also be used to amplify signals. They ARE polarized. Diode transistor.jpg

Light Emitting Diodes

LEDs are small electric lights which use low voltages and currents. The orientation of the LED is important since it acts like a diode and only allows current to flow in one direction. Most LEDS also require a resistor (typically 470 Ω) in series with them because they will burn out almost instantly when they encounter high current. They ARE polarized. LED.jpg


A microcontroller is a cheap, programmable computer without any of the peripherals such as a mouse, keyboard, or screen. Microcontroller boards have direct access to the input and output pins of its processing chip so that the user can directly read from sensors and perform actions. Microcontrollers are present in many electrical appliances like microwaves. Arduino boards were designed to be easily programmed and assembled into larger projects. These boards come in many shapes and sizes and some contain additional features such as WiFi or Bluetooth connectivity. Different boards can also have different features such as processing speed and memory size. Arduino.jpg This lab will be using an Arduino UNO board created by SparkFun called a RedBoard. Redboard.jpg

Arduino Hardware

Redboard info.jpg Reset Button: Restarts the Board
USB Connector: Provides power and connect it to the computer
Pin 13 LED: Usable LED without making an LED circuit
Serial LEDS: Shows if the Arduino is transmitting or receiving data from pins 0, 1 or the USB connection Redboard pins.jpg Power Pins
3.3V: Usually used to power low-voltage sensors
5V: Most common power pin used to power circuits
GND: Ground pin which is 0V
VIN: Voltage-In can be used to power the board using a battery Redboard IO.jpg I/O Pins
A0-A5: Identical analog pins that can be used to read sensors or control analog devices. Pins A0-A3 are more stable than A4-A5
Pins 0-1: Transmit and Receive pins, don’t use these pins for this lab
Pins 2-12: Digital pins that can be switched between HIGH states and LOW states
Pin 13: Connected to the on-board LED, use it only as an input pin

The Arduino IDE

The Arduino IDE is a program that can be used to edit, compile, and upload code to a supported microcontroller. Figure 2 is a screenshot of the program:

Figure 2: Arduino Software Sketch

Verify: checks code for errors and points to where the errors occurred after it finishes. Upload: verifies code and then uploads it to the Arduino board if there are no errors.
Console: shows any errors the software found in hardware.
Serial Monitor: a tool used to see how a program is running. It’s like a multimeter for the program. Programs written in Arduino are called sketches. A basic sketch can be broken up into 3 different areas: global, setup and loop; these areas are pictured below.


Global: constants and imported libraries go here.
Setup: activate the pins and sensors used. This code only runs once.
Loop: the code that runs continuously such as reading sensors and turning pins HIGH or LOW.

Arduino Programming

The Arduino programming language is based on C/C++, but it is designed to be simpler and easier to learn. The most intuitive way to think about programming is like building with LEGO blocks: certain rules must be followed and different building blocks can be used to build bigger parts. General

  • Every line must either end with a semicolon ‘;’ unless it’s a conditional, loop, or function
  • Comments start with a //
    • Comments are text that the program ignores
    • Used to label and explain code

Datatypes Datatypes are the different kinds of data values that can be used, manipulated and stored using C++. The table below includes the most basic and widely used datatypes.

Datatype What it stores (examples) Default value Notes
Boolean A true value (1, TRUE, HIGH) or
a false value (0, FALSE, LOW)
int An integer number (-5, 15, 1047, etc.) 0 Can be positive or negative
double A decimal number (-0.5, 123.77, etc.) 0 Can be positive or negative
char A single character (‘c’, ‘A’, ‘5’, ‘?’, etc.) Indeterminate Must be enclosed in single quotes
string A sequence of characters (“Hello World!”,
“10”, “157+5”, etc.)
Empty (“”) Must be enclosed in double quotes

Operators Operators perform operations on variables and constants. The results of these operations are usually stored in a variable. The table below includes common operators.

Operator What it does Notes
= Assigns a value to a variable
+ Adds two or more values
- Subtracts two or more values
* Multiplies two or more values
/ Divides two or more values
++ Increment by 1 Usually used in loops
-- Decrement by 1 Usually used in loops
== Checks if two value are equal Usually used in conditionals
!= Checks if two value are not equal Usually used in conditionals
> or < Less than/Greater than comparison Usually used in conditionals
<= or >= Less than/greater than or equal to comparison Usually used in conditionals
&& or || Boolean AND or Boolean OR Used to cascade multiple Boolean operations Usually used in conditionals

Constants and Variables Constants and variables hold data according to their datatype. They need to be given a name so they can be referred to later. Constants hold data that will NOT change while a program is running. Constants usually contain pin numbers or sensor threshold values. Variables contain data that WILL change while a program is running. Variables usually contain sensor values and other values that need to have mathematical operations done on them. Below is an example of how to create different constants and variables.


Conditional Statements Conditional statements run code enclosed by their curly brackets when a condition is met.


Loops Loops run the code enclosed by their curly brackets a specific amount of times or until a condition is met. While-loop While-loops are used to perform a task until a condition is met For-loop For-loops are used when you want something to run a specific number of times. Although they seem complicated at first, the structure of most for-loops is the same. In the parenthesis, the first part sets a variable (usually ‘i’ for ‘index’) to a value used to begin a count, the middle is the condition when the loop stops, and the third part is where you increment or decrement the counting variable.


Commonly Used Arduino Functions

Function What it does
pinMode(pin,mode) Sets a pin as an input or output
digitalWrite(pin, value) Sets a digital output pin to HIGH or LOW
digitalRead(pin) Reads an digital input pin as HIGH or LOW
analogWrite(pin, value) Sets an analog output pin to a value 0-1023
analogRead(pin) Reads an analog output pin as a value 0-1023
delay(milliseconds) Pauses the program for a certain amount of time
Serial.print(value) Prints the value (variable) to the Serial Monitor.

Thermal Insulation

Heat is a form of energy. Heat transfer is thermal energy that is transferred from one body to another as a result of a temperature difference. Temperature is the measure of the average kinetic energy of atomic motion. The faster the atoms are moving, the higher the temperature. In this lab, we will focus on the ways heat is transferred.

The specific mechanisms that convey energy from one location to another are conduction, convection, and radiation. If you put any two objects with different temperatures together, heat will be transferred from the object with the higher temperature to the one with the lower temperature until the system reaches equilibrium. Let's say you placed a hot bowl of soup on the kitchen table. What would happen? What if you placed a glass of ice water on the same table? Our job is to understand how this heat transfer occurs and how to slow the process down.

When there is a temperature difference within a solid body or between two solid bodies in contact with each other, energy (heat) will flow from the region of higher temperature to the region of lower temperature. This is known as conduction.

Imagine a metal rod that is heated at one end. The atoms of the rod collide at the point where the temperature differs, transferring heat until the temperature of the rod becomes uniform.

Convection is the transfer of heat within a fluid medium (fluids consist of gasses and liquids). Convection can occur in two different ways. The first way is known as natural convection. Natural convection occurs when the main mechanism for heat transfer is due to the temperature difference either within the fluid or at its boundaries. This difference in temperature causes the molecules in the higher temperature region to expand and rise due to buoyant forces. See Figure 1 for a diagram of natural convection. The second way in which convection occurs is called forced convection. Forced convection occurs when the main mechanism for heat transfer is due to the forced flow or motion of the fluid.

Figure 1: Air circulation diagram

Today we heat our homes through radiators using natural convection. Air flows through a heating element and then is dispersed through the room. Would it be helpful to put bigger fins on the heating element?

Suppose you wanted to disperse the heat even faster. In that case you could blow a fan past the heating elements. This is forced convection; it is one of the principles used in air conditioners to have a relatively small unit cool a large space.

According to the Encyclopedia Britannica, radiation is the process by which energy, in the form of electromagnetic radiation, is emitted by a heated surface in all directions. It travels to its point of absorption at the speed of light and does not require an intervening medium to carry it. The heating of the Earth by the Sun is an example of heat transfer by radiation.

Electromagnetic radiation is a mean of energy transfer that occurs when an atom absorbs energy. As we have seen earlier when heated atomic motion within a body increases. The energy absorbed by the atom causes some of its electrons to move around. For sake of stability, the electrons eventually come to its original state or position creating an electromagnetic wave. This EM wave can propagate as heat, light, ultraviolet, or other electromagnetic waves depending on the type of atom and the amount of energy absorbed.

Color is a property of light which is based on the frequency of the wave. When we see a specific color, our eyes literally receive an electromagnetic wave of a specific frequency. Materials that appear lighter (i.e. yellow) reflect more light (EM waves of a specific frequency) than darker ones. Following the same logic, when an object appears white, it virtually reflect all the EM waves coming to it while a "black" object absorbs it all.

Therefore, color (reflectivity) is to be considered when choosing materials for thermal insulation.

How would you feel out in the sun on hot day in a black t-shirt? How would you feel if your shirt were white? A black surface is an excellent absorber of heat, while a white surface is not. Silver is a poor heat absorber and reflects radiated energy; that is why rooftops of apartment houses are often painted silver.

Your container is a thermodynamic system – a part of the Universe separated from the surroundings by an imaginary boundary. There are three types of systems: open systems, closed systems and isolated systems.

Figure 2: Thermodynamic system with a boundary.

Open systems are systems where transfer of mass and heat is possible. For example, an open pot of boiling water is an open system – it exchanges heat with the air around it and water vapor. If collected, the water vapor can be condensed back to liquid water which has some mass.

Closed systems are systems where only heat can be transferred to the surroundings. A hermetically sealed bottle of soda is a closed system. If placed in a hot environment it absorbs energy in form of heat but the amount of liquid within does not change.

Isolated systems are systems which do not interact with the surroundings at all. No exchange is possible - neither heat nor mass. An ideal Thermos® is an isolated system. If hot chocolate is poured within, you will get the same amount back at the same temperature. No such system can be fabricated but can be approximated.

Now that we understand how heat is transferred, we must consider how to slow it down. Understanding how to minimize heat loss is the key to designing a successful insulating container.

The first consideration is the materials you choose. Using materials that are poor conductors of heat will minimize heat loss. Glass is one of these. Fiberglass insulation uses spun glass for its insulating effect.

Plastic is also a poor conductor of heat. Foam cups are made of plastic which has tiny air bubbles suspended in it. Air is among the poorest conductors of heat. It turns out that a vacuum, or the complete lack of air, is the best insulator of all. This is the principle employed in the Thermos design.

The other important consideration in creating your container is its cost. Minimal design uses the fewest resources while maintaining the safety and efficacy of your product. Engineers almost never have the luxury of designing products or systems where cost is not a factor. Given unlimited resources, you could most likely come up with a container that would maintain the egg's temperature almost indefinitely, but no one could afford to buy it from you. Balancing cost and effectiveness into your plans is a critical skill you will need later.

Another thing to consider is the method of data collection, because the way data is collected can cause many issues including providing incorrect data. To calculate changes in temperature, some devices that can be used are thermometers, thermistors, thermocouples, and RTDs.

Thermocouples consist of two wires of dissimilar metals and are usually welded together or attached on a junction. When the temperature at a junction changes, it generates thermoelectric potential (emf) which is proportional to the temperature difference between the two junctions. This voltage difference can be sued to measure the temperature at that junction.

Thermistors are thermally sensitive resistors that display changes in electrical resistance when subjected to a temperature change. Thermistors, like a thermocouple, utilize resistance to read temperature but do not require two different types of metal wire connected at a junction.

Thermometers are devices used to measure temperature or a temperature gradient utilizing a temperature sensor and some other means to convert the physical change to a digital change. Most digital thermometers utilize thermistors or lasers to calculate temperature.

In this lab, a thermocouple, thermistor, and thermometer will be used to collect data. Each of the different devices utilizes different technologies to gather the temperature data from the egg. The thermocouple collects data through the NI-ELVIS II+ board as it's built into the board itself. The thermistor operates through an Arduino. The thermometer is operated manually. This is done to check the accuracy of different types of devices and sensors as well as to determine the efficiency in the data collection method.

Design Considerations

Carefully consider the inconsistencies of the sensors that are used in the lab and the needs of a reliable product.

  • What is the accuracy and precision of the temperature sensor?
  • How could this sensor be incorporated into or to test a product?
  • What materials will insulate the best?
  • How can insulation be maximized and cost minimized?

Materials and Equipment

  • Arduino UNO microcontroller and USB cable
  • Computer with Arduino IDE
  • Breadboard and jumper wire
  • Resistors
    • 220 Ohms
    • 2.2k Ohms
  • LED
  • Pushbutton
  • TMP36


Starting a new sketch in Arduino

  1. Open the Arduino IDE
  2. Plug the Arduino/RedBoard into the computer
  3. In the Arduino IDE toolbar, go to Tools > Board and select “Arduino/Genuino Uno”
  4. Also in the Tools toolbar, select the correct port

Building Circuits on a Breadboard

Breadboards are small boards that are commonly used for circuit prototyping. They allow the connection of components that were discussed previously without making permanent connections. Change circuit to simpler circuit and HAVE students follow along to understand the concepts of: Which rows are powered How the break in rows stop current (needed for the button)

Figure 1: Breadboard Connections

As seen in the Figure 1, the internal connections of a breadboard are very specific. Sections A and D depict how the power rails stretch the length of the board. This is where the 5V and GND connections from the Arduino can be used to power the circuits. Sections B and C are where circuits are built. Below is an example of how to wire a breadboard from a schematic. Do NOT build this circuit, just follow along. See the lab 5 NI ELVIS Tutorial Video on the EG manual for more information on how to use breadboards.

Activity 1: Building an LED Circuit

  1. The first activity will be making a simple LED blinking circuit. The programming flowchart and circuit diagram are in Figure 3.
    Figure 3: LED Circuit Diagram and Flowchart
  2. First, wire the LED to the breadboard like in Figure 4. Remember, since LEDs are polarized, their orientation matters. The shorter leg of the LED should be connected to the same row as GND. The resistor is NECESSARY, otherwise too much current would flow and the LED will burn out! Make sure to wire power to the power (red) rail and the signal from 7 to the LED directly
    Figure 4: Arduino Wiring
  3. Now type the following code into a new sketch.
    LED code.jpg
    needs to define type - Marcus make screenshot
  4. The flowchart uses Digital Pin 7 on the Arduino as an output. Therefore, create a constant that holds the number 7 and in the setup area set Pin 7 as an output using pinMode. Then, turn the LED on by using digitalWrite, have a delay of one second, turn the LED off by using digitalWrite and then set another delay of one second.
  5. The LED circuit will be used in the next two activities. Do not deconstruct it.

Activity 2: Using a Button

  1. Activity 2 adds a button to the circuit from activity 1 and requires conditionals (think if-statement). The LED should be on when the button is pressed and off when the button isn’t pressed.
  2. Before you breadboard the circuit look at the bottom side (pin side) of the button to examine which pins are connected.

There is a line connecting the pins that are wired together internally on each side. See the schematic below, pins 1 and 2 are connected, and pins 3 and 4 are connected. Make sure the button straddles the break in the breadboard

  1. First, breadboard the circuit diagram in Figure 5 and sketch a flowchart of the program needed. Have a TA verify the flowchart.
    Figure 5: Button Circuit Diagram
  2. Write the Arduino program to implement the flowchart. Use an if statement
  3. Remember to create a constant that holds the pin number to which the button is connected and that the button will be a digital input. After the button constant, create an integer that will hold the button state:
    Button read.jpg
  4. Within the loop function, you must check the state of the button (whether it is pressed or not pressed), using the following code:
    Button state.jpg

Activity 3: Prototyping a Thermal Insulation Device and Product Evaluation

Competition Rules

The following rules must be observed at all times during the competition. Violation of any of these rules will result in the disqualification.

  • All materials must be inside the container.
  • The container may not be held or covered during temperature readings.
  • External heat sources are prohibited.
  • The rice bag must be inside the container within 30 seconds from when you receive

Materials with Price List

  • Large foam cup - $0.50
  • Lid - $0.25
  • Paper cup - $0.40
  • Styrofoam pieces - $0.05/6 pieces
  • Tape - $0.10/ft
  • Aluminum foil - $0.30/ft2
  • Plastic wrap - $0.02/ft2

"NO RETURN" POLICY: When calculating cost, you must include ALL materials you request, even if you end up not using them. Make your selections carefully so you don't end up with cost that hurts your performance, but has no benefit.


Building a Thermistor

    Using a thermistor and the Arduino, the temperature change of the rice bag will be recorded over the course of 15 minutes. The Arduino will read the temperature through the thermistor and print out the values into serial monitor.
    Figure 3: Arduino thermistor wiring diagram.
  1. Carefully remove the existing circuit, and wire the circuit according to the following configuration. A 10K Ohm resistor should be used.
  2. A thermistor is a thermal resistor, which is a resistor that changes resistance with temperature. Depending on the temperature that it detects, the amount of voltage that goes through the thermistor will change proportionally to the temperature. The thermistor can take an input voltage of either 3.3V or 5V, but 5V should be used in this experiment. Using the output voltage of the thermistor, it can be converted to a temperature reading.
  3. The Arduino should be taking a temperature reading every 30 seconds. The analog voltage value read through pin A0 should then be converted to a Fahrenheit reading using the pre-written function below. The temperature reading should be printed to the Serial monitor along with the seconds timestamp of the reading.
  4. Voltage to Fahrenheit function:
  5. Insert Picture of this code Hints: Think of where the conversion function should go (global, setup, or loop). To get the timestamp, the function millis() can be used. It outputs a timer count in milliseconds, but it must then be converted to seconds. Establish a Serial communication between the Arduino and the computer. The voltage value read from pin A0 should be passed into the conversion function, and the return value should be saved to a variable of type “float”. Below is an example of how to use a function. A number “num” is wished to be incremented, and there is a function called “increment” that will do so, and the output of the increment will be stored in a variable “result”. HintImg.jpg

Insulating Container Design

  1. Analyze your materials and consider your design options, keeping in mind the lab's specifications. Make sure you make preliminary sketches during this process.
  2. Now, sketch your design in pencil using the graph paper provided on the EG Website. Label your drawings clearly. Prepare a price-list for your insulating container based on the materials you have chosen. Have your TA sign the sketches and the price-list.
  3. Build your insulating container based on the sketch you just completed. Your TA will provide the materials needed for your design. If you decide to modify your design during the construction of your insulating container, note the changes and describe the reasons for them. If the modifications required more materials to be used, make sure you update your price list and your TA approves it.
  4. Ask your TA to take a picture of your container.

Arduino Thermistor Setup & Operation

  1. Wire the thermistor to the Arduino in the following configuration and connect the Arduino to the computer. Materials used here are jumper wires, breadboard, thermistor, 10k resistor, and an Arduino.
  2. Figure 3: Arduino thermistor wiring diagram.
  3. Download the Lab 11 Folder and unzip it to desktop.
  4. In the Lab 11 Folder, find and open the Thermistor.ino file.
  5. Figure 4: Picture of Arduino file.
  6. Click on the Tools tab from from the top of the Arduino IDE. Then click on the board and select “Arduino /Genuino Uno”.
  7. Figure 5: Selecting the correct board in the Arduino IDE.
  8. Check the port from the tools tab, and select the port that the Arduino is connected to. Make sure to note the port selected.
  9. Figure 6: Selecting the correct port in Arudino.
  10. Now UPLOAD the program to the Arduino Uno by pressing the upload button. Then close the Arduino IDE.
  11. Figure 7: Uploading the program to Arduino.
  12. Now double click the DAQ.py to run the python script. You will be prompted for a COM Port number. Enter the number noted in step 5.The script will run and collect the data by it self and save a csv file. The csv file will save as DATA.csv.
  13. If a file with the same name exists, the program will write the data in the same file.

NI-ELVIS Circuit

  1. Using two 100,000 Ω resistors (Brown, Black, Yellow), insert one end of each resistor into AIGND (row 18) of the NI-ELVIS board.
  2. Insert the other end of one of the resistors into the AI 7+ (row 15), and the end of the other resistor into AI 7- (row 16).
  3. Using a wire connect the AI 7+ port (row 15) to the screw terminal 1 port (row 46).
  4. Using a wire connect the AI 7- port (row 16) to the screw terminal 2 port (row 47).
  5. Insert the orange wire of the thermocouple to the screw terminal 2 jack and the yellow wire to the screw terminal 1 jack.

Digital Thermometer Usage

  1. Make sure that the unit selected is Farenheit.
  2. Attach the tip of the thermometer to the egg and check if the temperature is reading.
    1. This should be done after all the circuits are properly set up.

Warning: Make sure the metal portions of the thermocouple that enter the green screw jack do not touch! The tip of the thermocouple that is taped to the egg, however, should be twisted together. Otherwise, your results may be skewed.


  1. Download and open Therm_VI.vi. In the lower right-hand corner of the front panel is the device name. Run the program. If no data is being recorded, stop the program and change the device name. After the correct device has been chosen, run the program for approximately 30 seconds to obtain an average room temperature. Also, use the DAQ.py file to run the Arduino program for 30 seconds to collect the room temperature. The data from the Arduino is stored in a file called DATA.csv.
  2. Stop both programs after 30 seconds. The data should have been collected. Check to ensure that the data was collected.
  3. Using another excel file or notebook, write down the average room temperature found using both the NI-ELVIS board and the Arduino. In the DATA.csv don't write the average value in the row, use the column instead.
  4. Secure a length of duct tape, large enough to encircle the egg, to the other end of the thermocouple, thermometer and thermistor. Note: The thermocouple, thermistor wire and the thermometer's tip must remain in constant contact with the egg throughout the 15-minute measurement period. Ensure that they are attached securely.
  5. The TA will bring the egg to you once you are ready to receive it. Attach the other end of the thermocouple, thermistor and thermometer to the egg using the tape you prepared. Be sure the ends of the tape overlap. Make sure the container is closed tightly.
  6. Warning: Be careful! The egg is very hot. DO NOT TOUCH THE EGG WITH BARE HANDS
  7. Start the LabVIEW VI and launch the DAQ.py program simultaneously (see Figure 8 for the VI ). Your TA will already have calibrated the VI.
  8. Using the stopwatch started by the TA, read and collect the Thermometer data every minute for the next 15 mins (15 data points total). After the time ends, stop the VI and close out of the DAQ.py program. Warning: Make sure the program is set to Run. This will allow the VI to record 30 temperature readings to an Excel spreadsheet.
  9. The data from the thermocouple, thermistor and thermometer will allow for further analysis. The Arduino data from the DATA.csv file will be used to attain the IC for the competition calculation.
    Figure 8: NI-ELVIS Temperature Check.

Data Analysis

  1. Create two graphs using the X, Y Scatter template. You'll find the template on the Insert tab, under the Charts group, with the Scatter icon. Click on the arrow below the icon and select the top left icon in the pulldown gallery. You can get the axes you want by clicking on the axis. You can get labels and titles by clicking on the chart, which will change the ribbon to the Design tab. In the Charts Layout group, click the icon that looks like the chart you want. Right click on the things you want to change.
  2. For each of the different devices used to collect data, name the x-axis Time. Plot it in minutes with thirty second intervals for the thermocouple (NI-ELVIS), fifteen second interval for fifteen minutes for the Thermistor(Arduino) and thermometer. You may need to divide the Arduino data by 60 to convert to minutes. T Name the y-axis Temperature. You may select the intervals based on your results. The first graph includes the first fifteen minutes of testing. The second graph is the entire time. When you are finished, your graphs should look similar to Figure 3.
  3. Figure 9: Temperature vs. Time diagram of first 15 minutes of VI run
  4. Calculate the Insulating Capacity (IC) of your design. IC is the value of the slope of the graph of the first fifteen minutes of data. The IC is calculated using the data from the Arduino for this lab. The data for the Arduino can be found in the DATA.csv file, in the folder containing the DAQ.py file.
  5. Once again, click on the chart to get the Design tab on the ribbon. Under the Chart Layouts group, click on the chart template that has a trend line. As before, right click on the various items to make them what you want, including deleting things. Finally, right click on the trend line. This will bring up the Format Trendline window. On the left side, the Trendline Options item should be highlighted. If it isn't, click on it to highlight it. On the right side near the bottom is an item Display Equation on chart. Click on the check box to the left of this item and click Close. You can then click on the equation that's on the chart to move it where you want.
  6. Calculate the Minimal Design Ratio (MDR) for your design:
  7. IC is the insulating capacity you calculated earlier, for the competition Arduino data is used for the IC. Cost is the cost of your container, TR is the temperature of the room given to you by the TA, and TF is the final temperature read by the thermocouple. Check the MDR using data from all the devices for a better reference. Again, please use IC from Arduino to calculate the final MDR.

Note: If your average room temperature is significantly different from the TA's average, let the TA know.

The team with the lowest MDR wins.

Your lab work is now complete. Please clean up your workstation. Return all unused materials to your TA. Refer to section 3 Your Assignment for the instructions you need to prepare your lab report.


Team Lab Report

Note: Since this lab is a competition, you will be writing a team lab report rather than an individual one. See the Team Authoring Strategies page in the Technical Communication of this online manual for guidance of how to do this.

Additionally, all students who are working on the RAD project should not be submitting a Lab 11 Report. Your Final Design Report is due in its place, to be submitted with your Final Submission.

Follow the lab report guidelines laid out in the page called Specifications for Writing Your Lab Reports in the Technical Communication section of this manual. As you write, the following discussion points should be addressed in the appropriate section of your lab report:

  • Describe the rules of the competition in your introduction. What consequences did the rules have for your design decisions? Use the appropriate equations in your answer. You may do this in a numbered list, but please use full sentences.
  • Explain equilibrium, heat, heat transfer and all the mechanisms that perform heat transfer. Discuss which of these mechanisms applied to your design.
  • Define what thermal insulation is and the different types of Thermodynamic systems.
  • Discuss minimal design and its importance.
  • Describe the three different types of devices used to measure the temperature in this lab.
  • Discuss which device (Arduino, NI-ELVIS, Analog Thermometer) provided a better temperature reading. Why does one device perform better than the other? (Hint: Check the configuration, the program, the device type, etc.)
  • Describe your container's design. Explain the choices you made. Make sure you include a discussion of the materials you chose and why. Talk about your team's strategy for winning the competition.
  • What changes would have increased/decreased your MDR or IC?
  • Discuss the different IC's achieved from the data of different devices. Which device provides better data quality?
  • Should the temperature vs. time graph be smooth or should it have spikes? Explain how closely your curve approximates the ideal and what would affect the readings you recorded.
  • Describe how your design succeeded or failed. Discuss design improvements.
  • Include spreadsheet with every team's results. Describe the results and talk about other designs in the class.

Note: It is not unusual to experience instrumentation errors in this lab, leading to incorrect temperatures being recorded. Be sure to read How to Handle Unusual Data in the online manual to learn how to handle this.

Remember: Lab notes must be taken. Experimental details are easily forgotten unless written down. EG1004 Lab Notes Paper can be downloaded and printed from the EG1004 Website. Use the lab notes to write the Procedure section of the lab report. At the end of each lab, a TA will scan the lab notes and upload them to the Lab Documents section of the EG1004 Website. One point of extra credit is awarded if the lab notes are attached at the end of the lab report. Keeping careful notes is an essential component of all scientific practice.

Team PowerPoint Presentation

Follow the presentation guidelines laid out in the page called EG1003 Lab Presentation Format in the Introduction to Technical Presentations section of this manual. When you are preparing your presentation, consider the following points:

  • What is the importance of minimal design?
  • Why is it important in today's world to minimize heat loss?
  • What is the importance of proper data collection method and automation?
  • Why are there three different devices used to gather data? What is the significance of using three different devices?
  • Is there any benefit to using one data collection method over the other?
  • How would you improve your design?

Return to Table of Contents