Difference between revisions of "EGR 103/DAQ 1"

From PrattWiki
Jump to navigation Jump to search
 
(30 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page contains pictures and graphs related to Data Acquisition Laboratory 1 (DAQ 1) of [[EGR 103]]. It has been updated for Fall, 2012.
+
 
 +
== '''Note:''' For Fall 2019 and after, you will want the [[Python:DAQ_1]] page. ==
 +
<!--
 +
== Introduction ==
 +
This page contains pictures and graphs related to Data Acquisition Laboratory 1 (DAQ 1) of [[EGR 103]]. It has been updated for Spring, 2018.  This page underwent a major revision in Fall of 2017 based on the DAQmx drivers and MATLAB's elimination of legacy toolbox codes.
  
 
== Supporting Pundit Pages ==
 
== Supporting Pundit Pages ==
 
*[[MATLAB:CB-68LP Pinout]]
 
*[[MATLAB:CB-68LP Pinout]]
 
*[[Resistor Color Codes]]
 
*[[Resistor Color Codes]]
 +
*[[Transferring_Files]]
 +
 
== Typographical Errors / Clarifications ==
 
== Typographical Errors / Clarifications ==
None yet for Fall, 2012
+
* If the computer says your device is not found, try 'Dev2' instead of 'Dev1' in the
 +
addDigitalChannel(s,'Dev1','Port0/Line0:2','OutputOnly')
 +
: line.
 +
* Before running the program, the person at the DAQ machine will need to install the pydaqmx module:
 +
** Go to the Start button, find the Anaconda3 folder, and click the Anaconda prompt
 +
** In the Anaconda terminal that just opened, type
 +
pip install pydaqmx
 +
** One it is done installing (or confirms that it is installed), close the Anaconda terminal
  
 
== Equipment Used ==
 
== Equipment Used ==
Line 30: Line 43:
 
For the main part of the board, half-columns are connected together.  For example, rows (ABCDE) in column 3 are all connected.  Note, however, that ABCDE are not connected to FGHIJ.
 
For the main part of the board, half-columns are connected together.  For example, rows (ABCDE) in column 3 are all connected.  Note, however, that ABCDE are not connected to FGHIJ.
  
Also, there are some helpful index numbers at the top and bottom to help determine which column you are in.  For rows X and Y, some indices do not exist.  For example, there are not Pins X6, X12, or X18, nor Y6, Y12, or Y18.
+
Also, there are some helpful index numbers at the top and bottom to help determine which column you are in.  For rows X and Y, some indices do not exist.  For example, there is no pin at X6, X12, X18, Y6, Y12, or Y18.
 
<br clear=all />
 
<br clear=all />
  
Line 41: Line 54:
 
[[Image:DAQ1LEDs.jpg|thumb|Several Light Emitting Diodes]]
 
[[Image:DAQ1LEDs.jpg|thumb|Several Light Emitting Diodes]]
 
[[Image:DAQ1LEDsClose.jpg|thumb|Closeup of two round LEDs]]
 
[[Image:DAQ1LEDsClose.jpg|thumb|Closeup of two round LEDs]]
[[File:LED, 5mm, green (en).svg|thumb|Drawing of LED from Wikipedia [http://en.wikipedia.org/wiki/Light-emitting_diode Light-emitting_diode] page]]
+
[[File:LED,_5mm,_green_(en).svg|thumb|Drawing of LED from Wikipedia [http://en.wikipedia.org/wiki/Light-emitting_diode Light-emitting_diode] page]]
 
A diode is an electrical element that generally only allows current to flow in one direction - and only after there is a sufficient voltage difference across the appropriate terminals.
 
A diode is an electrical element that generally only allows current to flow in one direction - and only after there is a sufficient voltage difference across the appropriate terminals.
 
LEDs - Light Emitting Diodes - are a special form of diode that emit light when current flows through them.
 
LEDs - Light Emitting Diodes - are a special form of diode that emit light when current flows through them.
Line 54: Line 67:
 
[[Image:DAQ1Circuit.jpg|thumb|Circuit built on breadboard]]
 
[[Image:DAQ1Circuit.jpg|thumb|Circuit built on breadboard]]
 
[[Image:DAQ1Wiring.jpg|thumb|Connections to CB-68LP]]
 
[[Image:DAQ1Wiring.jpg|thumb|Connections to CB-68LP]]
'''''IMPORTANT NOTE''''' For the Fall 2011 semester for DAQ 1, the ''green'' wires in the pictures at right will '''not''' be used.
 
 
 
The pictures at right show both the breadboard and the CB-68LP once everything has been properly connected.  Note especially on the CB-68LP where the wires are - there will be no connections in the first two columns and there is only one connection - the black wire for digital ground - in the fifth column.
 
The pictures at right show both the breadboard and the CB-68LP once everything has been properly connected.  Note especially on the CB-68LP where the wires are - there will be no connections in the first two columns and there is only one connection - the black wire for digital ground - in the fifth column.
 
<br clear=all />
 
<br clear=all />
  
 
== Code ==
 
== Code ==
The following code listing is for <code>BasicDOutput.m</code>
+
The following code listing is for <code>ThreeBits.m</code>
 
<source lang="matlab">
 
<source lang="matlab">
% Prepare workspace
+
% Clear out workspace
clear; format short e
+
clear
  
% Clear out DAQ object
+
% Create a session
delete(daqfind)
+
s = daq.createSession('ni')
  
% Create Digital I/O Object
+
% Add output lines to session
DIO = digitalio('nidaq', 'Dev1')
+
addDigitalChannel(s,'Dev1','Port0/Line0:2','OutputOnly')
 
 
% Add output lines to Digital I/O Object
 
DOutputs = addline(DIO, 0:2, 'out')
 
  
 
% Writing values to output lines using binary
 
% Writing values to output lines using binary
putvalue(DOutputs, [1 1 1]);
+
outputSingleScan(s, [1 1 1]);
 
fprintf('Press return to continue\n');
 
fprintf('Press return to continue\n');
 
pause
 
pause
putvalue(DOutputs, [0 0 0]);
+
outputSingleScan(s, [0 0 0]);
  
 
% Writing values to output lines using base 10
 
% Writing values to output lines using base 10
 
MyVal = 0
 
MyVal = 0
 
while 0<=MyVal & MyVal<=7
 
while 0<=MyVal & MyVal<=7
     putvalue(DOutputs, MyVal)
+
     MyBinVal = decimalToBinaryVector(MyVal, 3, 'LSBFirst');
     fprintf('Displaying %0.0f as %c %c %c\n', ...
+
    outputSingleScan(s, MyBinVal);
         MyVal, dec2bin(MyVal, 3))
+
     fprintf('Displaying %d as %d %d %d\n', ...  
     MyVal = floor(input('Enter a number between 0 and 7: '));
+
         MyVal, MyBinVal(end:-1:1))                  
 +
     MyVal = floor(input('Enter a number between 0 and 7: '));  
 
end
 
end
  
 
% Turn all outputs off
 
% Turn all outputs off
putvalue(DOutputs, [0 0 0])
+
outputSingleScan(s, [0 0 0]);
 
</source>
 
</source>
 +
 +
== Other Resources ==
 +
* Landing Lights Animation:
 +
[[File:LLGifSmall.gif]]
  
 
== Questions ==
 
== Questions ==
Line 104: Line 117:
  
 
[[Category:EGR 103]]
 
[[Category:EGR 103]]
 +
-->

Latest revision as of 17:13, 7 October 2019

Note: For Fall 2019 and after, you will want the Python:DAQ_1 page.