LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Detecting Peripheral Motion with Labview

Hi all,

 

I am very new to LabView, so I am very confused. My professor just put us in front of the computer, and is having us create a project with little background... but it has been fun!

 

I am designing an IV in hopes to test detecting peripheral motion. I am using an EOG to measure the time an eye saccades over to the motion displayed on the screen. I will take the time the motion began from when the eye saccade started to determine reaction time. 

 

I am having a lot of trouble. I got two pictures to begin to move after a prescribed time (5s) and I am able to have the computer read the signal from the EOG. However, I am having a lot of trouble reading all this data into an excel spreadsheet. I want the loop for the pictures to read a true/false value; when the loop is off, it is false and when the loop is on it is true. This would give me the exact time the motion began. Then, on the same time scale, I would like to record the voltages associated with the eye movements from the EOG (using DAQ). 

 

I know all the hardware is working correctly, as I can see the voltages being read when I run the IV, but the values just are not saving into the excel.

 

Any help would be much appreciated!!

Rob
0 Kudos
Message 1 of 2
(2,257 Views)

So I am familiar with IVs -- they are used to give Intra-Venous solutions to a patient.  I am also familiar with VIs -- they are Virtual Instruments, designed to mimic various pieces of hardware using the Graphical Programming Language "LabVIEW" (the "VI" in LabVIEW actually stands for "Virtual Instrument", and should always be capitalized).

 

Since you are just getting started in LabVIEW, I regret to tell you that you have "bitten off a bit more than you can chew".  It is useful to get some grasp of the concept of Data Flow programming, which says (in effect) that a Structure (Loop, sub-VI, etc.) cannot start until all of its inputs have data, and that none of the outputs will have data until the Structure exits.  [There are a few exceptions, but that's a More Advanced Topic].

 

One immediate consequence of this Rule is that it makes no sense to have two Timing Functions in the same loop, particularly if they are not "connected" to anything -- the one that finishes first is ignored, and the one that finishes last "rules".

 

Another thing to learn is to (almost) Always Use the Error Line -- it is one of the many ways to impose sequential order in LabVIEW.  [Data Flow implies that LabVIEW can execute multiple loops and functions effectively at the same time, in parallel, unless you "order" them using wires].

 

Finally, go on the Web and look up "Learn 10 Functions in NI-DAQmx", read the NI White Paper, and try to resolve to never use the Dreaded DAQ Assistant, nor its Evil Twin, the Dynamic Data Wire.  Learn how to use Waveforms.

 

Don't try to do everything all at once.  Get "pieces" of your code working, come back when you are ready for the "next step".  Try to design "intelligently" -- think about what you want to do, and how you might want to process your results.

 

Incidentally, I've also recorded EOG (and 3D Eye Coil) data, so I'm at least familiar with the paradigm ...

 

Bob Schor

0 Kudos
Message 2 of 2
(2,236 Views)