  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 ter-
  dapat 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.
  ______________________________________________________________________

  Daftar Isi






































  1. Menu

     1.1 Kopi Perancis
     1.2 Nescaffe
     1.3 frappe
     1.4 freddo
     1.5 cappuccino (akan ditambahkan)
     1.6 espresso (akan ditambahkan)
     1.7 Kopi Gresikan
     1.8 Kopi Bonek
     1.9 Kopi Regional

  2. Rangkaian Elektronik

     2.1 Mengendalikan tegangan 0-5V dari port parallel
     2.2 Mengendalikan dengan relay
     2.3 Mengendalikan dengan TRIAC #1
     2.4 Mengendalikan dengan TRIAC #2

  3. Software

     3.1 Software
     3.2 Device driver
     3.3 Menghubungkan dengan internet

  4. Gejala overdosis

  5. Pengembangan

  6. Referensi

  7. Lain-lain

     7.1 Pendahuluan
     7.2 Authorship dan maintenance
     7.3 Hak Cipta

  8. Kredit



  ______________________________________________________________________

  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.

  o  Kopi Lampung : Keras dan beraroma kuat

  o  Kopi Bali    : Beraroma khas.

  o  Kopi Lombok  : Sangat keras.

  o  Kopi Singa   : Sangat enak dan berasa khas

  o  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:

  o  Mendapatkan ijin dari kernel untuk menggunakan alamat I/O dengan
     menggunakan perintah ioperm: ioperm(BASE,range,1);


  o  Menggunakan instruksi out, untuk menghasilkan tegangan 0 s.d. 5V
     pada port parallel: outb(1,BASE);

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

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


  o  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


  o  kegembiraan berlebihan


  o  nervous

  o  insomnia

  o  tachycardia atau cardiac arhythmia

  o  gastrointestinal disturbance

  o  tidak dapat beristirahat dengan baik

  o  bila sakit berlanjut atau ingin mengetahui istilah diatas hubungi
     dokter


  5.  Pengembangan


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

  o  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.

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

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

  o  Dalam masa mendatang akan diimplementasikan SNMP.

  o  Mesin kopi serial pada 115Kbps


  6.  Referensi


  o  <http://daisy.uwaterloo.ca/~alopez-o/caffaq.html> Internet Coffee-
     FAQ

  o  <http://lonestar.texas.net/~andrew/f_pc_.htm> Rangkaian dalam
     gambar ASCII. Beberapa untuk port parallel.

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

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

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

  o  <http://www.hut.fi/Misc/Electronics/circuits/parallel_output.html>
     Tomi Engdahl web page harus dilihat oleh semua orang yang menyukai
     elektronik


  o  <http://www.yahoo.com/Computers_and_Internet/Internet/
     Entertainment/Interesting_Devices_Connected_to_the_Net/Coffee_Machines/>
     Mesin Kopi online.

  o  <http://www.cs.su.oz.au/~bob/coffee.html> Hanya menawarkan
     cappucino.

  o  <http://einstein.et.tudelft.nl/~janssen/> Kopi panas dari Belanda

  o  <http://circe.chinalake.navy.mil/cgi-bin/spion/snapit.cgi>

  o  <http://www.cl.cam.ac.uk/coffee/coffee.html>

  o  <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


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

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

  o  Panagiotis Vrionis, Yannakopoulos Haralambos, untuk rasa humornya

     Dari penterjemah:

  o  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.
     ------------------------------------------------------------------
     Dokumen terbaru ada di http://ldp.linux.or.id Kontak Mohammad DAMT
     <mdamt@linux.or.id> bila berminat membantu Indonesia LDP.



