To jankop: Však jsem myslel, že se pull-up tranzistor používá pouze pokud je pin nastaven jako vstup. Jak jsem psal, že je sepnuto hradlo, tak jsem myslel výstup Logic a ne ten internal pull-up.
Předtím jsem to nijak zvlášť nezkoumal, tak jsem myslel že výstup pracuje pouze v módu sink. Při log. 0 na výstupu je tranzistor jednoduše odpojen - výstup je v režimu vysoké impedance - proto ten pull-down.
Teď jsem koukal do datasheetu a je tam napsáno: Each output buffer has symmetrical drive characteristics with both high sink and source capability. Jestli to teda chápu dobře, tak máš pravdu. Škoda, že v datasheetu není přesně nakresleno zapojení I/O pinu.
jak nastavit pin jako zem?
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Re: jak nastavit pin jako zem?
Zajímalo by mě, jestli je z vaší diskuse lastope1 nějak moudrý 
Zkusím to tedy shrnout.
Pokud chcete, aby byla na pinu zem, nastavte jeho logickou úroveň na LOW.
Když máme dva piny (pin1 a pin2) a chceme mezi nimi měnit polaritu, stačí použít:
Takto použít dva piny je možné, pokud máte něco velice nenáročného - například chcete použít charlieplexing pro LEDky, chcete řídit malý maticový displej (i když tam už je to na zvážení), apod.
Pokud chcete řídit nějaké zařízení, které potřebuje větší proud, budete muset použít nějaký externí obvod - například h-můstek.
Pak můžete třeba ovládat polaritu na vstupech motoru a měnit tak směr jeho otáčení apod.
Interní pullup a pulldown rezistory se k tomuto nehodí, mimo jiné i proto, že jsou připojené jenom v případě, že je pin nastavený jako výstup.

Zkusím to tedy shrnout.
Pokud chcete, aby byla na pinu zem, nastavte jeho logickou úroveň na LOW.
Kód: Vybrat vše
digitalWrite(pin, LOW);
Kód: Vybrat vše
// jeden směr
digitalWrite(pin1, LOW);
digitalWrite(pin2, HIGH);
// druhý směr
digitalWrite(pin1, HIGH);
digitalWrite(pin2, LOW)
Pokud chcete řídit nějaké zařízení, které potřebuje větší proud, budete muset použít nějaký externí obvod - například h-můstek.
Pak můžete třeba ovládat polaritu na vstupech motoru a měnit tak směr jeho otáčení apod.
Interní pullup a pulldown rezistory se k tomuto nehodí, mimo jiné i proto, že jsou připojené jenom v případě, že je pin nastavený jako výstup.
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host