I have very little exposure to Arduinos. I have the following schematic layout from a DAQ board:
I need to connect the digital side (pins 21-40) to the Arduino Due. Apart from connecting . . .
- FLEX_SCL pin on the DAQ board to pin 21 on the Arduino Due
- FLEX SDA pin on the DAQ board to pin 20 on the Arduino Due
- FLEX_nDRY on the DAQ board to pin 3 on the Arduino Due
- FLEX_nRST on the DAQ board to pin 4 on the Arduino Due
. . . how and where do I connect the rest of the digital ground and 5V input on the DAQ board to the Arduino Due? Do I have to connect the pins on the right of the schematic as well?
5V in would imply the dac board is a 5 volt device which is going to be a problem - since the Due is. 3.3 volt only device. Apply 5 volts to any input and you’ll blow it up.
The best advice I can post is to please post a link to the dac board. Anything less and you’re just getting un-informed speculation.
The device in the link does not match the pins you’ve shown in your original post. All pins that start with the “Flex_” prefix do not exist in the device. Refer to page 22 of:
The DAQ is designed to interface with a PC through USB. What is the intent/point of connecting it to a Due? I don’t understand what your goal is.
I am collecting analog data from piezo sensors and digital data from Bend Labs' 1-Axis Flex Sensor. I have a customized PCB for data collection which transfers data via DB25 cable to another customized data shield PCB. This data shield PCB is stacked on top of the MCC USB1608-fs DAQ board (the device disassembled, and only using the bottom board). The schematic is for the data shield PCB and header pins of the bottom board of the USB1608-fs DAQ device are aligned and connect to the pins of the data shield PCB. I was successful in acquiring analog data through the USB-B output from the USB1608-fs device. Two of the pins of the bottom board of the USB1608-fs connect to pins of the Arduino Due using I2C protocol (SCL and SDA). I plan to collect digital data through the Arduino IDE (later using MATLAB).
The "flex" prefix is in reference to data coming from the flex sensor. Two of the pins in the schematic are SDA and SCL (I2C) for the Arduino Due. nDRY and nRST are reset and interrupt pins which are specific to code provided by the flex sensor creators.
I was in fact having trouble with finding the correct I2C addresses on the Arduino IDE.
I've tried many different I2C scanners and they returned strange outputs:
- Returns 1 valid memory address where I2C device is found, but only for the first iteration of the scan. All future iterations of the scan output "No I2C device found."
- Returns 2 valid memory addresses but only for the first iteration
- Returns every possible memory address for which an I2C device is found
Being unable to debug this issue (and with minimal experience), I wanted to ensure the pins were connected correctly.
I2C is an open drain network, pull-up resistors are required, typically on both ends of the connections. The Due board has built in 1K5 pull-ups to 3.3 volts.
It sounds like you have 3.3 volts on the Due and 5 volts on the DAQ board side. That will be a problem. You’ll need a bi-directional level translator between the two devices as well as pull-up resistors on the DAQ board end for reliable communications.
Only one set of Pull-up resistors are needed for the entire I2C bus. SDA/SCL have already pull-ups (1K or 1.5K depending on your board ...), so you don't want to have another set of resistors on DAC side.
SDA1/SCL1 don't have pull-ups.
This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.