Adresace I2C
Úvodní stránka › Fórum › Hardware › Sběrnice › Adresace I2C
- Toto téma obsahuje celkem 10 odpovědí. Do diskuze (3 diskutující) se naposledy zapojil uživatel
Luke_CZ a poslední změna proběhla před 8 roky a 8 měsíci.
-
AutorPříspěvky
-
21.3.2017 v 9:04 #10840
LeosP
ÚčastníkJsem zacatecnik s Arduinem a jsem ponekud v koncich.
Mam moduly displaye 16x 7segmentu s radicem TM1640. Jak zjistim/nastavim adresu, kdyz chci pripojit treba 2 a vice techto modulu k Arduinu Due pres I2C?
Na modulu zadne propojky atd… v knihovnach jsem nenasel nic, co by pripominalo adresaci.
Pouze nastaveni pinu I2C pro UNO (3,2) a pro Due (21,20).
prosim o pomoc. Dekuji Bob Lee.21.3.2017 v 9:49 #10841Luke_CZ
ÚčastníkA, TM1640 není i2C, ačkoliv k obsluze potřebuje pouze dva vodiče
B, pro každý module je nutná tedy vlastní instance asi takto:
TM1640 module1(6, 7);
TM1640 module2(8, 9);
atd..
Samozřejmě to zabere více pinů, ale funguje to, já to řešil úspěšně pro TM1637.L.
26.3.2017 v 19:47 #10874LeosP
ÚčastníkDekuju moc. Je to tak – uz to chodi na Arduino UNO krasne.
Mam s tim divny problem na Arduino Due. Tam display divne poblikava. Pritom jsem se domnival, ze DUE je rychlejsi – vykonnejsi. Prijeno to bylo na piny 49 a 50, coz si myslim jsou universalni I/O porty. Kdyby vas napadlo, kde je/delam chybu, budu rad, protoze bych rad pouzil system ARMOSY-2 postaveny na DUE.
Dekuji L.26.3.2017 v 23:53 #10882posjirka
ÚčastníkDUE je na 3,3V UNO na 5V. Tady bych hledal chybu. Jinak ten display nemůže blikat. Z ARduina si bere jen data co má zobrazit a pak už jede autonomně. Sám si přepína segmenty, reguluje svítivost atd.
Leda že bys mu nesutálě měnil hodnoty (myslím tím víc než 5x/s). Pak by mohl zablbnout, ale spíš to vidím na to napájecí napětí.31.3.2017 v 8:00 #10923LeosP
ÚčastníkDiky, jeste jsem neproveril, ted mam „na stole? zrovna UNO, kde je to OK. Nikde ale nemuzu najit nejaky popis/manual funkci a parametru knihovny pro modul s TM1640. Nasel jsem jen seznam funkci…z toho nektere funkcnosti a parametry jsem zkusmo odhalil, ale predpokladam, ze tam jsou jeste dalsi (mne nezname) moznosti rizeni. Nenarazil jste na neco pouzitelneho? Dekuji.
31.3.2017 v 8:19 #10924posjirka
Účastníka kterou knihovnu jsi použil? resp. odkud jsi jí stáhnul … abych parafrázoval jednu českou hlášku:
„není knihovna, jako knihovna“ 🙂31.3.2017 v 8:37 #10925LeosP
ÚčastníkTady odtud:
https://github.com/rjbatista/tm1638-library
BTW jinou jsem nenasel…31.3.2017 v 8:40 #10926LeosP
ÚčastníkA jedinej „popis“ jsem nasel tento
Attachments:
31.3.2017 v 8:52 #10928posjirka
Účastníkobávám se, že je to všechno co tato knihovna umí. Pokud bys chtěl něco dodatečného, tak musíš buď knihovnu pozměnit, nebo napsat zvlášť funkci …
Co přesně ti nejde, nebo co potřebuješ ?31.3.2017 v 9:29 #10930LeosP
ÚčastníkNic kritickeho mi nechybi. Jen nevim u nekterych fci (treba setDisplay()) kolik parametru lze pouzit a co presne ovlivnuji. ( setDisplay(x, y, ?z…) prvni je jasny = CO, druhy nevim jestli je prosty pocet segmentu nebo neco jineho a jak adresnout druhou polovinu segmentu 9 – 16. Nicmene to opravdu kriticke neni, spis jen jestli neobjevuju objevene. Doufal jsem v existenci „klasickeho“ popisu fce s parametry.
Moc dekuju za rady a jakmile zase nekde narazim, tak se s dovolenim opet ozvu. L.31.3.2017 v 18:29 #10932Luke_CZ
ÚčastníkMusíš juknout do zdrojáků, předpokládám, že na začátku skeče vkládáš hlavičkový C soubor pro knihovnu:
#include <TM1640.h>
Tož se jukni do něj(TM1640.h), jak je funkce definována, pokud není (jakože není), tak je v něm (TM1640.h) vkládán další hlavičkový soubor#include "TM16XX.h".
Koukni do TM16XX.h a hleďme:/** Set the display to the values (left to right) */ virtual void setDisplay(const byte values[], unsigned int length = 8);Prostě, ne každý autor píše detailní manuál ke knihovně a raději dává popis funkcí rovnou do zdrojáku.
L.
-
AutorPříspěvky
- Pro reakci na toto téma se musíte přihlásit.

