Go Down

Topic: Indirizzo modulo I2C (Read 226 times) previous topic - next topic

alanmasutti

Buona sera a tutti,

ho un problema con un LCD comandato con un modulo I2C; quest'ultimo continua a cambiare indirizzo senza una logica ben precisa.
Ho provato a caricare sul mio Arduino 1 R3, un I2C Scanner:
Code: [Select]

#include <Wire.h>
 
 
void setup()
{
  Wire.begin();
 
  Serial.begin(9600);
  while (!Serial);             // Leonardo: wait for serial monitor
  Serial.println("\nI2C Scanner");
}
 
 
void loop()
{
  byte error, address;
  int nDevices;
 
  Serial.println("Scanning...");
 
  nDevices = 0;
  for(address = 1; address < 127; address++ )
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();
 
    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");
 
      nDevices++;
    }
    else if (error==4)
    {
      Serial.print("Unknown error at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");
 
  delay(5000);           // wait 5 seconds for next scan
}

Allego la cattura di schermata del monitor seriale.

Sapete aiutarmi???

Ringrazio anticipatamente

Alan Masutti

steve-cr

Di solito è 03F, ma se cambia in continuazione hai una specie di cortocircuito nelle piazzole del circuito stampato che servono appunto a cambiare indirizzo oppure, peggio, l'integrato che fa quel lavoro non funziona bene...


fratt

Però, guardando lo screenshot, sembra che parta vedendo una sola periferica, poi comincia a vederne 2 e alla fine torna a vederne una sola con indirizzo diverso dalla prima...
Se fai ripartire l'i2c scanner ti da sempre e solo quei 2 indirizzi o cambiano?
Hai collegato solo il lcd?

uwefed

#3
Mar 18, 2018, 07:06 pm Last Edit: Mar 18, 2018, 07:08 pm by uwefed
L' adattatore I2C - paralello (un controller o un I2C Port expander) ha alcuini pin per cambiare l' indirizzo I2C. Probabilemente uno di questi pin non é cablato o saldato bene o manca una resistenza/ponte e percui é in aria con la cosequenza che quel pin viene letto una volta High e una volta Low. Dal cambio da 3B a 4F dovrenne essere il Pin A3.
Guardati bene la schedina.

Ciao Uwe

alanmasutti

Di solito è 03F, ma se cambia in continuazione hai una specie di cortocircuito nelle piazzole del circuito stampato che servono appunto a cambiare indirizzo oppure, peggio, l'integrato che fa quel lavoro non funziona bene...


Grazie della risposta,
effettivamente si, le piazzole sono tutte in corto, il problema ha soluzione??

Alan Masutti

alanmasutti

Però, guardando lo screenshot, sembra che parta vedendo una sola periferica, poi comincia a vederne 2 e alla fine torna a vederne una sola con indirizzo diverso dalla prima...
Se fai ripartire l'i2c scanner ti da sempre e solo quei 2 indirizzi o cambiano?
Hai collegato solo il lcd?
Grazie per la risposta,

no, gli indirizzi spaziano da "0x39" a "0x3F" e si ho solo un LCD collegato

Alan Masutti

uwefed

Grazie della risposta,
effettivamente si, le piazzole sono tutte in corto, il problema ha soluzione??

Alan Masutti
No, uno di questi ponticelli non é fatto bene; ha contatto e no. Risalda. Se fossero messi bene ll' indirizzo sarebbe stabile.

Ciao Uwe


Go Up