- Wed Jul 23, 2014 11:25 am
#172976
Hardware:
KTA-223 USB Relay Board (https://www.sparkfun.com/products/9526)
SFE DS1307 RTC breakout board (https://www.sparkfun.com/products/12708)
IDE:
Arduino 1:1.0.5+dfsg2-2
I'm trying to use the DS1307 RTC breakout board with the Arduino Duemilanove-based KTA-223 relay board, as alluded to in the user's manual, the SFE KTA-223 product page, and the 'Example I2C firmware' linked to from the product page, with no success.
The KTS-223 board has a dedicated location for the RTC breakout board. The 'plumbing' for that connection, unfortunately, is not connected to the hardware I2C peripheral on the processor, so the I2C interface is bit-banged (or bit-bungled in this case).
The example firmware linked to from the product page, apparently, is not specific to this board and has to be modified appropriately, changing a couple of #define statements, to specify the correct IO pins used for the RTC module socket on the KTA-223 ( SDA=D12, SCL=D13). Also, there were some compile errors in the SoftI2CMaster library that had to be fixed to successfully compile. Aside from that, the demo source code (softD1307.pde) is unmodified.
The example code fails to successfully communicate with the RTC module. The SCL and SDA signals are wiggling. However, the signals don't look right. The initial communication with the RTC module appears to start correctly, but toward the end of that communication, it looks like something gets munged (possibly bus contention, or misconfiguration of IO pins during the bit banging). The SDA line output drops to about 2Volts for a a couple of bits. Then after that initial communication attempt, the SDA and SCL lines are left in a LOW state and do not initiate the I2C start sequence correctly in the next transaction attempt (as if they should have been left HIGH from the previous transaction, but something was bungled and they were left LOW).
If I move the RTC module over to the hardware I2C interface and flip the compiler directive in the softD1307.pde example source code to use the hardware I2C, it works flawlessly.
The down-side to this solution is that
a) I have other plans for the hardware I2C pins
b) I cannot use the designated plug on the KTA-223 board for the RTC, which is a direct plug in for the RTC module.
Does anyone have any (positive) experience with the SoftI2cMaster library?
Has anyone successfully integrated the RTC module with this board (or other Arduino boards) using provided soft I2C library, or are the allusions in the product manual and on the SFE product page untested suppositions?
I've tried sending a product support message to Ocean Controls, but they have not yet responded.
Here's a link to the library and demo source code package I'm using. The demo source is 'softD1307.pde'...
http://www.sparkfun.com/datasheets/DevT ... Master.zip
KTA-223 USB Relay Board (https://www.sparkfun.com/products/9526)
SFE DS1307 RTC breakout board (https://www.sparkfun.com/products/12708)
IDE:
Arduino 1:1.0.5+dfsg2-2
I'm trying to use the DS1307 RTC breakout board with the Arduino Duemilanove-based KTA-223 relay board, as alluded to in the user's manual, the SFE KTA-223 product page, and the 'Example I2C firmware' linked to from the product page, with no success.
The KTS-223 board has a dedicated location for the RTC breakout board. The 'plumbing' for that connection, unfortunately, is not connected to the hardware I2C peripheral on the processor, so the I2C interface is bit-banged (or bit-bungled in this case).
The example firmware linked to from the product page, apparently, is not specific to this board and has to be modified appropriately, changing a couple of #define statements, to specify the correct IO pins used for the RTC module socket on the KTA-223 ( SDA=D12, SCL=D13). Also, there were some compile errors in the SoftI2CMaster library that had to be fixed to successfully compile. Aside from that, the demo source code (softD1307.pde) is unmodified.
The example code fails to successfully communicate with the RTC module. The SCL and SDA signals are wiggling. However, the signals don't look right. The initial communication with the RTC module appears to start correctly, but toward the end of that communication, it looks like something gets munged (possibly bus contention, or misconfiguration of IO pins during the bit banging). The SDA line output drops to about 2Volts for a a couple of bits. Then after that initial communication attempt, the SDA and SCL lines are left in a LOW state and do not initiate the I2C start sequence correctly in the next transaction attempt (as if they should have been left HIGH from the previous transaction, but something was bungled and they were left LOW).
If I move the RTC module over to the hardware I2C interface and flip the compiler directive in the softD1307.pde example source code to use the hardware I2C, it works flawlessly.
The down-side to this solution is that
a) I have other plans for the hardware I2C pins
b) I cannot use the designated plug on the KTA-223 board for the RTC, which is a direct plug in for the RTC module.
Does anyone have any (positive) experience with the SoftI2cMaster library?
Has anyone successfully integrated the RTC module with this board (or other Arduino boards) using provided soft I2C library, or are the allusions in the product manual and on the SFE product page untested suppositions?
I've tried sending a product support message to Ocean Controls, but they have not yet responded.
Here's a link to the library and demo source code package I'm using. The demo source is 'softD1307.pde'...
http://www.sparkfun.com/datasheets/DevT ... Master.zip