Stránka 1 z 1

Nenalezen typ I2C

Napsal: 30 zář 2018, 19:30
od Vebsy
Ahoj,
jsem s Arduinem nový a snažím se zprovoznit LCD displej s I2C sběrnicí. Když spustím kód na nalezení "typu" sběrnice(0x27/0x3F) napíše mi to, že nic nebylo nalezeno. Zkoušel jsem použít několik různých kódů pro skenování I2C, ale žádný mi nic nenalezl.Nikde po internetu jsem nemohl najít někoho se stejným problémem. Nestalo se vám někomu něco podobného? Popřípadě jak jste to vyřešili ?

Používám tenhle kód:

Kód: Vybrat vše

// I2C Scanner
// Written by Nick Gammon
// Date: 20th April 2011

#include <Wire.h>

void setup() {
  Serial.begin (115200);

  // Leonardo: wait for serial port to connect
  while (!Serial) 
    {
    }

  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 (1);  // maybe unneeded?
      } // end of good response
  } // end of for loop
  Serial.println ("Done.");
  Serial.print ("Found ");
  Serial.print (count, DEC);
  Serial.println (" device(s).");
}  // end of setup

void loop() {}



A vrací mi to tuto hlášku:

" I2C er. Scanning ...
Done.
Found 0 device(s).
⸮⸮⸮⸮ "


Děkuji za odpověď :)

Re: Nenalezen typ I2C

Napsal: 30 zář 2018, 20:04
od pavel1tu
Asi máme věšteckou kouly, co ?

Jaký dislej,
jaké arduino,
podle čeho jsi to zapojoval

Re: Nenalezen typ I2C

Napsal: 30 zář 2018, 21:57
od Vebsy
Pardon nevěděl jsem jaké informace přiložit:

Typ displeje : I2C 1602 LCD

Arduino Uno

Zapojení pomocí tohoto schématu:

Obrázek

Tohle rozhraní:

Obrázek

Re: Nenalezen typ I2C

Napsal: 30 zář 2018, 23:06
od AstroMiK
Ten výše uvedený skenovací program je v pořádku.
Našel mi ten samý expander na adrese 0x3F.

Kód: Vybrat vše

I2C scanner. Scanning ...
Found address: 63 (0x3F)
Done.
Found 1 device(s).

Takže bych tipoval buď na problém přímo na té destičce, nebo v přehozených / (zlomených) drátech.
Svítí ti tam alespoň ta POWER LED?

Zkontroluj lupou, jestli jsou dobře připájené součástky.

Re: Nenalezen typ I2C

Napsal: 01 říj 2018, 10:44
od Vebsy
Led zezadu svítí i displej svítí, ale to je vše. Taky si myslím, že je to hardwerová chyba,ale moc zkušeností nemám tak jsem si chtěl ověřit jestli něco nedělám špatně.

Re: Nenalezen typ I2C

Napsal: 01 říj 2018, 11:26
od pavel1tu
Vebsy píše:
01 říj 2018, 10:44
Led zezadu svítí i displej svítí, ale to je vše. Taky si myslím, že je to hardwerová chyba,ale moc zkušeností nemám tak jsem si chtěl ověřit jestli něco nedělám špatně.
Vyzkoušej to napájet přímo ze zdroje
Máš to přes tu "bastl propojovací destičku" ? kam se zastrkávají dráty ? Někdy blbnou ....
Na obrázku je nějaká "klemička" propoj - má tam být , máš ji tam ?

Doma vyzkouším .... ale mám jen 2004 displej - ale sázím na to napájení.

UNO z číny mi tam pustí jen asi 400mA - u jednoho ani ne 200mA - originál by měl pustit 500mA ?

PS: teď čtu - expander - ten převodník na I2C byl zvlášť ? Je 5V ?

Re: Nenalezen typ I2C

Napsal: 01 říj 2018, 13:12
od Vebsy
Displej jsem dostal rovnou připojený k převodníku tak jsem jen ty 4 piny rovnou připojil k arduinu .

Krom Arduina a částí k němu nemám doma skoro žádne elektrikářské přístroje takže zkoušení ampérů nebo pájení pro mne bude těžké .

Re: Nenalezen typ I2C

Napsal: 01 říj 2018, 16:38
od AstroMiK
Ta klemička je jen hardwérové odpojování podsvětu displeje.
Když je nasunutá, je možné podsvět zhasínat a rozsvěcovat pomocí příkazů:
lcd.backlight() a lcd.noBacklight()

Když tam propojka není, je podsvět trvale vypnutý.

Když se ale expander PCF8574 při pokusu o skenování nehlásí vůbec, musí být chyba někde na té komunikační I2C části.
Takže jak jsem psal včera:
1) - Prohozené nebo utržené dráty mezi Arduinem a tím převodníkem. Když svítí POWER LED, tak se to zužuje jen na dva dráty SDA a SCL.
2) - Pak by mohly být špatně připájené ty Pull-Upy, co jsou na těch komunikačních drátech (4k7). Kdyby byly ty odpory nepřipájené, tak by komunikace nefungovala.
3) - Můžou být špatně připájené i vstupy toho obvodu PCF8574. Konkrétně tedy vývody 14 (SCL) a 15 (SDA).
4) - Je šance, že je problém i s těmi adresovacími Pull-Upy (3x 1k). Adresovací vstupy musí mít jasně definovanou úroveň - nesmí být jen tak ve vzduchu.
5) - Je i teoretická možnost, že nefungují ty piny A4 a A5 v Arduinu.
6) - Tohle už je jen střelba od boku, ale osobně mám zkušenost s tím, že i "profesionálové" dokáží připájet obvod otočený o 180°, takže u číňanů by mně to ani moc nepřekvapilo.
7) - Nebo něco odešlo přímo uvnitř toho obvodu.

Zkusil bych tedy:
Pro bod 1):
Vzít jiné propojovací dráty. A jak psal "pavel1tu", jestli to máš na nepájivém poli, tak kontakty občas blbnou, takže zkusit zahýbat nebo posunout kus vedle.

Pro body 2) až 4) Pořádně prohlídnout tu destičku pod lupou.


Bod 5) Vyzkoušet nějaký příklad pro čtení napětí na těch dvou konkrétních pinech (něco jako analogRead(A4) a analogRead(A5)), nebo připojit nějaké jiné I2C zařízení.

Bod 6) Koukni, jestli osazení obvodu odpovídá fotografii.

Bod 7) je konečná - to je na výměnu SMD obvodu a to asi nedáš.


Kdybys měl nějaký měřák, tak bys mohl zkusit propískat vývod SDA přímo na nohu 15 toho obvodu a vývod SCL na nohu 14.
A pro jistotu změřit ještě správné napájení obvodu přímo na nohách 8 a 16.


Každopádně na výstupech expanderu, nebo v displeji bych v tuhle chvíli problém nehledal.

Re: Nenalezen typ I2C

Napsal: 02 říj 2018, 18:50
od Vebsy
Tak zkusil jsem si zapojit potenciometr k portům na arudinu (A5,A4) a udělal jsem si malý programek který mi bude číst hodnoty :

Kód: Vybrat vše

int cislo;

void setup() {
        Serial.begin(9600);     
}

void loop() {
  cislo=analogRead(A4)/4;

  Serial.println(cislo);
  delay(250);

}
Jede to vpohodě ukazuje mi to čísla 0-255 jak má. Takže asi můžu usoudit, že problém bude někde v I2C nebo LCD a jejich spojení a bohužel si myslím, že na opravu toho jsem krátký.

Ale všem velice děkuji za rady které jste mi dali. :)

Re: Nenalezen typ I2C

Napsal: 02 čer 2019, 22:36
od pitovo
Mam ten samy problem jako kolega, jen s malinko odlisnym HW. Mam klon Arduino Mega, stejny IIC/I2C a display 20x4, koupeno ted na arduino-shopu. pri propojeni dle schematu se to chova stejne, display sviti, ale nic neukazuje. Zkusil jsem ten stejny test
"// I2C Scanner
// Written by Nick Gammon"
a stejny vysledek. Not found.
Pri hledani informaci jsem narazil na to, ze se jich da zapojit vice, ale adresuji se proletovanim "propojek". Ty jsou ale predpokladam jen na adresaci pri vice zarizenich, ne? Pri pripojeni jednoho kusu se propojit nemusi, ne?
Jsem zacatecnik, tak omluvte me pripadne neznalosti...
Hledam proste moznosti, kde je chyba, ci jak jeste vyzkouset, ze je HW nefunkcni, abych ho mohl pripadne zkusit reklamovat. Dekuji