ddodge
Junior Member

Posts: 75
|
Post by ddodge on Feb 26, 2019 11:46:49 GMT -8
Purchased version 2 of the SDL 4 channel mux board to help alleviate I2C address conflicts. I have GROVE wire connected from JP1 to an I2C connected on OurWeather ESP8266 board. Installed library for board into the IDE and loaded up example sketch:
SDL_Arduino_TCA9545 Library Test Code // SDL_Arduino_TCA9545.cpp Arduino code - runs in continuous mode // Version 1.1 // SwitchDoc Labs April 10, 2015
Sketch runs but does not find any I2C devices even though the OurWeather board has a BME280 on it with I2C devices built in I have a valid I2C device plugged into I2C-3 Grove connector but it does not see it. I've also run the test script for the Grove Digital Extender board and it won't find any I2C devices either. I am starting to think I am doing something wrong in general...
Thoughts? Thanks!
|
|
ddodge
Junior Member

Posts: 75
|
Post by ddodge on Feb 26, 2019 13:50:11 GMT -8
SDL: Please let me know if you think I have a bad board. I am running the test SW for this board which, as above, cannot find any I2C addresses. The error code returned is "2". I used another I2C scan program I found on Instructables. Works fine. Sees the I2C devices INCLUDING the MUX board at 0x73. However, the scanner finds nothing connected to the MUX board - no matter which Grove connector is used. JP1 Grove is connected to OurWeather ESP8266 Grove. an LED display board is connected to one of the I2C bus connectors on the MUX board. There is power to all the GRove connectors. If I move the LED display off the MUX onto the OurWeather board, the I2C scanner program picks it up - 0x3C. I cannot find anything in the documentation on hooking up the MUX board other than simply plugging in the Grove connectors. I even tried JP8 connected to a VCC and the LEDs on the board stayed dark. I added code to the I2C scanner program from what I saw in the MUX test script:
#include <SDL_Arduino_TCA9545.h> // I2C MUX SDL_Arduino_TCA9545 TCA9545;
oid setup() { Serial.begin(115200); TCA9545.TCA9545SetConfig(); TCA9545.write_control_register(TCA9545_CONFIG_BUS0); TCA9545.write_control_register(TCA9545_CONFIG_BUS1); TCA9545.write_control_register(TCA9545_CONFIG_BUS2); TCA9545.write_control_register(TCA9545_CONFIG_BUS3);
What am I doing wrong OR do I have a bad board. Thanks for your help
|
|
|
Post by SDL on Feb 27, 2019 15:15:14 GMT -8
One question:
Post a picture of your setup, closely enough that I can trace the wires of the I2C max. I think you don't have the max plugged into the I2C max board. You say the scanner picks up NOTHING on the bus? Not even the onboard barometer?
BP
|
|
ddodge
Junior Member

Posts: 75
|
Post by ddodge on Feb 28, 2019 6:53:36 GMT -8
Here is a pic of the board wired up to OurWeather ESP8266 The 4-channel MUX has a Grove wire attached to JP1 on the Mux which goes to an I2C Grove connector on the digital extension board which is connected to OurWeather via a Grove to PIN wire. Connected to the 4-channel MUX is my A/D board with the air quality sensor attached to it the A/D board is JP2 Running SDL_Arduino_TCA9545_Test script against this setup produces the following output: SDA_Arduino_TCA9545_Test Reading all four I2C Buses ------------------------------ ------------------------------ ------------------------------ ------------------------------ Bus 0 Control Register:F Scanning... No I2C devices found ------------------------------ Bus 1 Control Register:F Scanning... No I2C devices found ------------------------------ Bus 2 Control Register:F Scanning... No I2C devices found ------------------------------ Bus 3 Control Register:F Scanning... No I2C devices found If I totally disconnect the 4-channel mux and run the script I get the same results. The following is the code I added to V35 of OurWeather: I have the A/D & air quality sensor connected to the 4-channel mux - You can see from the picture the air quality sensor is not found (NP) If I connect the A/D & air quality sensor directly to an I2C grove connector on the digital extention board, the sensor is picked up just fine #include <SDL_Arduino_TCA9545.h> // DD V1.2 drivers for 4-channel MUX SDL_Arduino_TCA9545 TCA9545; void setup() { Serial.begin(115200); Wire.begin(); TCA9545.TCA9545SetConfig(); Serial.println("SDA_Arduino_TCA9545 setup..."); I apologize but I could not see a way to upload a picture for you so I emailed it to: [email protected]Subject: Using SDL_Arduino_TCA945_Test example code
|
|
ddodge
Junior Member

Posts: 75
|
Post by ddodge on Feb 28, 2019 7:04:32 GMT -8
Also, just to give you a bit more detail... I added my own code to OurWeather 35 to do an I2C bus scan at startup Here are the results with the 4 channel mux board connected. As you can see, it picks up 0x73 which is the mux
I2C Scanner to scan for devices on each port pair D0 to D7 Scanning (SDA : SCL) - GPIO16 : GPIO5 - No I2C devices found Scanning (SDA : SCL) - GPIO16 : GPIO4 - No I2C devices found Scanning (SDA : SCL) - GPIO5 : GPIO16 - No I2C devices found Scanning (SDA : SCL) - GPIO5 : GPIO4 - I2C device found at address 0x21 ! I2C device found at address 0x3C ! I2C device found at address 0x49 ! I2C device found at address 0x57 ! I2C device found at address 0x60 ! I2C device found at address 0x68 ! I2C device found at address 0x73 ! I2C device found at address 0x77 ! **********************************
|
|
|
Post by SDL on Feb 28, 2019 12:06:01 GMT -8
73 is the TCA9545 board. You are seeing it!
Thanks for the picture, it was helpful. Looks like you have wired it appropriately.. Would you try one more thing? It could be you have too many pull-ups on the I2C bus. Plug the I2C Mux directly into the WeatherPlus board and re-run the test with only the i2C Mux on the external bus.
BP
|
|
ddodge
Junior Member

Posts: 75
|
Post by ddodge on Mar 1, 2019 5:58:06 GMT -8
Thanks for the feedback. I did connected the MUX board directly to an I2C connecter on OurWeather. Ran both V35 SW and the TCA9545 test program. Still cannot pick up the devices ------------------------------ ------------------------------ Bus 0 Control Register:F Scanning... No I2C devices found
------------------------------ Bus 1 Control Register:F Scanning... No I2C devices found
------------------------------ Bus 2 Control Register:F Scanning... No I2C devices found
------------------------------ Bus 3 Control Register:F Scanning... No I2C devices found
|
|
|
Post by SDL on Mar 1, 2019 10:46:03 GMT -8
Sounds like you have a bad one. Here is an RMA #. Send it to: (include your shipping address)
SwitchDoc Labs RMA# 030119-01 909 S Shelley Lake Lane Spokane Valley, WA 99037
BP
|
|
ddodge
Junior Member

Posts: 75
|
Post by ddodge on Mar 2, 2019 13:30:25 GMT -8
Return on the way USPS tracking 9500112468939061307217
Thanks!
|
|
|
Post by SDL on Mar 3, 2019 13:42:45 GMT -8
I think you are using the wrong SDA and SCL and the tis why you aren't seeing the I2C max. It is unlikely there is a problem, but my revelation may have come too late.
This is the key.
Scanning (SDA : SCL) - GPIO5 : GPIO4 - I2C device found at address 0x21 ! I2C device found at address 0x3C ! I2C device found at address 0x49 ! I2C device found at address 0x57 ! I2C device found at address 0x60 ! I2C device found at address 0x68 ! I2C device found at address 0x73 ! I2C device found at address 0x77 !
Read more: http://forum.switchdoc.com/thread/830/using-arduino-tca945-test-example#ixzz5h9CgjBER You saw the device here and you should see it in your TCA scan It always sees itself too at 0x73.
BP
|
|
ddodge
Junior Member

Posts: 75
|
Post by ddodge on Mar 9, 2019 13:36:03 GMT -8
Thanks for the info. Any ETA on the replacement board? Thanks
|
|
|
Post by SDL on Mar 12, 2019 6:40:13 GMT -8
Well, as soon as it gets here (and it should be here now - I'm out of the office until Monday), I'll test it and probably send you the same board back. Looks like a software problem.
BP
|
|
ddodge
Junior Member

Posts: 75
|
Post by ddodge on Mar 12, 2019 9:59:45 GMT -8
FYI - The Post Office tracking indicates the board was delivered to you on 3/4/19
Tracking Number: 9500112468939061307217
March 4, 2019 at 2:36 pm
Delivered, In/At Mailbox
VERADALE, WA 99037
|
|
ddodge
Junior Member

Posts: 75
|
Post by ddodge on Mar 13, 2019 4:33:03 GMT -8
FYI: I had not heard anything until I sent an email to SDL Cust Service email asking for the status of this RMA: Application Support (Customer Service) < [email protected]> Tony Jarosz asked me to send the board to him in Phoenix. However, you had told me to send it to WA which I did. I gave Tony the shipment and tracking number info and am waiting for a reply. Guys: This is really holding up my project. I need to have the board to resolve conflicts between the SunAirPlus and the OurWeather onboard BMP280. It is now the 13th and my return board was delivered to Veradale, WA on the 4th. Appreciate your help in getting this resolved.....
|
|
|
Post by SDL on Mar 13, 2019 7:11:10 GMT -8
Dan,
Now we are really confused. Our ticket shows a mixture between Tony and Dan and we probably sent the wrong thing to the wrong place.
Confirm your address in a PM to here and we can get this straightened out. Tony needed a clock board, you need a I2C Mux. Correct?
BP (currently trying to be customer service and not tech support!!!!)
|
|