V následujícím textu je popsáno několik velmi jednoduchých zařízení, které měli zjednodušit a zpříjemnit práci v temné komoře a při focení obecně. Jistě však najdou i řadu jiných uplatnění. K sepsání tohoto článku mě přimělo několik ohlasů z Fotofóra, kde se nedávno probíraly možnosti přesné regulace teploty při zpracování fotografií. Sám jsem nedávno řešil podobný problém. Výsledky mé snahy jsou shrnuty v následujícím textu – snad pomohou i někomu jinému.
Chtěl bych předem upozornit, že nejsem elektrotechnik a následující zapojení jsem sestavoval metodou pokus-omyl na základě průměrných znalostí fyziky a s podporou několika odborných knížek. Omluvte proto prosím případné neobratnosti ve vyjadřování. Také bych rád vyzval informované čtenáře, aby mi sdělili své připomínky a zejména, pokud mají chuť, aby se se mnou podíleli na dalším vývoji a zlepšování navržených zapojení.
Jednoduchost níže popsaných zapojení je umožněna využitím počítačových rozhraní pro sběr a vyhodnocování dat. Tak bylo možné realizovat jinak poměrně složitá zařízení – např. flashmetr. Využití počítače však vyžaduje základní znalosti programování.
Co budeme potřebovat?
Pro elektronickou část stačí pár kusů kabelů, konektory Canon 9 a 25 pinů (pro sériový a paralelní port), a podle konkrétního zapojení pár běžných elektrosoučástek a několik specifických, pracujících jako čidla (fotoodpory, termistory…).
Pro počítačovou část je zapotřebí jakýkoli počítač a programovací prostředí. Ideální je stará 386ka, která beztak už nemá žádné využití. Jako programovací prostředí je výborný Pascal. Pro jednoduchá zapojení bez rychlých čítacích smyček se dá použít MS Q-BASIC (je to součást MS DOSu). Já používám GFA BASIC, který pracuje pod Windows 3.x, sytaxe příkazů je podobná Q-BASICu, programy jsou však podstatně rychlejší a je možné kompilovat spustitelné EXE soubory. Demo GFA basicu je možné stáhnout na www.gfasoft.fga.net. Dále uvedené příklady listingů jsou pro GFA basic.
Porty
Port je rozhraní, které umožňuje komunikaci příslušného zapojení s počítačem. Následující popis portů je velmi zjednodušený a jde pouze do úrovně nezbytné pro pochopení, jak zde uvedená zapojení fungují.
Sériový port
Každí PC má minimálně 1 sériový port, označovaný jako COM1. Sériová port má některé vhodné vlastnosti, kvůli kterým je dobré ho upřednostnit:
- je velmi odolný proti zničení
- přístroje lze k němu připojovat při zapnutém počítači
- napájecí napětí lze odebírat přímo z portu.
- výstupy jsou odolné proti zkratu, v nízké resp. vysoké úrovni mají -12, resp +12 V
- výstupy mohou dodávat proud až 10 mA, takže mohou budit LED diody a výkonové stupně
Na sériovém port jsou k dispozici dvě výstupní a čtyři vstupní linky, které je možno řídit jednoduchými příkazy.
Vstupy a výstupy sériového portu
Číslo kolíku (na 25 pinovém konektoru) |
Číslo kolíku (na 9 pinovém konektoru) |
Typ | Označení | Funkce |
4 | 7 | výstup | RTS | výzva k vysílání |
5 | 8 | vstup | CTS | pohotovost k vysílání |
6 | 6 | vstup | DSR | pohotovost k DCE |
7 | 5 | – | GND | signálová zem |
8 | 1 | vstup | DCD | detektor přijímaného signálu |
20 | 4 | výstup | DTR | pohotovost DTE |
22 | 9 | vstup | RI | indikátor volání |
Čísla kolíků bývají uvedena na konektorech, takže při pájení by neměl být problém.
Pro identifikaci portu se používá “bázová adresa”.
Tabulka bázových adres seriových portů:
COM1 | COM2 | COM3 | COM4 | |
BA (hexadecimálně) | 3F8 | 2F8 | 3E8 | 2E8 |
Přímý výstup pomocí linek DTR nebo RTS se uskuteční pomocí příkazu OUT PORT a adresy (BA+4):
(syntaxe pro GFA BASIC)
OUT PORT (BA + 4), 2 | REM: | zapne RTS |
OUT PORT (BA + 4), 1 | zapne DTR | |
OUT PORT (BA + 4), 3 | zapne obě |
Výše uvedené příkazy způsobí překlopení příslušné linky z nízké úrovně na vysokou
Přímý vstup linkami CTS, DSR, RI a DCD se uskuteční pomocí příkazu INP PORT a bázové adresy (BA+6):
IF (INP (PORT(BA + 6)) AND 16) = 16 THEN… | REM: | dotaz na CTS, 16 = signál nahozen, 0 = shozen |
IF (INP (PORT(BA + 6)) AND 32) = 32 THEN … | dotaz na DSR | |
IF (INP (PORT(BA + 6)) AND 64) = 64 THEN … | dotaz na RI | |
IF (INP (PORT(BA + 6)) AND 128) = 128 THEN … | dotaz na DCD |
Tyto příkazy plní funkci dotazu na stav vstupní linky: je-li na vstupu napění, potom…
Paralelní port
Má narozdíl od sériového portu celkem 17 linek, které je možno řídit, ale je velmi citlivý na neopatrné zacházení a je snadné jej zničit. Aby se tomu předešlo, je nutné
- připojovat zařízení jen při vypnutém počítači
- na vstupy se smí vkládat napětí 0 až 5 V
- výstupy se nesmí zkratovat, nebo připojit na jiné výstupy
- výstupy nesmí přijít do styku s cizím napětím
Použití paralelního portu přichází v úvahu tam, kde je zapotřebí větší počet linek, anebo v případě počítače, který má pouze 1 sériový port (notebooky).
Tabulka bázových adres paralelních portů
LPT 1 | LPT 2 | |
BA (hexadecimálně) | 378 | 278 |
Datové výstupní linky D0 až D7 jsou vyvedeny na kolíky 2 až 9, zem je na kolíku 25.
OUT PORT (BA), 1 | REM: | zapne D0 |
OUT PORT (BA), 2 | REM: | zapne D1 |
OUT PORT (BA), 4 | REM: | zapne D2 |
OUT PORT (BA), 8 | REM: | zapne D3 |
OUT PORT (BA), 16 | REM: | zapne D4 |
… atd.
Bližší popis portů je uveden v hardwarových příručkách.