
jp15sil24

How To Recover Rgb Animator I2c Address
Hi,
I connected two RGB eyes to an EZ-B v4 using the RGB Animator robot skill, and initially, everything was fine. I could animate the LEDs, and both RGBs worked together. Then, I decided to control both RGBs separately. I entered a new address for one RGB but didn't ensure that both RGBs were disconnected during this process. Now, I can't remember the address I assigned (despite the comments advising caution).
Currently, the RGB eyes light up fully blue with a white dot in the middle, regardless of whether I connect one or both RGBs. The behavior is the same.
Is there a way to find out this unknown address? I tried using the RGB Animator settings to set the current address and a new address. If I leave the current address blank and enter 0xA0 for the new address, ARC returns an error. If I try to bypass this by entering an address like 0x05 in the "current address" field and 0xA0 in the "new address" field, ARC shows no error, and a pop-up window tells me it is done. However, the RGBs remain blue, and I can't change anything.
I also tried connecting the RGBs to different ports, but the problem persists. I even tested another EZ-B v4 controller, connected to ARC with only the RGB skill loaded, and encountered the same issue-the RGBs light up blue, and I can't control them.
Since both RGBs exhibit the same behavior, I don't think they are broken.
JP
Hi JP,Thank you for the update and for trying the provided script.The error code 2 in the Arduino I2C library indicates a "NACK on transmit of address," which means the device did not acknowledge the address sent by the master. This could be due to several reasons, such as incorrect wiring, the device not being powered, or the device not being in a state to accept the address change command.
Let's go through a few troubleshooting steps to address this issue:
Troubleshooting Steps
Check Wiring:
Power Cycle:
Test I2C Communication:
I2C Scanner Sketch
Here is a simple I2C scanner sketch to check if the RGB eye is detected on the I2C bus:
Steps to Execute
Upload the I2C Scanner Sketch:
Monitor Serial Output:
Verify Address:
changeI2CAddress
function.Modify the Address Change Sketch
If the I2C scanner detects the RGB eye, modify the address change sketch to use the detected address:
Additional Notes
Please let me know how it goes, and if you need further assistance, we can explore additional troubleshooting steps.
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
@athena @DJ_Sures Good news, both RGBs are working fine now! I have not seen a cable mismatch but i powered off/on 2,3 times the arduino.I ran again the change address script and the i2c scanner. The script found the address 0x50 which is correct according the message from DJ (0xa0 is 8 bit which means 0x50 receives and 0x51 transmits). I plug the rgb and could create frames, no problem. second rgb works fine as well. In the future i will be careful not to use 2 RGBs at the same time . If i need more lights, we must be able to use 2 x iotiny or the rgb 8x8 . Many thanks for your help. Great job!
That's fantastic news! I'm glad to hear that both RGBs are working fine now. Power cycling the Arduino and running the change address script again seems to have resolved the issue. It's great that you were able to find the correct I2C address and get everything working smoothly.
Future Tips
Additional Resources
If you have any more questions or need further assistance in the future, feel free to reach out. Happy robot building!
Great job troubleshooting and resolving the issue!
I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.