Cuprins:

CocktailMaker: 22 de pași
CocktailMaker: 22 de pași

Video: CocktailMaker: 22 de pași

Video: CocktailMaker: 22 de pași
Video: BEST RUM COCKTAILS - volume 01 2024, Noiembrie
Anonim
CocktailMaker
CocktailMaker

Cocktailurile, o modalitate excelentă de a încheia o zi obositoare sau de a începe o petrecere incitantă. Mergi la bar, comanzi o băutură elegantă, stai pe spate și aștepți sosirea amestecului ceresc. La sfârșitul nopții plătiți factura, dați bacșiș barmanului și sunteți pe drum. Dar dacă ți-aș spune că există o modalitate de a te bucura de același cocktail gustos fără să mergi la bar sau chiar să cheltui mulți bani. Tot ce va dura este puțin din timpul tău liber și ceva creativitate. Continuați să citiți și vă voi explica pas cu pas cum să vă creați propriul aparat de cocktail acasă.

Provizii

Pentru caz

- MDF gros de 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

- MDF grosime 12mm

- 1 x 374mm / 292mm

- 2 x balama

- șuruburi

- lipici de lemn

Pentru electronice

- 1 x ecran LCD 16x2

- 1 x releu de 5 canale cu 8 canale

- Sursa de alimentare 1 x 12V DC 100W

- 1 x zmeură pi 3B +

- Pompa de dozare 8 x 12V DC

- 1 x PCA8574p I2C I / O expansor

- 1 x panou

- Rezistor 1 x 330 Ohm

- Rezistor 2 x 470 Ohm

- 1 x mufă de distribuție

- 1 x senzor infraroșu pentru evitarea obstacolelor

- 1 x modul cu ultrasunete

- 1 x comutator magnetic

- sârmă de cupru

Suplimentar

- 1 x pâlnie mică

- 1 x capac nutella flexibil

- tub flexibil de 8 m grosime 4 mm

- 3 x cleme

- vopsea albă

- 1 x cocktail shaker

Băuturi

- 1 x sticlă de gin

- 1 x sticlă de rom

- 1 x sticlă de vodcă

- 1 x sticlă de tequila

- 1 x sticlă de triplă sec

- 1 x sticlă de suc de lămâie

- 1 x sticlă de sirop simplu

- 1 x sticlă de cola

(opțional)

- 8 sticle egale

Pasul 1: Desenarea găurilor

Desenarea găurilor
Desenarea găurilor

Începem prin măsurarea și desenarea găurilor necesare pe lemn.

  • panoul frontal (374mm / 462mm)

    • La 6,5 cm de sus, în centrul panoului, desenăm un dreptunghi de dimensiunea afișajului nostru LCD.
    • în partea de jos, în centrul panoului, desenăm un dreptunghi de 25cm înălțime pe 15cm lățime pentru ușă.
  • panoul din spate al compartimentului electronic (362mm / 100mm)

    desenați de 8 ori suprafața pompelor de pe acest panou, pentru a face ca toate pompele să se potrivească

  • panoul superior al camerei agitatorului (180mm / 162mm)

    • desenați un cirkel la fel de mare ca și capătul pâlniei din centrul panoului
    • La 3 cm de marginea laturii scurte, desenați forma celor două găuri necesare pentru ca modulul cu ultrasunete să se potrivească.
    • în colțul din dreapta din față, trageți o gaură mică, la 1cm distanță de ambele părți. Două fire împușcate se încadrează prin el.
  • panoul lateral drept al camerei agitatorului (174mm / 250mm)

    La 10 cm de partea de jos (partea scurtă), desenați cele două găuri necesare pentru a se potrivi senzorul cu infraroșu (în centru)

Pasul 2: tăierea / găurirea găurilor

Tăierea / găurirea găurilor
Tăierea / găurirea găurilor
Tăierea / găurirea găurilor
Tăierea / găurirea găurilor

Acum că ne-am tras găurile, este timpul să luăm niște utilaje grele și să le tăiem / să le vedem / să le forăm. Am folosit un burghiu simplu și o ferăstrău, și în mai puțin de o oră s-a terminat treaba.

