Activity › Forums › Questions & Troubleshooting › I2C communication problem
-
I2C communication problem
-
Hello, I use a Controllino Maxi Automation board, with a 20×4 screen for displaying data. At first everything worked perfectly. Then I thought that my screen had cracked because impossible to use it even with an Arduino Uno card. So I ordered another I2C screen that I manage to use with an Arduino Uno board but not with my Controllino board. I have other I2C components like a RTC module and even a simple I2C scan doesn’t work.
The only diagnosis I can make is that the SDA (20) and SCL (21) pins of the Controllino board are connected to the ground, even when I try to use them…
Thank you for your help
-
Hello Luis_Kortel,
I have a Maxi-Power, i can measure the voltages on the SDA and SCL as a reference, would you like me to do this?
How did you power the backlight to the LCD, did you provide the power via the Controlino io of via a separate source?
Best Regards,
Johi.
-
Hello Johi, thank you very much for your help.
Yes, I am happy to do so, thank you. Maybe that could help me!
I also have at my disposal a Uno board on which I can communicate in I2C with the screen or other I2C components. But with the Controllino Maxi Automation it is impossible for me to do this.
For power, I power the Controllino in 24V and it powers my screen via the 5V output pins.
To communicate I use SDA and SCL (20 and 21)
I was wondering if it was possible to flash my Controllino card with my Arduino Uno, I saw that this was possible for the Controllino Mini? Maybe that could tell me if my problem comes from hardware or software?
Best Regards,
Louis
-
Hello Louis_kortel,
In order to help you, i did the following:
I modified the I2C scanner and I downloaded it to my maxi-power.
Then i measured the voltage with my Fluke 117.
I saw varying voltages (around 3V) comming out of the pins SDA and SCL.
I would suggest you try the same and see if there is life on these pins.
If not i think your device might be broken.
#include <Wire.h>
void setup()
{
Serial.begin (9600);
} // end of setup
void loop()
{
Serial.println ();
Serial.println (“I2C scanner. Scanning …”);
byte count = 0;
Wire.begin();
for (byte i = 8; i < 120; i++)
{
Wire.beginTransmission (i);
if (Wire.endTransmission () == 0)
{
Serial.print (“Found address: “);
Serial.print (i, DEC);
Serial.print (” (0x”);
Serial.print (i, HEX);
Serial.println (“)”);
count++;
delay (100); // maybe unneeded?
} // end of good response
} // end of for loop
Serial.println (“Done, restarting.”);
Serial.print (“Found “);
Serial.print (count, DEC);
Serial.println (” device(s).”);
}
Good Luck,
johi.
-
Hello Louis,
just an idea – it happened to me some time ago that I have received another piece of I2C display (same type, same vendor) but the I2C address was different!
Lets use the I2C scanner to check it.
Best,
Lukas
-
It’s really useful post,[url=https://www.latestdatabase.com/austria-phone-number-list/]austria phone numbers[/url]
thanks for sharing your information See more details….
Log in to reply.