Identifikace připojeni USB

Odpovědět
MartinL
Příspěvky: 252
Registrován: 24 úno 2013, 14:13
Kontaktovat uživatele:

Identifikace připojeni USB

Příspěvek od MartinL »

Zařízení s Arduino Nano by mělo komunikovat buď přes BT, nebo přes vestavěný převodník USB (CH340..) na UART. Pokud bude připojené k PC přes USB, tak potřebuji odpojit BT (alespoň pin RX), aby se nehádaly. Jak detekovat, že je Arduino připojeno přes USB?
Zatím mám pouze jeden nápad, a to měřit napětí na VIN. Pokud bude vyšší než 5V, tak je připojen externí zdroj a komunikovat budu přes BT. Bohužel to neřeší problém, kdy bude připojeno externí napájení a USB zároveň.
Druhý problém je, jak zajistit odpojení komunikační linky BT? První nápad byl nějaký FET, ale pak mi došlo, že není úplně ono. FETy mají standardně vnitřní diodu, a tak by to v jedné úrovni nefungovalo (nějaký třístavový buffer?).
Díky za nápady.
Uživatelský avatar
fulda
Příspěvky: 1354
Registrován: 04 led 2016, 17:18

Re: Identifikace připojeni USB

Příspěvek od fulda »

Obrázek Moje první rada pro dnešní den zní: pokud potřebujete arduino, které komunikuje po sériové lince jiné než do USB/seriál převodníku, nepoužívejte arduina typu nano ani uno.

Například deska typu leonardo má zároveň sériový port a zároveň USB.

Pokud opravdu trváš na tom, že použiješ tu nejlevnější desku a desetkrát jí zdražíš balastem okolo, tak použij třeba Pro Mini a vedle převodník USB/Seriál. Tam bezpečně poznáš, že je napětí na V=USB, které budeš moci použít k multiplexování vstupu pro Rx (a také výstupu pro Tx)

Co se týká multiplexování, tak je nabídka široká, stačí se rozhodnout, jak moc chceš investovat. Například nákup CMOS 4052 nebo 74HC4052 není vůbec sexy, ale je to levné.
Dají se najít verze od sparkfun, Atlas Scientific, nebo tady, ty jsou víc sexy, ale ne o tolik.

Jo a občas se hodí kouknout do nějakého návodu
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
MartinL
Příspěvky: 252
Registrován: 24 úno 2013, 14:13
Kontaktovat uživatele:

Re: Identifikace připojeni USB

Příspěvek od MartinL »

Fulda: Díky za rady, ale někdy si člověk nemůže moc vymýšlet, když je zadání dané. Pokud bych navrhoval nové zařízení dle svého, tak k tomu přistoupím určitě jinak. Teď mě ještě napadlo, že na BT modulech HC-05 (některých) je vyveden vstup EN (zatím se mi nepodařilo dopátrat, co všechno dělá).
Uživatelský avatar
gilhad
Příspěvky: 262
Registrován: 29 kvě 2015, 00:36
Kontaktovat uživatele:

Re: Identifikace připojeni USB

Příspěvek od gilhad »

Ja bych asi "jednoduse" pripojil primo USB + prez 2x5k (nebo vic) na zem ("svod 0.5mA a min") jeste pred tou diodou k napajeni a meril napeti primo tam pomoci analogove nozicky.
Kdyz je tam asi tak 2.5V, jsi zapojeny do USB. Kdyz je tam asi tak 0V tak zapojeny nejsi. (merit mezi odpory, abych na analogovou nozicku urcite nedal napeti vetsi nez napajeci a aby zaverny proud tou diodou (svod) to nedokazal nahodit do falesneho plusu)

USB+ --- 5k --- A0 --- 5k --- GND

Na oddeleni nejaky standarni integrac na to urceny, treba viz fulda vyse. Taky by slo navic prez nejaky FET tomu BT vypnout napajeni (cimz se nezbavis nutnosti toho inetgrace, ale muzes si snizit odber z USB pro dalsi periferie, pokud bys byl s tim BT pobliz vykonostni hrany)
Odpovědět