How to detect and send digital I/O using matlab? (not simulink)

8 views (last 30 days)
How to use matlab to detect and generate digital input output form a NiDAQ using matlab?
I do not want to use simulink. Is that even possible? I have a sensor and a LED light. When I put my figure near the sensor the LED turn on, when I let go the LED will go off. IS that even possible in Matlab? I believe matlab don't run things continuously.
e.g while (true) If detect digital signal iniput from port 0 line 0 (Sensor) pause(.1) send digital signal output to port 0 line 1 (LED) pause(.1) send the inverse siganl to port 0 line 1 (turn off LED) end
end

Answers (2)

Walter Roberson
Walter Roberson on 5 Dec 2013
You already asked that three times before. Search the documentation for DIO
  16 Comments
Walter Roberson
Walter Roberson on 11 Dec 2013
Legacy interface instead of Session-based interface should be fine. You will need at least R2011b for the session-based interface for that device, and I see noted some bugs for support of the device before R2011b (but I did not cross-check which interface that was for.)
Beyond that I will need to research more.
Kelly
Kelly on 12 Dec 2013
DIO = digitalio('nidaq','Dev1')
Error using digitalio (line 117) Failure to find requested data acquisition device: nidaqmx.
The legacy interface isn't working probably, but it doesn't matter to me anyways. I just want it to work. So to the question. how to do the following with session base interface?
% code
If (digital output at port 0 line 1 == True) % sensor detection
send digital output to port 0 line 2; turn on led
send an inverse output to port 0 line 2; turn off led
end

Sign in to comment.


Kelly
Kelly on 6 Dec 2013
^ what do you mean by the documentation of DIO

Categories

Find more on Hardware Discovery and Setup in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!