Popularna kawa wśród programistów, ponieważ nie wymaga długiego przygotowania i nadzoru, tak jak programy komercyjne. Jej doskonały smak zainspirował tysiące programistów do napisania wyśmienitych programów, napisanych w pierwszych godzinach dnia. Windowsy na przykład zostały napisane o 5:00 rano, dziêki tej kawie. Wynik gwarantowany.
Nescaffe jest dosyæ mocną kawą, gotowaną przez nalewanie gorącej wody do mieszaniny kawy, cukru i wody. Zazwyczaj powinno siê braæ jedną łyżkê kawy i jedną łyżkê cukru, oraz trochê wody w celu zmieszania. W tym czasie powinna zagotowaæ siê gorąca woda. Wtedy zmieszaj ją z resztą - możesz dodaæ mleka. Chociaż możesz używaæ czegoś prostszego niż ekspres do kawy do zagotowania wody, wiele razy widziałem powyższą procedurê.
Popularna wersja powyższej kawy. Właściwie nie jest potrzebny ekspres do kawy, a lodówka do otrzymania zimnej wody i kostek lodu.
Trudny przepis. Przeczytaj coffe-faq (zobacz odnośniki)
Ogólny schemat wygląda tak:
--------- 0-5V --------- ~220V -----------------
| PC |===>===| Obwód |========|Ekspres do kawy|
--------- --------- -----------------
Celem jest wziêcie napiêcia kontrolującego z komputera, które bêdzie napêdzaæ elektrycznie odizolowany układ z przekaźnikiem lub triakiem. Jeżeli twój ekspres do kawy jest duży (wiêcej niż 200W), musisz wybraæ przekaźnik, a jeśli nie, wystarczy triak.
Wszystkie układy tu przedstawione zostały przetestowane raz albo wiêcej, ale TY ODPOWIADASZ ZA SKUTKI UŻYWANIA. Jeżeli nie masz doświadczenia z elektroniką, NIE baw siê z tym, inaczej może ci coś nie wyjśæ...
Powinieneś byæ bardzo ostrożny przy eksperymentach z 220V - można używaæ odpowiedniego bezpiecznika.
Oto prosty przykład pobrania napiêcia 0-5V z portu równoległego komputera.
Widok od tyłu
Mêskie złącze ----- Pin 10 - ACK
DB25 | | Pin 9 - D7
| | Pin 2 - D0
~Strobe v v v Pin 1 -
_________________________________________________________
/ \
\ 13 12 11 10 9 8 7 6 5 4 3 2 1 /
\ /
\ 25 24 23 22 21 20 19 18 17 16 15 14 /
\___________________________________________________/
Pin 1 to ,,Strobe'' (logika odwrotna)
Piny 2-9 to sygnały SZYNY DANYCH (DATA BUS), dokładnie to, co zostało wpisane do (hmm ,,klamek''??? (latches) - przyp. tłum.) komendą OUTB.
Pin 10 to sygnał potwierdzenia (ACK) sterowany przez ciebie, tak żebyæ mógł wyprodukowaæ przerwanie.
Piny 18-25 są zwarte i jest to uziemienie (GND).
Dokładniej:
<= we pin Główny Nazwa
=> wy DB25 pin sygnału Bit Uwagi
-------- ---- ------ ------- --- -----------------------
=> 1 1 -Strobe C0- Ustaw niskie napiêcie >0.5us do wysył.
=> 2 2 Dane 0 D0 Ustaw na pierwsze znaczące dane
=> 3 3 Dane 1 D1 ...
=> 4 4 Dane 2 D2 ...
=> 5 5 Dane 3 D3 ...
=> 6 6 Dane 4 D4 ...
=> 7 7 Dane 5 D5 ...
=> 8 8 Dane 6 D6 ...
=> 9 9 Dane 7 D7 Ustaw na ostanie znaczące dane
<= 10 10 -Ack S6+IRQ Niskie napiêcie ~ 5uS, po zaakcept.
<= 11 11 +Busy S7- 1 Dla Zajête/Offline/Błąd
<= 12 12 +PaperEnd S5+ 1 Dla braku papieru
<= 13 13 +SelectIn S4+ 1 Dla wybranej drukarki
=> 14 14 -AutoFd C1- Ustaw na 0 dla LF
<= 15 32 -Error S3+ 0 dla Błêdu/Offline/Koñca papieru
=> 16 31 -Init C2+ Ustaw niskie napiêcie > 50uS do inicjalizacji
=> 17 36 -Select C3- Ustaw na 0 do wybrania drukarki
<==>18-25 19-30 GND
Najprostszy możliwy do zbudowania układ to:
Vcc
|
+---------+
| __|__
Przekaźnik /^\ Dioda 1N4002
| /---\
| |
+---------+
|
| /
4.7K B|/ C
port równoległy >-\/\/\/\/-| Tranzystor NPN: BD547A lub 2N2222A
|\ E
| V
|
pin GND portu równ. >--------+
|
Uziemienie
Połącz Vcc z napiêciem równym napiêciu przekaźnika (zazwyczaj 5 lub 12V). Oczywiście parametry przekaźnika powinny byæ poprawne dla twojego ekspresu.
Barmani czêsto umieszczają przekaźnik ZA tranzystorem, na emiterze (E) zamiast na kolektorze (C). Nie jest to dobre, ponieważ obciąża tranzystor i może byæ powodem zrobienia złej kawy :-). Dioda 1N4002 jest potrzebna do ochrony tranzystora przed napiêciami przekaźnika. Jeśli jej nie użyjesz, tranzystor stanie siê ciemniejszy i zacznie dymiæ...
Jeżeli potrzebujesz prostego obwodu, użyj sterownika triaków Motoroli - MOC301[012], razem z triakiem ogólnego zastosowania, takim jak SC 141D. Metoda ta ma zaletê - nie musisz stosowaæ dodatkowego źródła zasilania.
Dla nieindukcyjnych ładunków:
270 1 +-------+ 6 180
+5v -VAVAVA-----+ +----VAVAVA-----+-------------- Linia gorąca
2 | MOC | |
TTL in ---------+ 3012 +nc VA SC141D
| | 4 / |
nc+ +------------/ |
+-------+ +----\/\/\/---- Line Neutralna
OBCIĄŻENIE
Jeżel bêdziesz pracował z napiêciem 220V, wybierz 3021. Do obciążeñ indukcyjnych powinny byæ stosowane kondensatory obejściowe, zobacz ,,Motorola Application Note AN-780. Ekspresy do kawy są raczej obciążeniami opornościowymi, a nie indukcyjnymi (jak silniki), ale kto wie, jaki jest twój...
+5VDC
| 180 180 2.2k
+---/\/\/\----+-----+ +----/\/\/-+--/\/\/\---+-------> 120V
| 1| |6 | | Gorąca
| +=====+ | | MT1
| | MC | Sterown.| +-+
| | 3032| triaków | G | | TRIAK
| +=====+ | /| |
\ 2| |4 | / +-+
2N3904 |----+ | | | | MT2
/ | +--------- | -------+ |
V \ | | |
| / | \ |
| \ 43 .01u --- 10k / |
| / 500V --- \ |
| | | / |
+------+ | | | Neutralna
| +--------+--+---o o--> 120V
/ load
>-/\/\--| 2N3904
\
V
|
---
///
Powinieneś zmieniæ rezystory na odpowiednie dla 220V.
Opis obwodu:
MC2032 jest optoizolacyjnym sterownikiem triaka. 180-omowy rezystor zapewnia napiêcie dla diody LED w optoizolatorze. Zmieñ wartośæ rezystora, jeśli to potrzebne, żeby uzyskaæ poprawny prąd (np. 15mA).
Zauważ, że nie możesz testowaæ tego układu bez obciążenia. Triak nie przełączy siê, jeżeli nie bêdzie podłączony do źródła napiêcia zmiennego, nie możesz wiêc testowaæ go bez użycia napiêcia AC i obciążenia. Zauważ napisz ,,500V'' na obudowie kondensatora .01.
Bêdziesz musiał napisaæ program wykonujący nastêpujące czynności:
Zmieñ PODSTAWÊ na 0x3bc dla /dev/lp0, 0x378 dla /dev/lp1 i 0x278 dla /dev/lp2, zakres na 8.
Dobrze byłoby daæ programowi prawa setuid, żeby każdy mógł piæ kawê! (UWAGA: nie ustawiaj tych praw w ,,usieciowionym'' komputerze, grozi to pożarem itd. wywołanym przez nieuprawnionych użytkowników! - przyp. tłum.)
Przeczytaj Kernel Hacker's Guide i zaimplementuj sterownik (sądzê, że może on byæ stosowany w trybie użytkownika). Skompiluj go jako moduł, żebyś nie musiał kompilowaæ jądra przy każdym uaktualnieniu. Napisz:
echo cappucino > /dev/coffee
Uzyskasz filiżankê gorącej kawy w minutê. Pamiêtaj, żeby daæ prawidłowe prawa
dostêpu do /dev/coffee
, zależnie od tego, czy chcesz, żeby kawê robił
tylko root, czy nie.
Zaletą tej metody jest obsługa sprzêżenia zwrotnego z ekspresu do kawy przez użycie ACK portu równoległego tak, żeby ,,mądre'' ekspresy mogły tworzyæ przerwanie.
Zrób to jako pracê domową.
(zalecam implementacjê tej technologii tylko w sieci LAN, z powodu bezpieczeñstwa - przyp. tłum.)
Jeżeli napisałeś program w C (objaśnienia powyżej), wystarczy zrobiæ prosty skrypt CGI włączający i wyłączający ekspres do kawy. Powinieneś napisaæ kilka ładnych stron WWW wyjaśniających jak zrobiæ kawê i umieściæ je na serwerze WWW Apache...
Oto nasze pomysły:
Ten dokument był pierwotnie napisany w jêzyku helleñskim (greckim), ewoluując z małej debaty na liście greckich użytkowników Linuxa, czy Linux potrafi zrobiæ kawê, czy nie. Był on artykułem w naszym piêknym magazynie Linuxowym ,,magaz'': http://www.linux.gr/magaz. Pamiêtaj, że jest on napisany po grecku.
Nazywam siê Georgatos Photis i jestem (jeszcze-nadal może przez długi czas) studentem wydziału Inżynierii Komputerowej i Informatyki na Uniwersytecie Patras. Jestem zazwyczaj dosyæ zajêty grecką dokumentacją i stronami WWW, ale mogê przyjmowaæ dodatki do tego HOWTO, jeżeli nie bêdziesz niecierpliwy.
Standardowe prawa autorskie wszystkiego od Linuxa... Przeczytaj wszystkie i wybierz najważniejsze. Inaczej nie możesz kopiowaæ tego dokumentu.
Jeżeli znajdziesz jakieś błêdy, daj mi znaæ. :-)