Isi kandungan:
- Bekalan
- Langkah 1: Melukis Lubang
- Langkah 2: Melihat / menggerudi Lubang
- Langkah 3: Melekatkan Kes
- Langkah 4: Skematik
- Langkah 5: Memateri Pam
- Langkah 6: Menyambungkan Papan Relay ke Pam
- Langkah 7: Tambahkan Bekalan Kuasa dan Raspberry Pi
- Langkah 8: Tambahkan Sensor Inframerah
- Langkah 9: Sambungkan Modul Ultrasonik
- Langkah 10: Pasang Pintu
- Langkah 11: Pasang Doorswitch
- Langkah 12: Buat Pemegang Tiub
- Langkah 13: Masukkan Corong
- Langkah 14: Pasangkan Tiub ke Pam
- Langkah 15: Memotong Tiub untuk Botol
- Langkah 16: Tambahkan Palam Pengedaran
- Langkah 17: Sambungkan Lcd
- Langkah 18: Lekatkan Panel Depan
- Langkah 19: Melukis
- Langkah 20: Isi Mesin
- Langkah 21: Buat Pangkalan Data
- Langkah 22: Menulis Kod
Video: CocktailMaker: 22 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Koktel, cara terbaik untuk mengakhiri hari yang melelahkan, atau memulakan pesta yang menarik. Anda pergi ke bar, memesan minuman mewah, duduk dan tunggu campuran surgawi tiba. Pada akhir malam anda membayar bil, beri petua kepada bartender dan anda sedang dalam perjalanan. Tetapi bagaimana jika saya memberitahu anda ada cara untuk anda menikmati koktel lazat yang sama tanpa pergi ke bar atau bahkan menghabiskan banyak wang. Yang diperlukan hanyalah sedikit masa lapang dan sedikit kreativiti. Teruskan membaca, dan saya akan menerangkan langkah demi langkah bagaimana membuat mesin koktel anda sendiri di rumah.
Bekalan
Untuk kes itu
- Tebal MDF 6mm
- 2 x 374mm / 462mm
- 2 x 280mm / 462mm
- 2 x 174mm / 250mm
- 1 x 162mm / 250mm
- 1 x 150mm / 250mm
- 1 x 180mm / 162mm
- 1 x 180mm / 362mm
- 1 x 362mm / 100mm
- 1 x 374mm / 292mm
- Tebal MDF 12mm
- 1 x 374mm / 292mm
- 2 x engsel
- skru
- gam kayu
Untuk elektronik
- 1 x paparan LCD 16x2
- Papan penyambung 8-saluran 1 x 5V
- 1 x 12V DC 100W bekalan kuasa
- 1 x raspberry pi 3B +
- Pam Dos 8 x 12V DC
- 1 x pengedar I / O PCA8574p I2C
- 1 x papan roti
- 1 x 330 perintang Ohm
- Perintang 2 x 470 Ohm
- 1 palam pengedaran
- 1 x sensor penghalang halangan inframerah
- 1 x modul ultrasonik
- 1 x penyekat pintu magnet
- dawai tembaga
Tambahan
- 1 x corong kecil
- 1 x penutup nutella yang fleksibel
- Tiub fleksibel 8m tebal 4mm
- 3 x jepit kain
- cat putih
- 1 x pembuat koktel
Minuman
- 1 x sebotol gin
- 1 botol rum
- 1 x sebotol vodka
- 1 x sebotol tequila
- 1 botol tiga saat
- 1 botol jus limau nipis
- 1 x sebotol sirap sederhana
- 1 botol cola
(pilihan)
- 8 botol sama
Langkah 1: Melukis Lubang
Kita mulakan dengan mengukur dan melukis lubang yang diperlukan di atas kayu.
-
panel depan (374mm / 462mm)
- 6.5 cm dari atas, di tengah panel, kami melukis segi empat tepat ukuran paparan lcd kami.
- di bahagian bawah, di tengah panel, kami melukis sebuah segi empat tepat setinggi 25cm dengan lebar 15cm untuk pintu.
-
panel belakang petak elektronik (362mm / 100mm)
lukiskan 8 kali permukaan pam pada panel ini, agar semua pam sesuai
-
panel atas ruang pengocok (180mm / 162mm)
- lukis cirkel sebesar hujung corong di tengah panel
- 3 cm dari tepi sisi pendek, lukiskan bentuk dua lubang yang diperlukan agar modul ultrasonik sesuai.
- di sudut kanan depan, lukis lubang kecil, 1cm dari kedua sisi. Dua wayar ditembak masuk ke dalamnya.
-
panel sebelah kanan ruang pengocok (174mm / 250mm)
10 cm dari bawah (sisi pendek), lukiskan dua lubang yang diperlukan agar sensor inframerah sesuai (di tengah)
Langkah 2: Melihat / menggerudi Lubang
Sekarang setelah kita membuat lubang, inilah masanya untuk mengambil beberapa mesin berat dan memotong / melihat / menggerudinya. Saya menggunakan latih tubi sederhana dan melihat, dan dalam masa kurang dari satu jam kerja itu selesai.
Sekiranya anda seperti saya, dan mengalami kesukaran untuk melihat garis yang dilukis, anda boleh menggunakan fail selepas itu untuk memperbaiki kesilapan anda.
Langkah 3: Melekatkan Kes
-
Untuk luaran
- Mulakan dengan menempelkan panel belakang (yang terbesar) ke panel bawah (yang tebal) pada sudut 90 darjah.
- Tambahkan sisi (2 x 280mm / 462mm).
- Kami akan membiarkan bahagian depan dan bahagian atas terbuka buat masa ini
-
untuk bahagian dalam
-
Mulakan dengan membuat ruang pengocok.
- gam kedua-dua sisi (2 x 174mm / 250mm) ke panel belakang (162mm / 250mm)
- tambahkan panel atas (180mm / 162mm) dengan dua lubang untuk modul ultrasonik menghadap panel belakang. Panel ini harus menutup sisi ketiga-tiga panel dengan sempurna.
-
-
untuk petak elektronik
lekatkan panel motor ke panel bawah (362mm / 180mm)
- lekatkan ruang pengocok ke bahagian tengah bahagian depan mesin (biarkan 6mm untuk panel depan.
- lekatkan petak elektronik di bahagian atas mesin, 6mm dari depan. Panel motor hendaklah menghadap panel belakang.
Langkah 4: Skematik
Sebelum kita mula menghubungkan semua komponen elektronik, mari kita lihat skema.
Langkah 5: Memateri Pam
Pastikan semua landasan dihubungkan. Dengan cara ini kita dapat menghubungkannya dengan mudah ke permukaan bekalan kuasa.
Langkah 6: Menyambungkan Papan Relay ke Pam
- Sambungkan semua COM dari papan penyambung, supaya kami dapat menghubungkannya dengan mudah ke 12V bekalan kuasa.
- Sambungkan setiap NO di papan relay dengan pam yang berbeza (+).
Langkah 7: Tambahkan Bekalan Kuasa dan Raspberry Pi
Tidak keberatan panel depan dalam gambar, saya meletakkannya di sana untuk mengetahui berapa banyak ruang untuk elektronik.
-
sambungkan papan penyambung seperti ini
- 5V ke pin 5V pada pi raspberry
- GND ke GND pada pi raspberry
- masing-masing IN ke pin GPIO pada raspberry pi
- sambungkan rangkaian pin GND pam dengan 0V bekalan kuasa, dan siri COM di papan geganti dengan 12V bekalan kuasa.
- Sekarang, jika anda menjalankan skrip mudah yang mengaktifkan semua pin GPIO yang disambungkan, anda boleh menguji pematerian anda dan memperbaiki kesilapan sebelum terdapat banyak wayar di petak. Semua pam mesti dimulakan
Langkah 8: Tambahkan Sensor Inframerah
- pertama sekali saya menggerudi lubang di tengah-tengah petak elektronik, supaya kabel dari ruang pengocok dapat naik.
-
mulakan dengan mengkonfigurasi sensor dengan betul
- sambungkan VDD ke 3.3V pada pi raspberry
- sambungkan GND ke GND pada pi raspberry
- letakkan sekeping kadbod kecil di antara penerima dan pemancar
- letakkan pengocok kira-kira 5cm dari sensor
- ambil pemutar skru dan putar perapi di bahagian atas sehingga led OUT padam.
- uji gerakkan pengocok bolak-balik dan lihat apakah sensor bertindak balas terhadap pergerakan. (LED OUT harus dihidupkan dan dihidupkan).
- ulangi jika perlu.
- masukkan penerima dan pemancar melalui lubang yang kita buat tadi.
- sambungkan pin OUT ke pin GPIO pada raspberry pi.
Langkah 9: Sambungkan Modul Ultrasonik
- masukkan modul di lubang di bahagian atas ruang pengocok yang kita buat tadi.
- sambungkan VCC dengan lima volt pada raspberry pi.
- sambungkan pencetus dengan pin GPIO
- buat pembahagi voltan antara GND dan gema (seperti yang ditunjukkan dalam gambar)
- sambungkan GDN dengan GND pi raspberry.
- sambungkan gema dengan pin GPIO
jika anda tidak memahami maksud saya dengan pembahagi voltan, lihat skema lain. ia memastikan bahawa gema 5V diturunkan ke 3.3V.
Langkah 10: Pasang Pintu
- Gunakan skru kecil untuk memasang engsel pada pintu dan panel depan.
- lubang bersaiz jari untuk memudahkan membuka pintu.
Langkah 11: Pasang Doorswitch
Gunakan skru atau gam untuk memasang dua bahagian penyekat pintu ke pintu, dan bahagian dalam ruang pengocok.
Langkah 12: Buat Pemegang Tiub
- potong lapan keping tiub lebih kurang 20cm
- gunakan objek bulat (saya menggunakan penutup nutella yang fleksibel) untuk memegangnya
Langkah 13: Masukkan Corong
- letakkan corong di lubang terakhir di panel atas ruang pengocok.
- letakkan pemegang tiub di corong, dan selamatkan dengan pasak pakaian.
Langkah 14: Pasangkan Tiub ke Pam
pasangkan bahagian tiub yang lain ke bahagian pam yang dikeluarkan.
Langkah 15: Memotong Tiub untuk Botol
potong pelbagai ukuran tiub, sehingga setiap botol akan dihubungkan dengan pam. Pasangkannya ke bahagian pam yang tidak digunakan.
Langkah 16: Tambahkan Palam Pengedaran
- potong palam penyambung
- gerudi lubang di sisi petak elektronik
- masukkan kabel melalui lubang
- pasang semula palam penyambung
Langkah 17: Sambungkan Lcd
- sambungkan lcd seperti yang ditunjukkan dalam skema
- gunakan expander I2C i / o, kerana pin GPIO tidak akan mencukupi
- ini adalah satu-satunya masa kita memerlukan papan roti kecil
Langkah 18: Lekatkan Panel Depan
sekarang bahawa LCD (komponen terakhir kami) disambungkan, kami boleh melekatkan panel depan ke mesin kami.
Langkah 19: Melukis
pastikan untuk menutup bahagian bukan kayu dengan pita, dan cat mesin dengan warna pilihan anda.
Langkah 20: Isi Mesin
Perkara terakhir yang perlu kita lakukan sebelum kita memuat naik kod dan menikmati koktel yang lazat, adalah mengisi mesin dengan minuman keras, dan beberapa pengadun.
Langkah 21: Buat Pangkalan Data
buat sambungan ke pi raspberry, dan buat pangkalan data.
BUAT DATABASE JIKA TIDAK ADA `cocktailmaker` / *! 40100 DEFAULT CHARACTER SET utf8 * /; GUNAKAN` cocktailmaker`; - MySQL dump 10.13 Distrib 5.7.17, untuk Win64 (x86_64) - - Host: 127.0.0.1 Pangkalan data: koktail pembuat - --------------------- --------------------------------- - Log pelayan versi 5.7.20
/ *! 40101 SET @OLD_CHARACTER_SET_CLIENT = @@ CHARACTER_SET_CLIENT * /;
/ *! 40101 SET @OLD_CHARACTER_SET_RESULTS = @@ CHARACTER_SET_RESULTS * /; / *! 40101 SET @OLD_COLLATION_CONNECTION = @@ COLLATION_CONNECTION * /; / *! 40101 SET NAMA utf8 * /; / *! 40103 SET @OLD_TIME_ZONE = @@ TIME_ZONE * /; / *! 40103 SET TIME_ZONE = '+ 00:00' * /; / *! 40014 SET @OLD_UNIQUE_CHECKS = @@ UNIQUE_CHECKS, UNIQUE_CHECKS = 0 * /; / *! 40014 SET @OLD_FOREIGN_KEY_CHECKS = @@ FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS = 0 * /; / *! 40101 SET @OLD_SQL_MODE = @@ SQL_MODE, SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO' * /; / *! 40111 SET @OLD_SQL_NOTES = @@ SQL_NOTES, SQL_NOTES = 0 * /;
--
- Struktur jadual untuk jadual `cocktaillogboek` -
JADUAL HABIS JIKA ADA `cocktaillogboek`;
/ *! 40101 SET @saved_cs_client = @@ character_set_client * /; / *! 40101 SET character_set_client = utf8 * /; BUAT JADUAL `cocktaillogboek` (` id_cocktail_log` int (11) NOT NULL AUTO_INCREMENT, `aantal` tinyint (4) DEFAULT NULL,` datum` datetime DEFAULT CURRENT_TIMESTAMP, `cocktail_id` int (11) NOT NULL, PRIMARY, `cocktail_id`), KUNCI` fk_Cocktaillogboek_Cocktails1_idx` (`cocktail_id`), CONSTRAINT` fk_Cocktaillogboek_Cocktails1` KUNCI ASING (`cocktail_id`) RUJUKAN` koktel` (`id_cocktail 'TIDAK AKTIF) 5 CARTA DEFAULT = utf8; / *! 40101 SET character_set_client = @saved_cs_client * /;
--
- Membuang data untuk jadual `cocktaillogboek` -
LOCK TABLES `cocktaillogboek` MENULIS;
/ *! 40000 ALTER TABLE `cocktaillogboek` KEY DISABLE KEYS * /; INSERT INTO `cocktaillogboek` NILAI (1, 1, '2019-05-31 18:06:24', 1), (2, 1, '2019-05-31 18:06:24', 2), (3, 2, '2019-05-31 18:06:24', 1), (4, 2, '2019-05-31 18:06:24', 2); / *! 40000 ALTER TABLE `cocktaillogboek` KUNCI AKTIF * /; UNLOCK TABLES;
--
- Struktur meja untuk koktel meja -
JADUAL HABIS JIKA ADA `koktel ';
/ *! 40101 SET @saved_cs_client = @@ character_set_client * /; / *! 40101 SET character_set_client = utf8 * /; CREATE TABLE `cocktails` (` id_cocktail` int (11) NOT NULL AUTO_INCREMENT, `naam_cocktail` tinytext,` code_cocktail` varchar (45) DEFAULT NULL, `inhoud_cocktail` float DEFAULT NULL, PRIMARY KEY (` id_cock) code_cocktail_UNIQUE` (`code_cocktail`)) ENGINE = InnoDB AUTO_INCREMENT = 3 DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client * /;
--
- Membuang data untuk koktel meja -
LOCK TABLES `koktel` MENULIS;
/ *! 40000 ALTER TABLE `koktel` KUNCI Lumpuhkan * /; INSERT INTO `cocktails` NILAI (1, 'tea ice ais panjang', '1q3n2q3n3q3n4q3n5q3x6q3n8q2', 20), (2, 'tequila sunrise', '2q5x7q5x9q3', 13); / *! 40000 ALTER TABLE `koktel` AKTIFKAN KUNCI * /; UNLOCK TABLES;
--
- Struktur meja untuk meja `minum '-
JADUAL HABIS JIKA ADA `minum ';
/ *! 40101 SET @saved_cs_client = @@ character_set_client * /; / *! 40101 SET character_set_client = utf8 * /; BUAT JADUAL `dranken` (` id_drank` int (11) NOT NULL AUTO_INCREMENT, `naam_drank` tinytext,` tijd_per_centiliter` float DEFAULT NULL, `inhoud_drank` float DEFAULT NULL,` pomp_drank` tinyint (4) id_drank`)) ENGINE = InnoDB AUTO_INCREMENT = 12 DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client * /;
--
- Membuang data untuk jadual `mabuk '-
LOCK TABLES `mabuk` MENULIS;
/ *! 40000 ALTER TABLE `mabuk` KUNCI KELEMAHAN * /; INSERT INTO `dranken` NILAI (1, 'gin', 20, 70, 1), (2, 'tequila', 20, 70, 2), (3, 'wodka', 20, 70, 3), (4, 'triple sec', 20, 70, 4), (5, 'rum', 20, 70, 5), (6, 'wiski', 20, 70, NULL), (7, 'cola', 15, 100, 6), (8, 'sinaasappelsap', 25, 100, 7), (9, 'limoensap', 20, 100, 8), (10, 'grenadine', 30, 100, 9), (11, 'suikersiroop', 30, 100, 10); / *! 40000 ALTER TABLE `dranken` ENABLE KEYS * /; UNLOCK TABLES;
--
- Struktur meja untuk jadual `dranken_cocktails` -
JADUAL HABIS JIKA ADA `dranken_cocktails`;
/ *! 40101 SET @saved_cs_client = @@ character_set_client * /; / *! 40101 SET character_set_client = utf8 * /; BUAT JADUAL `dranken_cocktails` (` Dranken_id_drank` int (11) NOT NULL, `Cocktail_id_cocktail` int (11) NOT NULL, PRIMARY KEY (` Dranken_id_drank`, `Cocktail_id_cocktail`), KEY` fk_Drock_ock_Cock_Cock_Cock fk_Dranken_has_Cocktail_Dranken1_idx` (`Dranken_id_drank`), KEKANGAN` fk_Dranken_has_Cocktail_Cocktail1` ASING KEY (`Cocktail_id_cocktail`) RUJUKAN` cocktails` (`id_cocktail`) ON DELETE NO ACTION ON UPDATE NO ACTION, KEKANGAN` fk_Dranken_has_Cocktail_Dranken1` ASING KEY (`Dranken_id_drank`) RUJUKAN` dranken` (`id_drank`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client * /;
--
- Membuang data untuk jadual `dranken_cocktails` -
LOCK TABLES `dranken_cocktails` MENULIS;
/ *! 40000 ALTER TABLE `dranken_cocktails` KEY DISABLE KEYS * /; / *! 40000 ALTER TABLE `dranken_cocktails` ENABLE KEYS * /; UNLOCK TABLES;
--
- Struktur meja untuk meja `softts '-
JADUAL HABIS JIKA ADA `lembut ';
/ *! 40101 SET @saved_cs_client = @@ character_set_client * /; / *! 40101 SET character_set_client = utf8 * /; BUAT JADUAL `softs` (` bruisend_drank` tinyint (4) DEFAULT NULL, `drank_id` int (11) NOT NULL, KEY` fk_Softs_Dranken1_idx` (`drank_id`), CONSTRAINT` fk_Softs_Dranken1 `FENIGENE` `(` id_drank`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client * /;
--
- Membuang data untuk `soft table '-
LOCK TABLES `soft` MENULIS;
/ *! 40000 ALTER TABLE `soft` KEY DISABLE KEYS * /; INSERT INTO `softs` NILAI (1, 7), (0, 8), (0, 9), (0, 10), (0, 11); / *! 40000 ALTER TABLE `soft` KEABUNGAN KUNCI * /; UNLOCK TABLES;
--
- Struktur jadual untuk jadual `roh '-
JADUAL HABIS JIKA ADA `roh ';
/ *! 40101 SET @saved_cs_client = @@ character_set_client * /; / *! 40101 SET character_set_client = utf8 * /; BUAT JADUAL `Spirit` (` alcohol_percentage_drank` tinytext, `soort_drank` tinytext,` drank_id` int (11) NOT NULL, KEY `fk_Spirits_Dranken_idx` (` drank_id`), CONSTRAINT `fk_Spirits_Dranken` FOREIG ' `(` id_drank`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client * /;
--
- Membuang data untuk jadual `roh '-
LOCK TABLES `roh` MENULIS;
/ *! 40000 ALTER TABLE `roh` KEY DISABLE * /; INSERT INTO `roh` NILAI ('40', 'gin', 1), ('35', 'tequila', 2), ('37.5 ',' wodka ', 3), (' 40 ',' triple sec ', 4), ('37.5', 'rum', 5), ('37.5 ',' wiski ', 6); / *! 40000 ALTER TABLE `roh` MENGUKUR KUNCI * /; UNLOCK TABLES;
--
- Membuang acara untuk pangkalan data 'koktailmaker' -
--
- Membuang rutin untuk pangkalan data 'cocktailmaker' - / *! 40103 SET TIME_ZONE = @ OLD_TIME_ZONE * /;
/ *! 40101 SET SQL_MODE = @ OLD_SQL_MODE * /;
/ *! 40014 SET FOREIGN_KEY_CHECKS = @ OLD_FOREIGN_KEY_CHECKS * /; / *! 40014 SET UNIK_CHECKS = @ OLD_UNIQUE_CHECKS * /; / *! 40101 SET CHARACTER_SET_CLIENT = @ OLD_CHARACTER_SET_CLIENT * /; / *! 40101 SET CHARACTER_SET_RESULTS = @ OLD_CHARACTER_SET_RESULTS * /; / *! 40101 SET COLLATION_CONNECTION = @ OLD_COLLATION_CONNECTION * /; / *! 40111 SET SQL_NOTES = @ OLD_SQL_NOTES * /;
- Dump selesai pada 2019-06-03 14:56:53
Langkah 22: Menulis Kod
Berjam-jam kerja masuk ke program ini, untungnya anda mempunyai repositori github.
Berikut adalah pautan ke kod.
Disyorkan:
Sistem Makluman Tempat Letak Balik Kereta Arduino - Langkah demi Langkah: 4 Langkah
Sistem Makluman Tempat Letak Balik Kereta Arduino | Langkah demi Langkah: Dalam projek ini, saya akan merancang Litar Sensor Tempat Letak Kereta Berbalik Arduino yang ringkas menggunakan Sensor Ultrasonik Arduino UNO dan HC-SR04. Sistem amaran Car Reverse berasaskan Arduino ini dapat digunakan untuk Navigasi Autonomi, Robot Ranging dan rangkaian lain
Langkah demi Langkah Pembinaan PC: 9 Langkah
Langkah demi Langkah Pembinaan PC: Persediaan: Perkakasan: MotherboardCPU & CPU cooler PSU (Unit bekalan kuasa) Penyimpanan (HDD / SSD) RAMGPU (tidak diperlukan) Alat kes: Pemutar skru Gelang ESD / tampal matsthermal dengan aplikator
Tiga Litar Pembesar Suara -- Tutorial Langkah demi Langkah: 3 Langkah
Tiga Litar Pembesar Suara || Tutorial Langkah-demi-Langkah: Loudspeaker Circuit menguatkan isyarat audio yang diterima dari persekitaran ke MIC dan menghantarnya ke Speaker dari tempat audio diperkuat dihasilkan. Di sini, saya akan menunjukkan kepada anda tiga cara berbeza untuk membuat Loudspeaker Circuit ini menggunakan:
Pengangkatan Akustik Dengan Arduino Uno Langkah demi Langkah (8-langkah): 8 Langkah
Acoustic Levitation With Arduino Uno Step-by Step (8-step): transduser suara ultrasonik L298N Dc power adaptor wanita dengan pin dc lelaki Arduino UNOBreadboardBagaimana ini berfungsi: Pertama, anda memuat naik kod ke Arduino Uno (ia adalah mikrokontroler yang dilengkapi dengan digital dan port analog untuk menukar kod (C ++)
CocktailMaker: 4 Langkah
CocktailMaker: CocktailMaker adalah nama projek saya, fungsinya sudah dapat disimpulkan dari namanya. Tujuannya adalah untuk membuat koktail yang anda pilih di laman web yang dibuat sendiri. Di laman web, anda boleh menemui koktel yang boleh dibuat, sejarah kokt