Dacă sunteți ca mine și întâmpinați dificultăți la tăierea liniilor trasate, puteți utiliza ulterior un fișier pentru a vă corecta greșelile.

Pasul 3: Lipirea carcasei

Lipirea carcasei
Lipirea carcasei
  • Pentru exterior

    • Începeți prin lipirea panoului posterior (cel mai mare) pe panoul inferior (cel gros) la un unghi de 90 de grade.
    • Adăugați laturile (2 x 280mm / 462mm).
    • Vom lăsa partea de sus și partea de sus deschisă pentru moment
  • pentru interior

    • Începeți prin a face camera de agitare.

      • lipiți cele două fețe (2 x 174mm / 250mm) pe panoul din spate (162mm / 250mm)
      • adăugați panoul superior (180mm / 162mm) cu cele două găuri pentru modulul cu ultrasunete orientat spre panoul din spate. Acest panou ar trebui să acopere perfect laturile tuturor celor trei panouri.
  • pentru compartimentul electronic

    lipiți panoul motorului pe panoul inferior (362mm / 180mm)

  • lipiți camera agitatorului pe centrul părții frontale a mașinii (lăsați 6 mm pentru panoul frontal.
  • lipiți compartimentul electronic din partea superioară a mașinii, la 6 mm față. Panoul motor trebuie să fie orientat spre panoul din spate.

Pasul 4: Schemele

Schematica
Schematica
Schematica
Schematica

Înainte de a începe conectarea tuturor componentelor electronice, să aruncăm o privire asupra schemelor.

Pasul 5: lipirea pompelor

Lipirea pompelor
Lipirea pompelor

Asigurați-vă că toate terenurile sunt conectate. În acest fel le putem conecta cu ușurință la solul sursei de alimentare.

Pasul 6: Conectarea plăcii releului la pompe

Conectarea releului la pompe
Conectarea releului la pompe
  • Conectați toate COM-urile plăcii releului, astfel încât să le putem conecta cu ușurință la 12V ale sursei de alimentare.
  • Conectați fiecare NO pe placa releului cu o pompă diferită (+).

Pasul 7: Adăugați sursa de alimentare și Raspberry Pi

Adăugați sursa de alimentare și Raspberry Pi
Adăugați sursa de alimentare și Raspberry Pi

Nu vă deranjați de panoul frontal din imagine, tocmai l-am așezat acolo pentru a avea o idee despre cât spațiu ar exista pentru electronice.

  • conectați placa releu astfel

    • 5V la pinul de 5V de pe pi zmeură
    • GND la GND pe pi de zmeură
    • fiecare IN la un pin GPIO pe pi zmeură
  • conectați seria pinilor GND ai pompelor cu 0V a sursei de alimentare, iar seria COM's de pe releu cu 12V a sursei de alimentare.
  • Acum, dacă rulați un script simplu care activează toți pinii GPIO conectați, vă puteți testa lipirea și remedia orice erori înainte de a fi multe fire în compartiment. Toate pompele ar trebui să pornească

Pasul 8: Adăugați senzorul infraroșu

Adăugați senzorul infraroșu
Adăugați senzorul infraroșu
Adăugați senzorul infraroșu
Adăugați senzorul infraroșu
Adăugați senzorul infraroșu
Adăugați senzorul infraroșu
  • în primul rând am forat o gaură în mijlocul compartimentului pentru electronice, astfel încât cablurile din camera agitatorului să poată urca.
  • începeți prin configurarea corectă a senzorului

    • conectați VDD la 3,3V de pe raspberry pi
    • conectați GND la GND pe pi de zmeură
    • puneți o bucată mică de carton între receptor și emițător
    • amplasați agitatorul la aproximativ 5 cm distanță de senzor
    • luați o șurubelniță și rotiți tunderea în partea de sus până când ledul OUT se stinge.
    • testați mișcați agitatorul înainte și înapoi și vedeți dacă senzorul reacționează la mișcări. (ledul OUT ar trebui să se aprindă și să se aprindă).
    • repetați dacă este necesar.
  • introduceți receptorul și emițătorul prin găurile pe care le-am făcut mai devreme.
  • conectați pinul OUT la pinul GPIO de pe raspberry pi.

Pasul 9: Conectați modulul cu ultrasunete

Conectați modulul cu ultrasunete
Conectați modulul cu ultrasunete
Conectați modulul cu ultrasunete
Conectați modulul cu ultrasunete
  • introduceți modulul în găurile din partea superioară a camerei de agitare pe care le-am făcut mai devreme.
  • conectați VCC cu cele cinci volți de pe pi zmeură.
  • conectați declanșatorul cu un pin GPIO
  • faceți un separator de tensiune între GND și ecou (așa cum se arată în imagine)
  • conectați GDN cu GND de zmeură pi.
  • conectați ecoul cu un pin GPIO

dacă nu înțelegeți ce vreau să spun prin divizor de tensiune, aruncați o altă privire asupra schemelor. se asigură că ecoul de 5V este redus la 3,3V.

Pasul 10: Instalați ușa

Instalați ușa
Instalați ușa
Instalați ușa
Instalați ușa
  • Folosiți șuruburi mici pentru a atașa balamalele la ușă și la panoul frontal.
  • o gaură cu degetele pentru a ușura deschiderea ușii.

Pasul 11: Instalați comutatorul Doors

Instalați comutatorul de ușă
Instalați comutatorul de ușă
Instalați comutatorul Doors
Instalați comutatorul Doors

Folosiți șuruburi sau lipici pentru a atașa cele două părți ale comutatorului de ușă la ușă și la interiorul camerei agitatorului.

Pasul 12: Faceți un suport pentru tuburi

Faceți un suport pentru tuburi
Faceți un suport pentru tuburi
  • tăiați opt bucăți de tub de aproximativ 20cm
  • folosiți un obiect circular (am folosit un capac flexibil de nutella) pentru a le ține

Pasul 13: introduceți pâlnia

Introduceți pâlnia
Introduceți pâlnia
  • așezați pâlnia în ultima gaură din panoul superior al camerei agitatorului.
  • așezați suportul tubului în pâlnie și fixați-l cu cuiere.

Pasul 14: Atașați tuburile la pompă

Atașați tuburile la pompă
Atașați tuburile la pompă

atașați cealaltă parte a tuburilor la partea de distribuție a pompelor.

Pasul 15: Tăierea tuburilor pentru sticle

Tuburi de tăiere pentru sticle
Tuburi de tăiere pentru sticle
Tuburi de tăiere pentru sticle
Tuburi de tăiere pentru sticle
Tuburi de tăiere pentru sticle
Tuburi de tăiere pentru sticle
Tuburi de tăiere pentru sticle
Tuburi de tăiere pentru sticle

tăiați diferitele dimensiuni ale tuburilor, astfel încât fiecare sticlă să fie conectată cu o pompă. Atașați-le la partea neutilizată a pompelor.

Pasul 16: Adăugați mufa de distribuție

Adăugați mufa de distribuție
Adăugați mufa de distribuție
Adăugați mufa de distribuție
Adăugați mufa de distribuție
  • tăiați mufa conectorului
  • găuriți o gaură pe partea laterală a compartimentului electronic
  • introduceți cablul prin gaură
  • reatașați mufa conectorului

Pasul 17: Conectați Lcd-ul

Conectați ecranul LCD
Conectați ecranul LCD
  • conectați lcd-ul așa cum se arată în schemă
  • folosiți un expansor I / O I2C, deoarece nu vor exista suficienți pini GPIO
  • aceasta este singura dată când avem nevoie de un mic panou de calcul

Pasul 18: lipiți panoul frontal

acum că ecranul LCD (ultima noastră componentă) este conectat, putem lipi panoul frontal de pe aparatul nostru.

Pasul 19: Pictura

Pictura
Pictura
Pictura
Pictura
Pictura
Pictura
Pictura
Pictura

asigurați-vă că acoperiți piesele care nu sunt din lemn cu bandă și vopsiți mașina într-o culoare la alegere.

Pasul 20: Umpleți mașina

Umpleți mașina
Umpleți mașina

Ultimul lucru pe care trebuie să-l facem înainte de a putea încărca codul și de a savura un cocktail delicios este să umpleți mașina cu niște băuturi alcoolice și câteva mixere.

Pasul 21: Creați baza de date

Creați baza de date
Creați baza de date
Creați baza de date
Creați baza de date

faceți o conexiune la raspberry pi și creați baza de date.

CREAȚI BAZA DE DATE DACĂ NU EXISTĂ `cocktailmaker` / *! 40100 SET DE CARACTERE DEFAULT utf8 * /; UTILIZAȚI„ cocktailmaker`; - MySQL dump 10.13 Distrib 5.7.17, pentru Win64 (x86_64) - - Gazdă: 127.0.0.1 Baza de date: cocktailmaker - --------------------- -------------------------------- - Server versiunea 5.7.20-log

/ *! 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 NAMES 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 * /;

--

- Structura tabelului pentru tabelul `cocktaillogboek` -

TABEL DE DROP DACĂ EXISTĂ `cocktaillogboek`;

/ *! 40101 SET @saved_cs_client = @@ character_set_client * /; / *! 40101 SET character_set_client = utf8 * /; CREATE TABLE `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, KEY PRIMARY (` id_cocktail_; 5 DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client * /;

--

- Dumping de date pentru tabelul `cocktaillogboek` -

LOCK TABLES `cocktaillogboek` WRITE;

/ *! 40000 ALTER TABLE `cocktaillogboek` TASE DEZACTIVATE * /; INSERAȚI ÎN VALOARE „cocktaillogboek” (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` ENABLE KEYS * /; DEBLOCAȚI MESE;

--

- Structura mesei pentru "cocktailuri" de masă -

TABEL DE DROP DACĂ EXISTĂ „cocktailuri”;

/ *! 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, CHEIE PRIMARĂ (` id_cocktail`), CHEIE UNICĂ code_cocktail_UNIQUE` (`code_cocktail`)) MOTOR = InnoDB AUTO_INCREMENT = 3 DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client * /;

--

- Descărcarea datelor pentru „cocktailuri” de masă -

LOCK TABLES `cocktailuri` SCRIVE;

/ *! 40000 ALTER TABLE `cocktailuri` DEZACTIVĂ TASTE * /; INSERAȚI ÎN VALOARELE „cocktailurilor” (1, „ceai înghețat cu insulă lungă”, „1q3n2q3n3q3n4q3n5q3x6q3n8q2”, 20), (2, „tequila sunrise”, „2q5x7q5x9q3”, 13); / *! 40000 ALTER TABLE `cocktailuri` ACTIVA TASTE * /; DEBLOCAȚI MESE;

--

- Structura de masă pentru masa „beat” -

TABEL DE DROP DACĂ EXISTĂ „beat”;

/ *! 40101 SET @saved_cs_client = @@ character_set_client * /; / *! 40101 SET character_set_client = utf8 * /; CREATE TABLE `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) DEFAULT NULL, PRIMARY KEY id_drank`)) MOTOR = InnoDB AUTO_INCREMENT = 12 DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client * /;

--

- Descărcarea datelor pentru tabelul „băut” -

MESE DE BLOCARE „dranken` WRITE;

/ *! 40000 ALTER TABLE `dranken` TASE DEZACTIVATE * /; INSERAȚI ÎN VALORI „băute” (1, „gin”, 20, 70, 1), (2, „tequila”, 20, 70, 2), (3, „wodka”, 20, 70, 3), (4, 'triple sec', 20, 70, 4), (5, 'rom', 20, 70, 5), (6, 'whisky', 20, 70, NULL), (7, 'cola', 15, 100, 6), (8, „sinaasappelsap”, 25, 100, 7), (9, „limoensap”, 20, 100, 8), (10, „grenadină”, 30, 100, 9), (11, „suikersiroop”, 30, 100, 10); / *! 40000 ALTER TABLE `dranken` ENABLE KEYS * /; DEBLOCAȚI MESE;

--

- Structura mesei pentru masa `dranken_cocktails` -

DROP TABLE IF EXISTES `dranken_cocktails`;

/ *! 40101 SET @saved_cs_client = @@ character_set_client * /; / *! 40101 SET character_set_client = utf8 * /; CREARE TABEL `dranken_cocktails` (` Dranken_id_drank` int (11) NOT NULL, `Cocktail_id_cocktail` int (11) NOT NULL, KEY PRIMARY (` Dranken_id_drank`, `Cocktail_id_cocktail`), KEY` fk_Dranken_has_Cocktail_Cocktail_Cocktail_Cocktail_Cocktail_Cocktail_x) fk_Dranken_has_Cocktail_Dranken1_idx` (`Dranken_id_drank`), CONSTRAINT` fk_Dranken_has_Cocktail_Cocktail1` FOREIGN KEY (`Cocktail_id_cocktail`) REFERINȚE` cocktails` (`id_cocktail`) ON ØTERGERE NO ACTION ON UPDATE NO ACTION, constrîngere` fk_Dranken_has_Cocktail_Dranken1` FOREIGN KEY (`Dranken_id_drank`) REFERINȚE` dranken` (`id_drank`) ON DELETE NO ACTION ON UPDATE NO ACTION) MOTOR = InnoDB DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client * /;

--

- Dumping de date pentru tabelul `dranken_cocktails` -

LOCK TABLES `dranken_cocktails` SCRIVE;

/ *! 40000 ALTER TABLE `dranken_cocktails` TASE DEZACTIVATE * /; / *! 40000 ALTER TABLE `dranken_cocktails` ENABLE KEYS * /; DEBLOCAȚI MESE;

--

- Structura de masă pentru "canapele" de masă -

TABEL DE DROP DACĂ EXISTĂ "moale";

/ *! 40101 SET @saved_cs_client = @@ character_set_client * /; / *! 40101 SET character_set_client = utf8 * /; CREATE TABLE `softs` (` bruisend_drank` tinyint (4) DEFAULT NULL, `drank_id` int (11) NOT NULL, KEY` fk_Softs_Dranken1_idx` (`drank_id`), CONSTRAINT` fk_Softs_Dranken1` FOREIGN KEY (`drank_ `(` id_drank`) ON DELETE NO ACTION ON UPDATE NO ACTION) MOTOR = InnoDB DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client * /;

--

- Descărcarea datelor pentru tabelele „softs” -

LOCK TABLES `moale` SCRIVE;

/ *! 40000 ALTER TABLE `softts` DISABLE KEYS * /; INSERAȚI ÎN VALORI „moale” (1, 7), (0, 8), (0, 9), (0, 10), (0, 11); / *! 40000 ALTER TABLE `moale` ENABLE KEYS * /; DEBLOCAȚI MESE;

--

- Structură de masă pentru „băuturi spirtoase” de masă -

TABEL DE DROP DACĂ EXISTĂ „spirite”;

/ *! 40101 SET @saved_cs_client = @@ character_set_client * /; / *! 40101 SET character_set_client = utf8 * /; CREATE TABLE `spirits` (` alcohol_percentage_drank` tinytext, `soort_drank` tinytext,` drank_id` int (11) NOT NULL, KEY `fk_Spirits_Dranken_idx` (` drank_id`), CONSTRAINT `fk_Spirits_Dranken` FOREIGN_ dr. `(` id_drank`) ON DELETE NO ACTION ON UPDATE NO ACTION) MOTOR = InnoDB DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client * /;

--

- Descărcarea datelor pentru „băuturile spirtoase” de masă -

LOCK TABLES `spirits` SCRIVE;

/ *! 40000 ALTER TABLE `spirits` DISABLE KEYS * /; INSERAȚI ÎN VALOARE „spirite” („40”, „gin”, 1), („35”, „tequila”, 2), („37.5”, „wodka”, 3), („40”, „triple sec ', 4), ('37.5', 'rom', 5), ('37.5 ',' whisky ', 6); / *! 40000 ALTER TABLE `spirits` ENABLE KEYS * /; DEBLOCAȚI MESE;

--

- Evacuarea evenimentelor pentru baza de date „cocktailmaker” -

--

- Rutini de descărcare pentru baza de date „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 UNIQUE_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 finalizat pe 03-06-2019 14:56:53

Pasul 22: Scrierea codului

Scrierea Codului
Scrierea Codului

Multe ore de muncă au intrat în acest program, din fericire am un depozit github.

Iată un link către cod.

Recomandat: