INHOUDSOPGAWE:

CocktailMaker: 22 stappe
CocktailMaker: 22 stappe

Video: CocktailMaker: 22 stappe

Video: CocktailMaker: 22 stappe
Video: Cocktail Machine EN 2022 2024, November
Anonim
Cocktail Maker
Cocktail Maker

Cocktails, 'n goeie manier om 'n vermoeiende dag af te sluit, of om 'n opwindende partytjie te begin. U gaan na die kroeg, bestel 'n drankie, sit terug en wag totdat die hemelse mengsel opdaag. Aan die einde van die nag betaal u die rekening, tip die kroegman en u is oppad. Maar wat as ek jou vertel het, is daar 'n manier waarop jy dieselfde lekker skemerkelkie kan geniet sonder om na die kroeg te gaan of selfs baie geld te spandeer. Al wat u nodig het, is 'n bietjie van u vrye tyd en kreatiwiteit. Hou aan lees, en ek sal stap vir stap verduidelik hoe u u eie cocktailmasjien tuis kan maak.

Voorrade

Vir die saak

- MDF 6 mm dik

- 2 x 374 mm / 462 mm

- 2 x 280 mm / 462 mm

- 2 x 174 mm / 250 mm

- 1 x 162 mm / 250 mm

- 1 x 150 mm / 250 mm

- 1 x 180 mm / 162 mm

- 1 x 180 mm / 362 mm

- 1 x 362 mm / 100 mm

- 1 x 374 mm / 292 mm

- MDF 12 mm dik

- 1 x 374 mm / 292 mm

- 2 x skarnier

- skroewe

- houtgom

Vir die elektronika

- 1 x LCD -skerm 16x2

- 1 x 5V 8-kanaals relayboard

- 1 x 12V DC 100W kragtoevoer

- 1 x framboos pi 3B+

- 8 x 12V DC doseerpomp

- 1 x PCA8574p I2C I/O uitbreider

- 1 x broodbord

- 1 x 330 Ohm weerstand

- 2 x 470 Ohm weerstand

- 1 x verspreidingsprop

- 1 x infrarooi hindernis -vermydingsensor

- 1 x ultrasoniese module

- 1 x magnetiese deurskakelaar

- koperdraad

Ekstra

- 1 x klein tregter

- 1 x buigsame nutella -deksel

- 8m buigsame buis van 4 mm dik

- 3 x speldspeld

- wit verf

- 1 x skemerkelkie

Drankies

- 1 x bottel jenewer

- 1 x bottel rum

- 1 x bottel vodka

- 1 x bottel tequila

- 1 x bottel triple sek

- 1 x bottel lemmetjiesap

- 1 x bottel eenvoudige stroop

- 1 x bottel cola

(opsioneel)

- 8 gelyke bottels

Stap 1: teken die gate

Maak die gate
Maak die gate

Ons begin deur die nodige gate op die hout te meet en te teken.

  • voorpaneel (374 mm/462 mm)

    • 6,5 cm van die bokant, in die middel van die paneel, teken ons 'n reghoek van die grootte van ons lcd -skerm.
    • onderaan, in die middel van die paneel, teken ons 'n reghoek van 25 cm hoog by 15 cm breed vir die deur.
  • agterpaneel van elektroniese kompartement (362 mm/100 mm)

    trek 8 keer die oppervlak van die pompe op hierdie paneel om al die pompe te laat pas

  • boonste paneel van skudkamer (180 mm/162 mm)

    • teken 'n sirkel so groot soos die einde van die tregter in die middel van die paneel
    • 3 cm van die rand van die kort kant, teken die vorm van die twee gate wat nodig is om die ultrasoniese module te pas.
    • in die regter hoek voor, trek 'n klein gaatjie, 1 cm van albei kante af. Twee drade wat geskiet is, pas daardeur.
  • paneel aan die regterkant van die skudkamer (174 mm/250 mm)

    10 cm van die onderkant (kort kant), trek die twee gate wat nodig is om die infrarooi sensor te pas (in die middel)

Stap 2: Saag/boor van die gate

Die gate saag/boor
Die gate saag/boor
Die gate saag/boor
Die gate saag/boor

Noudat ons ons gate getrek het, is dit tyd om swaar masjinerie te neem en te sny/saag/boor. Ek het 'n eenvoudige boor en 'n fretsaag gebruik, en in minder as 'n uur was die werk klaar.

As u soos ek is en probleme ondervind met die getekende lyne, kan u 'n lêer daarna gebruik om u foute reg te stel.

Stap 3: Plak die kas vas

Plak die kas vas
Plak die kas vas
  • Vir die buitekant

    • Plak die agterpaneel (die grootste) op 'n hoek van 90 grade op die onderste paneel (die dik).
    • Voeg die sye (2 x 280 mm/462 mm) by.
    • Ons laat die voor- en bokant vir eers oop
  • vir die binnekant

    • Begin deur die skudkamer te maak.

      • plak die twee kante (2 x 174 mm/250 mm) op die agterpaneel (162 mm/250 mm)
      • voeg die boonste paneel (180 mm/162 mm) by met die twee gate vir die ultrasoniese module wat na die agterpaneel kyk. Hierdie paneel moet die kante van al drie panele perfek bedek.
  • vir die elektroniese kompartement

    plak die motorpaneel op die onderste paneel (362mm/180mm)

  • plak die skudkamer op die middel van die voorkant van die masjien (laat 6 mm vir die voorpaneel.
  • plak die elektroniese kompartement bo -op die masjien vas, 6 mm van die voorkant. Die motorpaneel moet na die agterpaneel kyk.

Stap 4: Die skemas

Die skematika
Die skematika
Die skematika
Die skematika

Kom ons kyk na die skemas voordat ons al die elektroniese komponente verbind.

Stap 5: Soldeer die pompe

Soldeer die pompe
Soldeer die pompe

Maak seker dat al die gronde verbind is. Op hierdie manier kan ons dit maklik aan die grond van die kragtoevoer koppel.

Stap 6: Koppel die relayboard aan die pompe

Koppel die relayboard aan die pompe
Koppel die relayboard aan die pompe
  • Koppel al die COM's van die relayboard, sodat ons dit maklik kan koppel aan die 12V van die kragtoevoer.
  • Koppel elke NO op die relayboard met 'n ander pomp (+).

Stap 7: Voeg die kragtoevoer en die Raspberry Pi by

Voeg die kragtoevoer en die Raspberry Pi by
Voeg die kragtoevoer en die Raspberry Pi by

Let nie op die voorpaneel op die foto nie; ek het dit net daar geplaas om 'n idee te kry van hoeveel ruimte daar vir die elektronika sou wees.

  • verbind die relayboard so

    • 5V na die 5V -pen op die framboospi
    • GND tot die GND op die framboospi
    • elke IN in 'n GPIO -pen op die framboospi
  • verbind die reeks GND -penne van die pompe met die 0V van die kragtoevoer, en die reeks COM's op die relayboard met die 12V van die kragtoevoer.
  • As u 'n eenvoudige script gebruik wat alle gekoppelde GPIO -penne aktiveer, kan u u soldeer toets en foute regstel voordat daar baie drade in die kompartement is. Al die pompe moet begin

Stap 8: Voeg die infrarooi sensor by

Voeg die infrarooi sensor by
Voeg die infrarooi sensor by
Voeg die infrarooi sensor by
Voeg die infrarooi sensor by
Voeg die infrarooi sensor by
Voeg die infrarooi sensor by
  • Eerstens het ek 'n gat in die middel van die elektroniese kompartement geboor, sodat die kabels van die skudkamer kan opgaan.
  • begin deur die sensor reg te konfigureer

    • verbind die VDD met die 3.3V op die framboospi
    • verbind die GND met die GND op die framboos pi
    • sit 'n klein stukkie karton tussen die ontvanger en die sender
    • Plaas die skudder ongeveer 5 cm van die sensor af
    • neem 'n skroewedraaier en draai die trimmer bo -aan totdat die OUT -LED uitgaan.
    • toets, beweeg die skudder heen en weer en kyk of die sensor op die bewegings reageer. (die OUT -led moet aan en van aanskakel).
    • herhaal indien nodig.
  • steek die ontvanger en die sender deur die gate wat ons vroeër gemaak het.
  • koppel die OUT -pen aan die GPIO -pen op die framboospi.

Stap 9: Koppel die ultraklankmodule aan

Koppel die ultraklankmodule aan
Koppel die ultraklankmodule aan
Koppel die ultraklankmodule aan
Koppel die ultraklankmodule aan
  • steek die module in die gate bo -aan die skudkamer wat ons vroeër gemaak het.
  • verbind die VCC met die vyf volt op die framboos pi.
  • verbind die sneller met 'n GPIO -pen
  • maak 'n spanningsverdeler tussen die GND en die eggo (soos op die foto getoon)
  • verbind die GDN met die GND van die framboos pi.
  • verbind die eggo met 'n GPIO -pen

As u nie verstaan wat ek bedoel met 'n spanningsverdeler nie, kyk dan weer na die skemas. dit sorg dat die 5V -eggo tot 3,3V verlaag word.

Stap 10: Installeer die deur

Installeer die deur
Installeer die deur
Installeer die deur
Installeer die deur
  • Gebruik klein skroewe om die skarniere aan die deur en aan die voorpaneel vas te maak.
  • 'n gat met vingers om die deur makliker oop te maak.

Stap 11: Installeer die deurskakelaar

Installeer die deurskakelaar
Installeer die deurskakelaar
Installeer die deurskakelaar
Installeer die deurskakelaar

Gebruik skroewe of gom om die twee dele van die deurskakelaar aan die deur en die binnekant van die skudkamer vas te maak.

Stap 12: Maak 'n buishouer

Maak 'n buishouer
Maak 'n buishouer
  • sny agt stukke buis van ongeveer 20 cm
  • Gebruik 'n sirkelvormige voorwerp (ek het 'n buigsame nutella -deksel gebruik) om dit vas te hou

