Ahoj, jsem v Arduinu úplný nováček, tak mě prosím nesestřelte hned ze začátku Žádám vás o radu
Potřebuji na I2C sběrnici připojit 2x modul INA3221 na měření napětí a proudů.
Na modulu INA3221 jsou 4 piny, které ovládají adresu I2C od 0x40 do 0x43. Bohužel jsem opravdu úplně nový a ani z datasheetu (https://pdf1.alldatasheet.com/datasheet ... A3221.html) jsem nepochopil, jak jsem toho schopen dosáhnout. Používám Arduino UNO. Mohl bych někoho z Vás poprosit o radu jak mohu změnit na daném zařízení adresu.
Můj druhý dotaz je na program. Projel jsem knihovnu na ovládání I2C pro INA3221 (https://github.com/switchdoclabs/SDL_Arduino_INA3221) bohužel z ní také nejsem moc moudrý. Potřeboval bych poradit, jak jsem schopen následně v kódu rozlišit adresy.
Aktuálně vyčítám na jednom senzoru napětí následovně (Pro Channel 1,2 a 3):
Vinput = ina3221.getBusVoltage_V(1);
Vinput2 = ina3221.getBusVoltage_V(2);
Vinput3 = ina3221.getBusVoltage_V(3);
Bylo by možné mi prosím poradit, jak dále zadefinuji vyčítání pro další INU3221 na dalších adresách adresy? 0x41 a 0x42 ...
Byl bych Vám velice vděčný za případné rady.
S pozdravem, Ondra
I2C Adresa a INA3221
-
- Příspěvky: 2
- Registrován: 30 čer 2020, 22:38
- Reputation: 0
Re: I2C Adresa a INA3221
Přečetl jsme si manuál ještě jednou a narazil jsem na odstavec:
Spustím adresování hodnotou HIGH na SDA
Následně zadám adresu pomocí hodnot HIGH a LOW
Poté netuším co je acknowledge BIT
I tak jsem trošku na větvi z toho, jak to provedu
Pokud to chápu dobře pro adresování pustím do SCL hodnotu HIGHTo address a specific device, the master initiates a start condition by pulling SDA from a high to a low logic level
while SCL is high. All slaves on the bus shift in the slave address byte on the SCL rising edge, with the last bit
indicating whether a read or write operation is intended. During the ninth clock pulse, the slave being addressed
responds to the master by generating an acknowledge bit and pulling SDA low.
Data transfer is then initiated and eight bits of data are sent, followed by an acknowledge bit. During data
transfer, SDA must remain stable while SCL is high. Any change in SDA while SCL is high is interpreted as a
start or stop condition
Spustím adresování hodnotou HIGH na SDA
Následně zadám adresu pomocí hodnot HIGH a LOW
Poté netuším co je acknowledge BIT
I tak jsem trošku na větvi z toho, jak to provedu
Re: I2C Adresa a INA3221
Zkus si nejdříve přečíst pár článků o základech I2C komunikace (tam se dozvíš co je to ten ACK nebo NACK) a prostudovat si pár prográmků s reálnou aplikací. Pak zjistíš, že to není nic tak hrozně složitého. Ale v tomhle případě se to bez znalosti zásad komunikace neobejde
Re: I2C Adresa a INA3221
Na nastaveni adresy je tam jen jeden pin A0. V datasheetu je tabulka a v ni uvidis, kam ten pin zapojit, aby to melo pozadovanou adresu.
- pavel1tu
- Příspěvky: 2054
- Registrován: 26 říj 2017, 08:28
- Reputation: 0
- Bydliště: Trutnov
- Kontaktovat uživatele:
Re: I2C Adresa a INA3221
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 37 hostů