Cuprins:
- Provizii
- Pasul 1: Desenarea găurilor
- Pasul 2: tăierea / găurirea găurilor
- Pasul 3: Lipirea carcasei
- Pasul 4: Schemele
- Pasul 5: lipirea pompelor
- Pasul 6: Conectarea plăcii releului la pompe
- Pasul 7: Adăugați sursa de alimentare și Raspberry Pi
- Pasul 8: Adăugați senzorul infraroșu
- Pasul 9: Conectați modulul cu ultrasunete
- Pasul 10: Instalați ușa
- Pasul 11: Instalați comutatorul Doors
- Pasul 12: Faceți un suport pentru tuburi
- Pasul 13: introduceți pâlnia
- Pasul 14: Atașați tuburile la pompă
- Pasul 15: Tăierea tuburilor pentru sticle
- Pasul 16: Adăugați mufa de distribuție
- Pasul 17: Conectați Lcd-ul
- Pasul 18: lipiți panoul frontal
- Pasul 19: Pictura
- Pasul 20: Umpleți mașina
- Pasul 21: Creați baza de date
- Pasul 22: Scrierea codului
Video: CocktailMaker: 22 de pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
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
Î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
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
-
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
Înainte de a începe conectarea tuturor componentelor electronice, să aruncăm o privire asupra schemelor.
Pasul 5: 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
- 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
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
- î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
- 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
- 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
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
- 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
- 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 cealaltă parte a tuburilor la partea de distribuție a pompelor.
Pasul 15: Tăierea tuburilor 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
- 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 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
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
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
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
Multe ore de muncă au intrat în acest program, din fericire am un depozit github.
Iată un link către cod.
Recomandat:
Cum să faci 4G LTE dublă antenă BiQuade Pași simpli: 3 pași
Cum să fac 4G LTE Double BiQuade Antenna Pași simpli: De cele mai multe ori mă confrunt, nu am o putere de semnal bună pentru lucrările mele de zi cu zi. Asa de. Căut și încerc diferite tipuri de antenă, dar nu funcționează. După un timp pierdut, am găsit o antenă pe care sper să o fac și să o testez, pentru că nu se bazează pe principiul
Design de joc în Flick în 5 pași: 5 pași
Designul jocului în Flick în 5 pași: Flick este un mod foarte simplu de a crea un joc, în special ceva de genul puzzle, roman vizual sau joc de aventură
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino - Pași cu pași: 4 pași
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino | Pași cu pas: în acest proiect, voi proiecta un senzor senzor de parcare inversă Arduino Car Circuit folosind senzorul cu ultrasunete Arduino UNO și HC-SR04. Acest sistem de avertizare auto bazat pe Arduino poate fi utilizat pentru navigație autonomă, autonomie robotică și alte r
Detectarea feței pe Raspberry Pi 4B în 3 pași: 3 pași
Detectarea feței pe Raspberry Pi 4B în 3 pași: În acest instructabil vom efectua detectarea feței pe Raspberry Pi 4 cu Shunya O / S folosind Biblioteca Shunyaface. Shunyaface este o bibliotecă de recunoaștere / detectare a feței. Proiectul își propune să obțină cea mai rapidă viteză de detectare și recunoaștere cu
CocktailMaker: 4 pași
CocktailMaker: CocktailMaker este numele proiectului meu, funcția poate fi deja dedusă din nume. Scopul este de a face cocktail-ul pe care îl alegeți pe un site web creat personal. Pe site, puteți găsi care cocktailuri pot fi făcute, istoria coctei