Stap 13: Voeg die tregter in

Voeg die tregter in
Voeg die tregter in
  • plaas die tregter in die laaste gaatjie in die boonste paneel van die skudkamer.
  • Plaas die buishouer in die tregter en maak dit vas met kledingstukke.

Stap 14: Bevestig die buise aan die pomp

Bevestig die buise aan die pomp
Bevestig die buise aan die pomp

heg die ander kant van die buise aan die doseerkant van die pompe.

Stap 15: Sny buise vir die bottels

Snybuise vir die bottels
Snybuise vir die bottels
Snybuise vir die bottels
Snybuise vir die bottels
Snybuise vir die bottels
Snybuise vir die bottels
Snybuise vir die bottels
Snybuise vir die bottels

sny die verskillende groottes buise sodat elke bottel met 'n pomp verbind kan word. Heg dit aan die ongebruikte kant van die pompe.

Stap 16: Voeg die verspreidingsprop by

Voeg die verspreidingsprop by
Voeg die verspreidingsprop by
Voeg die verspreidingsprop by
Voeg die verspreidingsprop by
  • sny die aansluitprop
  • boor 'n gaatjie aan die kant van die elektroniese kompartement
  • steek die kabel deur die gat
  • maak die aansluitprop weer aan

Stap 17: Koppel die Lcd

Koppel die LCD
Koppel die LCD
  • verbind die lcd soos in die skemas getoon
  • Gebruik 'n I2C i/o expander, want daar is nie genoeg GPIO -penne nie
  • dit is die enigste keer dat ons 'n klein broodbord nodig het

Stap 18: Plak die voorpaneel vas

noudat die LCD (ons laaste komponent) gekoppel is, kan ons die voorpaneel aan ons masjien plak.

Stap 19: Verf

Skildery
Skildery
Skildery
Skildery
Skildery
Skildery
Skildery
Skildery

maak seker dat u die nie-hout dele met band bedek en die masjien in 'n kleur van u keuse verf.

Stap 20: Vul die masjien

Vul die masjien
Vul die masjien

Die laaste ding wat ons moet doen voordat ons die kode kan oplaai en 'n heerlike skemerkelkie kan geniet, is om die masjien vol te maak met drank en 'n paar mengers.

Stap 21: Skep die databasis

Skep die databasis
Skep die databasis
Skep die databasis
Skep die databasis

maak 'n verbinding met die framboos pi en skep die databasis.

SKEP DATABASIS INDIEN NIE 'cocktailmaker' / *! 40100 STANDAARD KARAKTERSTEL UTF8 * /; GEBRUIK 'cocktailmaker'; -MySQL dump 10.13 Distrib 5.7.17, vir Win64 (x86_64)--Gasheer: 127.0.0.1 Databasis: cocktailmaker---------------------- --------------------------------- Bedienerweergawe 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 STELNAME 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 */;

--

-Tabelstruktuur vir tafel `cocktaillogboek`-

DROP TABLE AS BESTAAN `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, PRIMARY KEY (` id_log), `cocktail_id`), KEY` fk_Cocktaillogboek_Cocktails1_idx` (`cocktail_id`), CONSTRAINT` fk_Cocktaillogboek_Cocktails1` BUITELANDSLEUTEL (`cocktail_id`) REFERENCES` cocktails` ('id_cocktail') AANBIEDING 5 STANDAARD CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client */;

--

-Opgooigegevens vir tafel `cocktaillogboek`-

SLUITTABELLE `cocktaillogboek` SKRYF;

/ *! 40000 WYSIGINGSTABEL `cocktaillogboek` UITSCHAKELDE SLEUTELS */; INVOER IN `cocktaillogboek` WAARDES (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 SLEUTELS */; ONTVANG TABelle;

--

-Tabelstruktuur vir tafel `cocktails`-

DROP TABEL AS daar 'cocktails' bestaan;

/ *! 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_cocail`) code_cocktail_UNIQUE` (`code_cocktail`)) ENGINE = InnoDB AUTO_INCREMENT = 3 STANDAARD CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client */;

--

-Gegooi data vir tafel 'cocktails'-

