-
Notifications
You must be signed in to change notification settings - Fork 0
How to Connect to the USB 6008OEM Board!
Andres Torres edited this page Jul 7, 2021
·
2 revisions
I (@Ahsoka) managed to create a simple program that connects to the USB-6008OEM Board in the SEAL kit!
Here is a cleaned-up version of the code I used:
>>> import nidaqmx.system
>>> system = nidaqmx.system.System.local()
>> device = system.devices['Dev1']
>>> device
Device(name=Dev1)
>>> device.product_type
'USB-6008OEM1'
>>> device.terminals
['/Dev1/ai/StartTrigger', '/Dev1/PFI0']
>>> device.ao_voltage_rngs
[0.0, 5.0]
>>> device.ai_voltage_rngs
[-1.0, 1.0, -1.25, 1.25, -2.0, 2.0, -2.5, 2.5, -4.0, 4.0, -5.0, 5.0, -10.0, 10.0, -20.0, 20.0]
Although I am a no expert in this area, I can be pretty sure I successfully connected to the board because of the information displayed above. Let's go over why the information indicates this.
- The first major indication is that
device.product_type
returns'USB-6008OEM1'
which the exact model of the board in the SEAL kit (as was uncovered in this wiki page). -
device.terminals
returns a list which contains the string'/Dev1/PFI0'
. The textPFI0
appears in the code written by Dr. Jay Winkler here and here. This is likely some type of communication channel we have yet to figure out how to utilize. - The values in the list returned by
device.ao_voltage_rngs
directly correspond to the values in the technical specifications of the board. In this context,ao
inao_voltage_rngs
is believed to stand for "analog output." If we examine the Analog Output section of the technical specifications the Output Range row lists 0V to +5V, the exact result seen above. - Building on the previous bullet point, the list returned by
device.ai_voltage_rngs
also directly corresponds to the information provided in the technical specifications. Hereai
inai_voltage_rngs
is believed to stand for "Analog Inputs." If we examine the Analog Inputs section in the technical specifications we can see the values listed in the Input Range/Differential row match up exactly with the values listed in the result above.
The next important step is figuring out how to actually communicate with the board. After some light research into this subject area I learned that NI-DAQmx has an entire specification for communicating with boards within its ecosystem. I found this website which documents this specification in detail. This documentation is the best place to start.