Stránka 1 z 1

dotaz

Napsal: 18 led 2020, 19:27
od Ladap
Chtěl bych použít Arduino Uno jako "master" a ATtiny45 jako "slave" propojit pomocí I2C. Je to možné?
Díky Láďa

Re: dotaz

Napsal: 18 led 2020, 19:49
od martinius96
Ahoj, áno, je to možné. Na AtTiny85 však je potrebné I2C emulovať, napríklad knižnicou TinyWire, nakoľko pre I2C nemá hardvérovú podporu. Tú knižnicu si potrebuješ stiahnuť napríklad z Github-u a importovať do prostredia Arduino IDE (alebo iného) v ktorom to budeš programovať.

Komunikácia MASTER Slave I2C tutoriál: https://create.arduino.cc/projecthub/PI ... f1aa53?f=1

Pre program, ktorý je určený pre Slave AtTiny85 nepoužiješ #include <Wire.h> ale #include <TinyWire.h>. Rovnako tak v celom zdrojovom kóde zmeníš objekt Wire na TinyWire. Malo by to takto fungovať bez problému. Pre Arduino Uno môžeš použiť priamo program pre Master z tej stránky tutoriálu. Tam sa nevyžaduje iná zmena.

Re: dotaz

Napsal: 18 led 2020, 20:05
od Ladap
Díky za odpověď. To se změnou knihovny jsem zkusil.Pro simulaci používám Proteus 8 zde mi to nechodí. Tak jsem zkusil skutečné zapojení a výsledek je stejný. V simulaci je problém "reset" na attiny45. Nevím co s tím. Je to jednoduché zapojení. Na straně UNA je tlačítko a na straně Attiny je led dioda. S Unama na obou stranách (správné knihovny) mi to bez problému chodí.

Re: dotaz

Napsal: 18 led 2020, 20:17
od martinius96
AtTiny45 som v ruke ešte nemal...
Myslím ale, že reset by mal byť pripojený cez 10kOhm rezistor k Vcc, nebude to v tom?
Ale myslím, že i s tou LED na reset by to malo byť OK.

Re: dotaz

Napsal: 18 led 2020, 20:26
od Ladap
pokud připojím reset přes odpor na plus okamžitě vše zamrzne