SLUITTABELLE `cocktails` SKRYF;

/ *! 40000 ALTER TABLE `cocktails` UITSCHAKELDE SLEUTELS */; INVOER IN `cocktails` WAARDES (1, 'long island iced tea', '1q3n2q3n3q3n4q3n5q3x6q3n8q2', 20), (2, 'tequila sunrise', '2q5x7q5x9q3', 13); / *! 40000 ALTER TABLE `cocktails` ENABLE SLEUTELS */; ONTVANG TABelle;

--

-Tabelstruktuur vir tafel `dranken`-

DROP TABEL AS BESTAAN `dranken`;

/ *! 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 id_drank`)) ENGINE = InnoDB AUTO_INCREMENT = 12 STANDAARD CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client */;

--

-Storting van data vir tafel `dranken`-

SLUIT TABELLE `dranken` SKRYF;

/ *! 40000 ALTER TABLE `dranken` DISABLE SLEUTELS */; INVOER IN `dranken` WAARDES (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, 'whisky', 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 SLEUTELS */; ONTVANG TABelle;

--

-Tabelstruktuur vir tafel `dranken_cocktails`-

DROP TABLE AS BESTAAN `dranken_cocktails`;

/ *! 40101 SET @saved_cs_client = @@ character_set_client */; / *! 40101 SET character_set_client = utf8 */; SKEP TAFEL `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_Drank_Cktail ' fk_Dranken_has_Cocktail_Dranken1_idx` (`Dranken_id_drank`), beperking` fk_Dranken_has_Cocktail_Cocktail1` vreemde sleutel (`Cocktail_id_cocktail`) Verwysings: cocktails` (` id_cocktail`) uitvee geen aksie op UPDATE geen aksie, dwang `fk_Dranken_has_Cocktail_Dranken1` vreemde sleutel (` Dranken_id_drank`) Verwysings: dranken` (`id_drank`) ON WISSEL GEEN AKSIE BY UPDATE GEEN AKSIE) ENGINE = InnoDB DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client */;

--

-Gegee data vir tafel `dranken_cocktails`-

SLUIT TABELLE `dranken_cocktails` SKRYF;

/ *! 40000 VERANDERINGSTABEL `dranken_cocktails` UITSCHAKELDE SLEUTELS */; / *! 40000 ALTER TABLE `dranken_cocktails` ENABLE SLEUTELS */; ONTVANG TABelle;

--

-Tabelstruktuur vir tafel `softs`-

DROP TABLE AS BESTAAN `sag ';

/ *! 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` (`drink_id`), CONSTRAINT` fk_Softs_Dranken1` BUITELIKE KEY) `(` id_drank`) OP VERSLAG GEEN AKSIE BY OPDATERING GEEN AKSIE) ENGINE = InnoDB STANDAARD CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client */;

--

-Gegee data vir die tabel 'versag'-

SLOTTABELLE `versag` SKRYF;

/ *! 40000 WYSIGINGSTABEL `versag` ONGESKAKELDE SLEUTELS */; INVOER IN `versag` WAARDES (1, 7), (0, 8), (0, 9), (0, 10), (0, 11); / *! 40000 ALTER TABLE `versag` INSKAKEL SLEUTELS */; ONTVANG TABelle;

--

-Tabelstruktuur vir tafel `spiritus`-

DROP TABEL AS BESTAAN 'geeste';

/ *! 40101 SET @saved_cs_client = @@ character_set_client */; / *! 40101 SET character_set_client = utf8 */; CREATE TABLE `spiritus` (` 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 KEIRENK) `(` id_drank`) OP VERWyder GEEN AKSIE BY OPDATERING GEEN AKSIE) ENGINE = InnoDB STANDAARD CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client */;

--

-Storting van data vir tafel `spiritus`-

SLUITTABELLE `spiritus` SKRYF;

/ *! 40000 WYSIGINGSTABEL `geeste` GESKAKELDE SLEUTELS */; INVOER IN `spirits` WAARDES ('40', 'gin', 1), ('35', 'tequila', 2), ('37.5 ',' wodka ', 3), (' 40 ',' triple sec ', 4), ('37.5', 'rum', 5), ('37.5 ',' whisky ', 6); / *! 40000 ALTER TABLE `spiritus` ENABLE SLEUTELS */; ONTVANG TABelle;

--

-Afvalgebeurtenisse vir databasis 'cocktailmaker'-

--

- Stortroetines vir databasis '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 voltooi op 2019-06-03 14:56:53

Stap 22: Skryf die kode

Die skryf van die kode
Die skryf van die kode

Hierdie program het baie ure gewerk, maar gelukkig het ek 'n github -bewaarplek.

Hier is 'n skakel na die kode.

Aanbeveel: