COFFEE-HOWTO

Georgatos Photis, <gef@ceid.upatras.gr> Diterjemahkan oleh Wima S.Y. <wima%its.ac.id@iptek.net.id> v0.5, 15-01-1998 Terj. 1 Januari 1999

Salah satu penilaian yang sangat mengganggu pada suatu software, yang pernah penulis dengar adalah bisa tidaknya sebuah software membuat kopi. Linux terbukti mampu membuat kopi. Dan rasanya cukup enak ! Selama beberapa waktu yang lalu, manusia dikejutkan dengan bagaimana sebuah komputer mampu untuk membuat kopi. Manusia membutuhkan kopi untuk tetap terjaga dan tidak tertidur didepan komputer dalam waktu lama. Semua orang mengetahui bahwa menulis program lebih baik dilakukan pada saat malam hari. Permasalahan utama adalah bagaimana mengendalikan mesin pembuat kopi sehingga dapat dikendalikan oleh software. Secara umum berarti tombol ON/OFF di implementasikan sebagai rangkaian elektronik yang mengontrol catu daya mesin pembuat kopi. Catatan penterjemah : Ini adalah salah satu mini HOWTO favorit saya, sebab dengan mini HOWTO ini saya berhasil menyusun hipotesa tentang mengapa Linux akan menjadi sistem operasi masa depan. Hal ini juga yang mengilhami para programmer di SUN untuk membuat JAVA. Sebab kopi yang paling enak didunia berasal dari pulau Jawa, meskipun belum ada orang yang mencoba membuat kopi dengan menggunakan JAVA. Apabila terdapat kesalahan dan koreksi penterjemahan harap hubungi penterjemah di <wima%its.ac.id@iptek.net.id> Saran dan pendapat dapat langsung dialamatkan ke penulis atau penterjemah.

Contents

1 Menu 2

1.1 Kopi Perancis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Nescaffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 frappe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.4 freddo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.5 cappuccino (akan ditambahkan) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.6 espresso (akan ditambahkan) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.7 Kopi Gresikan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.8 Kopi Bonek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.9 Kopi Regional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Rangkaian Elektronik 3

2.1 Mengendalikan tegangan 0-5V dari port parallel . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 Mengendalikan dengan relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.3 Mengendalikan dengan TRIAC #1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.4 Mengendalikan dengan TRIAC #2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Software 7 3.1 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.2 Device driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.3 Menghubungkan dengan internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4 Gejala overdosis 8

5 Pengembangan 8

6 Referensi 8

7 Lain-lain 9

7.1 Pendahuluan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

7.2 Authorship dan maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

7.3 Hak Cipta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

8 Kredit 9

1 Menu

1.1 Kopi Perancis

Merupakan kopi yang cukup populer dikalangan programer, dikarenakan tidak dibutuhkan cara-cara pembuatan / pemakaian khusus, seperti halnya software komersial. Rasanya yang enak telah menginspirasi ribuan programmer untuk menulis software-software bagus, yang ditulis pada jam pertama dari hari-hari kita. Windows misalnya, ditulis pada jam 05:00 pagi, dengan menggunakan kopi ini.

1.2 Nescaffe

Nescaffe adalah kopi yang cukup kuat, dibuat dengan menuangkan air panas pada campuran kopi dan gula. Biasanya cukup satu sendok kopi dan satu sendok gula dengan sedikit air untuk mencampurnya. Sementara itu anda memerlukan air mendidih. Setelah air mendidih maka campur dan aduk dan apabila anda suka tambahkan susu sedikit.

1.3 frappe

Variasi lain dari Nescaffe. Frappe ini tidak membutuhkan mesin pembuat kopi tapi sebuah lemari es untuk air dingin dan es batu kecil.

1.4 freddo

Kopi ini cukup sulit untuk membuatnya, lihatlah Coffe FAQ (lihat referensi)

1.5 cappuccino (akan ditambahkan)

1.6 espresso (akan ditambahkan)

Tambahan dari penterjemah. Berikut ini adalah kopi favorit penterjemah.

1.7 Kopi Gresikan

Anda dapat membuat kopi ini dari berbagai jenis kopi. Masukan lima sendok-teh kopi dan tiga sendok-teh gula pada sebuah cangkir kopi lalu tuangkan air yang benar-benar mendidih. Anda akan mendapatkan kopi yang kental. Diamkan sesaat sebelum diminum, tunggu hingga biji-bijian yang mengapung tenggelam dengan cara meniupnya. Kopi siap diminum.

1.8 Kopi Bonek

Didihkan air secukupnya. Buatlah dalam gelas (tanpa air) lima sendok-teh kopi dan empat sendok-teh gula. Ketika air sudah mendidih, masukan campuran kopi-gula kedalam air panas dan tunggu hingga mendidih. Sajikan dalam gelas dalam keadaan panas.

1.9 Kopi Regional

Kopi-kopi berikut ini adalah kopi yang terkenal enak bahkan hingga sampai keluar negeri.

• Kopi Lampung : Keras dan beraroma kuat

• Kopi Bali : Beraroma khas.

• Kopi Lombok : Sangat keras.

• Kopi Singa : Sangat enak dan berasa khas

• Kopi KapalApi: Tersedia berbagai rasa.

Anda dapat membuat kopi-kopi diatas dengan cara 1.7 dan 1.8. dengan hasil yang tidak mengecewakan.

2 Rangkaian Elektronik

Blok diagram secara umum adalah sebagai berikut:

  --------- 0-5V  ----------- ~220V  ------------
  |  PC   |===>===|Rangkaian|========|Mesin Kopi|
  ---------       -----------        ------------

Konsepnya adalah bagaimana kita mengatur tegangan dari komputer yang akan mengendalikan rangkaian isolasi dengan Relay atau Triac.

Anda harus menggunakan Relay apabila anda menggunakan mesin kopi yang berdaya lebih besar dari 200W, apabila tidak anda dapat menggunakan TRIAC.

Semua rangkaian dibawah ini sudah diuji, namun anda tetap BERTANGGUNG JAWAB terhadap apapun hasilnya. Apabila anda tidak mempunyai pengalaman dengan elektronik maka jangan mencoba hal ini atau anda mungkin mendapatkan sesuatu yang buruk..

Anda harus berhati-hati berkesperimen dengan 220V, dapat pula digunakan fuse (sekring) untuk pengaman

2.1 Mengendalikan tegangan 0-5V dari port parallel

Berikut ini adalah contoh sederhana untuk mendapatkan tegangan 0-5V dari port parallel (printer).

             Tampak belakang    -----    Pin 10 - ACK
             Male DB-25         |   |    Pin  9 - D7
             Connector          |   |                           Pin 2 - D0
                                v   v                           v   Pin 1 -
       ~Strobe
              ____________________________________________________________
             /                                                            \
             \     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 adalah Strobe (inverse logic)

Pins 2-9 adalah signal DATA BUS, sesuatu yang ditulis pada parallel port akan ditahan (latch). Digunakan perintah OUTB.

Pin 10 adalah signal acknowledge (ACK), dikendalikan oleh anda, sehingga anda dapat menghasilkan interupsi ke CPU

Pin 18-25 adalah ground (GND)

Lengkapnya:

  <= in   DB25    Cent    Nama            Reg
  => out  pin     pin     Signal          Bit     Fungsi
  ------  ----    ----    --------        ---     -----------------------------
  =>       1       1      -Strobe         C0-     Pulsa rendah selama >0.5 us
  =>       2       2      Data 0          D0      Data Least Significant Bit
  =>       3       3      Data 1          D1      ...
  =>       4       4      Data 2          D2      ...
  =>       5       5      Data 3          D3      ...
  =>       6       6      Data 4          D4      ...
  =>       7       7      Data 5          D5      ...
  =>       8       8      Data 6          D6      ...
  =>       9       9      Data 7          D7      Data Most Significant Bit
  <=      10      10      -Ack            S6+ IRQ Pulsa rendah ~ 5 uS,

                                                   setelah diterima
  <=      11      11      +Busy           S7-     Tinggi untuk Busy/Offline
  <=      12      12      +PaperEnd       S5+     Tinggi untuk out of paper
  <=      13      13      +SelectIn       S4+     Tinggi untuk printer selected
  =>      14      14      -AutoFd         C1-     Rendah untuk af 1 baris
  <=      15      32      -Error          S3+     Rendah untuk PaperEnd
  =>      16      31      -Init           C2+     Pulsa rendah > 50uS, u/ init
  =>      17      36      -Select         C3-     Rendah untuk set printer
  ==      18-25   19-30,  Ground

2.2 Mengendalikan dengan relay

Rangkaian paling sederhana adalah :

                                    Vcc
                                     |
                                     +------+
                                     |    __|__
                                   Relay   /^\  Diode 1N4002
                                    Coil  /---\
                                     |      |
                                     +------+
                                     |
                                  | /
                        4.7K    B |/  C
       parallel port >-\/\/\/\/---|        NPN Transistor: BC547A or 2N2222A
       data pin                   |\  E
                                  | V
                                    |
       parallel port >--------------+
       ground pin                   |
                                 Ground

Hubungkan Vcc dengan tegangan yang sama dengan tegangan kerja relay, biasanya 5V atau 12V. Relay harus dipilih sesuai dengan spesifikasi mesin kopi anda.

Beberapa orang meletakan relay setelah transistor, pada emitor (E) daripada kolektor (C). Hal ini akan membuat transistor terbias dengan buruk dan akan menghasilkan kopi yang tidak enak. Diode digunakan untuk memproteksi transistor dari arus balik relay. Apabila anda tidak menggunakannya maka transistor anda akan berasap dan rusak.

2.3 Mengendalikan dengan TRIAC #1

Anda dapat menggunakan driver TRIAC dari Motorola MOC301012 atau ekivalennya (di Indonesia banyak dijumpai ditoko-toko komponen elektronik), dan menghubungkannya dengan TRIAC apapun dalam hal ini SC141D. Keuntungan dari metode ini adlah bahwa anda tidak memerlukan catu daya ekstra.

Ini adalah rangkaian untuk beban non-induktif

270     1 +-------+ 6    180
+5v -\/\/\/-----+       +----\/\/\/-----+-------------- 120V
   2 |  MOC  |               |
TTL in ---------+ 3012  +nc            VA  SC141D
     |       | 4           / |
   nc+       +------------/  |
     +-------+               +----\/\/\/---- Neutral
                                   LOAD

Apabila anda bekerja dengan 220V, maka gunakan 3021. Beban induktif digunakan dengan meletakan kapasitor bypass, lihat Motorola Application Note AN-780. Mesin kopi biasanya adalah beban resistif bukan induktif (seperti motor), tetapi siapa tahu model punya anda ?

2.4 Mengendalikan dengan TRIAC #2

+5VDC
|    180                      180      2.2k
+---/\/\/\----+-----+   +----/\/\/-+--/\/\/\---+-------> 120V
 |    1|   |6         |           |         Hot
 |    +=====+         |           | MT1
 |    | MC  | TRIAC   |          +-+
 |    | 3032| Driver  |        G | | TRIAC
 |    +=====+         |         /| |
 \    2|   |4         |        / +-+
2N3904  |----+   |          |        |  | MT2
 /     |   +--------- | -------+  |
V      \              |        |  |
|      /              |        \  |
|      \ 43    .01u  ---   10k /  |
|      /       500V  ---       \  |
|      |              |        /  |
+------+              |        |  |            Neutral
|                     +--------+--+---o    o--> 120V
/                                      load
>-/\/\--|  2N3904
\
 V
 |
---
///

Ubahlan resistor untuk 220V

Penjelasan rangkaian:

MC3032 adalah pengendali TRIAC dengan optoisolator. Resistor 180 ohm digunakan untuk membatasi arus untuk LED pada optoisolator. Ubahlah resistor ini untuk mendapatkan arus yang sesuai, biasanya adalah 15mA.

Perhatian : Anda tidak dapat menguji rangkaian tanpa beban. TRIAC tidak akan terhubung kalau tidak dihubungkan dengan sumber tegangan AC, sehingga anda tidak dapat mengujinya tanpa adanya sumber AC dan beban.

3 Software

3.1 Software

Anda akan membuat file executable yang akan melakukan hal-hal ini:

• Mendapatkan ijin dari kernel untuk menggunakan alamat I/O dengan menggunakan perintah ioperm:

     ioperm(BASE,range,1);

• Menggunakan instruksi out, untuk menghasilkan tegangan 0 s.d. 5V pada port parallel:

     outb(1,BASE);

• Menunggu dalam beberapa waktu hingga kopi siap. Akan sangat baik apabila waktu dapat dibaca melalui command-line.

• Mematikan mesin kopi dengan: outb(0,BASE);

• Sebelum mengakhiri maka ijin dikembalikan dengan ioperm(BASE,range,0);

Rubahlah BASE = 0x3bc untuk /dev/lp0, 0x378 untuk /dev/lp1, dan 0x278 untuk /dev/lp2, range=8.

Akan lebih baik apabila program yang anda buat adalah program setuid, sehingga semua user anda dapat membuat/meminum kopi.

3.2 Device driver

Bacalah kernel hackers guide, dan buatlah sebuah device driver. Kompile menjadi modul sehingga anda tidak mengkompile kernel pada setiap update. kemudian cukup menulis

  echo cappuccino >/dev/coffee

Maka anda akan mendapatkan secangkir kopi hangat. Berikan hak penggunaan yang benar pada /dev/coffee, sehingga anda dapat mengatur siapa saja yang dapat membuat kopi. User A, B atau hanya root saja yang berhak membuat kopi.

Keuntungan dari metode ini adalah anda dapat menggunakan feedback dari mesin kopi anda dengan menggunakan signal ACK, sehingga mesin kopi anda menjadi cerdas, dan akan memberikan tanda bahwa kopi telah siap.

Kerjakanlah sebagai pengembangan mesin kopi anda.

3.3 Menghubungkan dengan internet

Apabila anda menggunakan bahasa C, maka anda tinggal menulis skrip CGI sederhana untuk melakukan ON/OFF mesin kopi anda. Buatlah webpage yang bagus dan jelaskan bagaimana membuat kopi, kemudian masukan pada Apache web server anda.

4 Gejala overdosis

• kegembiraan berlebihan

• nervous

• insomnia

• tachycardia atau cardiac arhythmia

• gastrointestinal disturbance

• tidak dapat beristirahat dengan baik

• bila sakit berlanjut atau ingin mengetahui istilah diatas hubungi dokter

5 Pengembangan

• Semua hardware dan software disini dapat dikembangkan untuk berbagai macam keperluan seperti pemanggan, oven, pembuat pai apel, dsb

• Mesin kopi Cluster dengan 8 mesin kopi. Anda dapat membuat kopi walaupun ada mesin kopi yang rusak. Anda dapat pula membuat menu untuk mesin kopi yang berbeda dengan rasa yang berbeda pula.

• Mesin kopi dengan pengendali vektor parallel akan tersedia pada masa mendatang

• Apabila anda menginginkan otomasi maksimum anda harus menambahkan rangkaian sensor, sehingga anda dapat mengatur aliran air, suhu, kuantitas kopi, dsb

• Dalam masa mendatang akan diimplementasikan SNMP.

• Mesin kopi serial pada 115Kbps

6 Referensi

• <http://daisy.uwaterloo.ca/~alopez-o/caffaq.html> Internet Coffee-FAQ
• <http://lonestar.texas.net/~andrew/f_pc_.htm> Rangkaian dalam gambar ASCII. Beberapa un-

tuk port parallel.

• <http://shell.rmi.net/~hisys/parport.html> Anada dapat mempelajari tentang parallel port

disini

• <http://sunsite.unc.edu/LDP/HOWTO/mini/IO-Port-Programming> Pemrograman I/O port

dibawah Linux.

• <http://www.redhat.com:8080/HyperNews/get/khg.html> Bagaimana menulis device driver anda

sendiri.

• <http://www.hut.fi/Misc/Electronics/circuits/parallel_output.html> Tomi Engdahl web

page harus dilihat oleh semua orang yang menyukai elektronik

   • <http://www.yahoo.com/Computers_and_Internet/Internet/Entertainment/Interesting_
     Devices_Connected_to_the_Net/Coffee_Machines/> Mesin Kopi online.
   • <http://www.cs.su.oz.au/~bob/coffee.html> Hanya menawarkan cappucino.
   • <http://einstein.et.tudelft.nl/~janssen/> Kopi panas dari Belanda
   • <http://circe.chinalake.navy.mil/cgi-bin/spion/snapit.cgi>
   • <http://www.cl.cam.ac.uk/coffee/coffee.html>
   • <http://www.menet.umn.edu/coffeecam/>

7 Lain-lain

7.1 Pendahuluan

Dokumen ini pertama kali ditulis dalam bahasa hellenic (Yunani), berasal dari debat kecil pada mailing list linux-greek-user, apakah Linux dapat membuat kopi atau tidak. Hal ini sudah di masukan dalam bentuk artikel kedalam majalah Linux kami, dinamakan "magaz": <http://www.linux.gr/magaz>. Ingatlah bahwa magaz adalah yunani.

7.2 Authorship dan maintenance

Nama penulis adalah Geogatos Photis, mahasiswa Computer Engineering & Informatics pada University of Patras. Penulis biasanya sangat sibuk dengan dokumentasi Yunani dan webpage, tapi masih menerima kiriman mengenai HOWTO ini.

7.3 Hak Cipta

Hak cipta yang biasa berlaku sama seperti Linux. Bacalah. Atau anda tidak dapat menyalinnya.

8 Kredit

• Christofer Colombus. nama aslinya adalah Cristobal Colon. Dia adalah orang pertama yang membawa kopi dari Amerika, yang ditemukannya pada 1492.

• Kostas Lialiambis adalah orang yang berani mengatakan bahwa ia dapat membuat kopi dengan mesin Linux nya

• Panagiotis Vrionis, Yannakopoulos Haralambos, untuk rasa humornya

Dari penterjemah:

• Inu Wikantyoso <inu@sby.centrin.net.id> untuk CD R.H.5.1nya. Penterjemah hanya mempunyai R.H.5.0 yang belum ada HOWTO ini.

Selesai.