Nenalezen typ I2C

Odpovědět
Vebsy
Příspěvky: 5
Registrován: 30 zář 2018, 19:23
Reputation: 0

Nenalezen typ I2C

Příspěvek od Vebsy » 30 zář 2018, 19:30

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ěď :)

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Nenalezen typ I2C

Příspěvek od pavel1tu » 30 zář 2018, 20:04

Asi máme věšteckou kouly, co ?

Jaký dislej,
jaké arduino,
podle čeho jsi to zapojoval
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Vebsy
Příspěvky: 5
Registrován: 30 zář 2018, 19:23
Reputation: 0

Re: Nenalezen typ I2C

Příspěvek od Vebsy » 30 zář 2018, 21:57

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

AstroMiK
Příspěvky: 592
Registrován: 08 pro 2017, 19:05
Reputation: 0

Re: Nenalezen typ I2C

Příspěvek od AstroMiK » 30 zář 2018, 23:06

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.

Vebsy
Příspěvky: 5
Registrován: 30 zář 2018, 19:23
Reputation: 0

Re: Nenalezen typ I2C

Příspěvek od Vebsy » 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ě.

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Nenalezen typ I2C

Příspěvek od pavel1tu » 01 říj 2018, 11:26

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 ?
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Vebsy
Příspěvky: 5
Registrován: 30 zář 2018, 19:23
Reputation: 0

Re: Nenalezen typ I2C

Příspěvek od Vebsy » 01 říj 2018, 13:12

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é .

AstroMiK
Příspěvky: 592
Registrován: 08 pro 2017, 19:05
Reputation: 0

Re: Nenalezen typ I2C

Příspěvek od AstroMiK » 01 říj 2018, 16:38

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.

Vebsy
Příspěvky: 5
Registrován: 30 zář 2018, 19:23
Reputation: 0

Re: Nenalezen typ I2C

Příspěvek od Vebsy » 02 říj 2018, 18:50

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. :)

pitovo
Příspěvky: 4
Registrován: 26 kvě 2019, 16:52
Reputation: 0

Re: Nenalezen typ I2C

Příspěvek od pitovo » 02 čer 2019, 22:36

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

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 8 hostů