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ć. :-)