Innholdsfortegnelse:

CocktailMaker: 22 trinn
CocktailMaker: 22 trinn

Video: CocktailMaker: 22 trinn

Video: CocktailMaker: 22 trinn
Video: tinn - วันที่เธอไม่อยู่​ | Farewell [Official MV] 2024, Juli
Anonim
CocktailMaker
CocktailMaker

Cocktailer, en fin måte å avslutte en slitsom dag på, eller å starte en spennende fest. Du går til baren, bestiller en fancy drink, lener deg tilbake og venter på at den himmelske blandingen skal komme. På slutten av natten betaler du regningen, tipser bartenderen og du er på vei. Men hva om jeg fortalte deg at det er en måte for deg å nyte den samme smakfulle cocktailen uten å gå til baren eller til og med bruke mye penger. Alt som trengs er litt av fritiden din og litt kreativitet. Fortsett å lese, så forklarer jeg trinn for trinn hvordan du lager din egen cocktailmaskin hjemme.

Rekvisita

For saken

- MDF 6 mm tykk

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

- 1 x 374 mm / 292 mm

- 2 x hengsel

- skruer

- trelim

For elektronikken

- 1 x LCD -skjerm 16x2

- 1 x 5V 8-kanals relébord

- 1 x 12V DC 100W strømforsyning

- 1 x bringebær pi 3B+

- 8 x 12V DC doseringspumpe

- 1 x PCA8574p I2C I/O -ekspander

- 1 x brødbrett

- 1 x 330 Ohm motstand

- 2 x 470 Ohm motstand

- 1 x distribusjonsplugg

- 1 x infrarød hindringssensor

- 1 x ultralydsmodul

- 1 x magnetisk dørbryter

- kobbertråd

Ekstra

- 1 x liten trakt

- 1 x fleksibelt nutellalokk

- 8 m fleksibelt rør 4 mm tykt

- 3 x klesklype

- hvit maling

- 1 x cocktailshaker

Drinker

- 1 x flaske gin

- 1 x flaske rom

- 1 x flaske vodka

- 1 x flaske tequila

- 1 x flaske trippel sek

- 1 x flaske limesaft

- 1 x flaske enkel sirup

- 1 x flaske cola

(valgfri)

- 8 like flasker

Trinn 1: Tegning av hullene

Tegning av hullene
Tegning av hullene

Vi starter med å måle og tegne de nødvendige hullene på treverket.

  • frontpanel (374 mm/462 mm)

    • 6,5 cm fra toppen, i midten av panelet, tegner vi en rektangel på størrelse med LCD -skjermen.
    • på bunnen, i midten av panelet, tegner vi et rektangel på 25 cm høyt med 15 cm bredt for døren.
  • bakpanel i elektronikkrommet (362 mm/100 mm)

    trekk 8 ganger overflaten av pumpene på dette panelet, for å få alle pumpene til å passe

  • toppanel på risterkammer (180 mm/162 mm)

    • tegne en sirkel så stor som enden av trakten i midten av panelet
    • 3 cm fra kanten av kortsiden, tegne formen på de to hullene som trengs for at ultralydsmodulen skal passe.
    • i det fremre høyre hjørnet tegner du et lite hull, 1 cm fra begge sider. To ledninger skutt passet gjennom den.
  • høyre sidepanel på risterkammeret (174 mm/250 mm)

    10 cm fra bunnen (kortsiden), trekk de to hullene som trengs for at den infrarøde sensoren skal passe (i midten)

Trinn 2: Sage/bore hullene

Sag/boring av hullene
Sag/boring av hullene
Sag/boring av hullene
Sag/boring av hullene

Nå som vi har trukket hullene våre, er det på tide å ta noen tunge maskiner og kutte/sage/bore dem. Jeg brukte en enkel drill og en fresag, og på under en time var jobben gjort.

Hvis du er som meg og har problemer med å sage på de tegnede linjene, kan du bruke en fil etterpå for å rette opp feilene dine.

Trinn 3: Liming av saken

Limer saken
Limer saken
  • For utsiden

    • Start med å lime det bakre panelet (det største) på bunnpanelet (det tykke) i en 90 graders vinkel.
    • Legg til sidene (2 x 280 mm/462 mm).
    • Vi lar fronten og toppen stå åpne for nå
  • for innsiden

    • Start med å lage risterkammeret.

      • lim de to sidene (2 x 174 mm/250 mm) på bakpanelet (162 mm/250 mm)
      • legg til toppanelet (180 mm/162 mm) med de to hullene til ultralydsmodulen vendt mot bakpanelet. Dette panelet skal dekke sidene på alle tre panelene perfekt.
  • for elektronikkrommet

    lim motorpanelet på bunnpanelet (362mm/180mm)

  • lim risterkammeret på midten av fronten på maskinen (la 6 mm stå på frontpanelet.
  • lim elektronikkrommet øverst på maskinen, 6 mm fra forsiden. Motorpanelet skal vende mot bakpanelet.

Trinn 4: Skjemaene

Skjemaene
Skjemaene
Skjemaene
Skjemaene

La oss se på skjemaene før vi begynner å koble til alle de elektroniske komponentene.

Trinn 5: Lodding av pumpene

Lodding av pumpene
Lodding av pumpene

Sørg for at alle grunnene er tilkoblet. På denne måten kan vi enkelt koble dem til bakken av strømforsyningen.

Trinn 6: Koble relébordet til pumpene

Koble relébordet til pumpene
Koble relébordet til pumpene
  • Koble alle COM -ene på relébordet, så vi enkelt kan koble dem til 12V på strømforsyningen.
  • Koble hvert NO på relébordet med en annen pumpe (+).

Trinn 7: Legg til strømforsyningen og Raspberry Pi

Legg til strømforsyningen og Raspberry Pi
Legg til strømforsyningen og Raspberry Pi

Ikke bry deg om frontpanelet på bildet, jeg plasserte det bare der for å ha en ide om hvor mye plass det ville være til elektronikken.

  • koble relébordet slik

    • 5V til 5V -pinnen på bringebærpi
    • GND til GND på bringebær pi
    • hver IN til en GPIO -pinne på bringebærpi
  • koble serien med GND -pinner på pumpene med 0V på strømforsyningen, og serien med COM -er på relébordet med 12V på strømforsyningen.
  • Hvis du kjører et enkelt skript som aktiverer alle de tilkoblede GPIO -pinnene, kan du teste lodding og fikse eventuelle feil før det er mange ledninger i rommet. Alle pumpene skal starte

Trinn 8: Legg til den infrarøde sensoren

Legg til den infrarøde sensoren
Legg til den infrarøde sensoren
Legg til den infrarøde sensoren
Legg til den infrarøde sensoren
Legg til den infrarøde sensoren
Legg til den infrarøde sensoren
  • først og fremst boret jeg et hull i midten av elektronikkrommet, slik at kablene fra risterommet kunne gå opp.
  • start med å konfigurere sensoren riktig

    • koble VDD til 3.3V på bringebær pi
    • koble GND til GND på bringebær pi
    • legg et lite stykke papp mellom mottakeren og senderen
    • plasser risteren omtrent 5 cm fra sensoren
    • ta en skrutrekker og snu trimmeren øverst til OUT -lampen slukker.
    • test bevege risteren frem og tilbake og se om sensoren reagerer på bevegelsene. (OUT -lampen skal slås på og av).
    • gjenta om nødvendig.
  • Sett inn mottakeren og senderen gjennom hullene vi laget tidligere.
  • koble OUT -pinnen til GPIO -pinnen på bringebær -pi.

Trinn 9: Koble til ultralydmodulen

Koble til ultralydsmodulen
Koble til ultralydsmodulen
Koble til ultralydsmodulen
Koble til ultralydsmodulen
  • sett inn modulen i hullene på toppen av risterkammeret vi laget tidligere.
  • koble VCC med de fem voltene på bringebær -pi.
  • koble utløseren med en GPIO -pin
  • lag en spenningsdeler mellom GND og ekkoet (som vist på bildet)
  • koble GDN -en til GND for bringebær -pi.
  • koble ekkoet med en GPIO -pin

Hvis du ikke forstår hva jeg mener med en spenningsdeler, ta en titt på skjemaene. det sørger for at 5V -ekkoet senkes til 3,3V.

Trinn 10: Installer døren

Installer døren
Installer døren
Installer døren
Installer døren
  • Bruk små skruer for å feste hengslene til døren og til frontpanelet.
  • et hull i fingrene for å gjøre det lettere å åpne døren.

Trinn 11: Installer dørbryteren

Installer dørbryteren
Installer dørbryteren
Installer dørbryteren
Installer dørbryteren

Bruk skruer eller lim for å feste de to delene av dørbryteren til døren og innsiden av risterkammeret.

Trinn 12: Lag en rørholder

Lag en rørholder
Lag en rørholder
  • kutt åtte rørstykker på omtrent 20 cm
  • bruk en sirkulær gjenstand (jeg brukte et fleksibelt nutella -lokk) for å holde dem

Trinn 13: Sett inn trakt

Sett inn trakten
Sett inn trakten
  • plasser trakten i det siste hullet i toppanelet på risterkammeret.
  • plasser rørholderen i trakten, og fest den med klesklyper.

Trinn 14: Fest rørene til pumpen

Fest slangene til pumpen
Fest slangene til pumpen

fest den andre siden av rørene til doseringssiden av pumpene.

Trinn 15: Skjære rør for flaskene

Skjærerør til flaskene
Skjærerør til flaskene
Skjærerør til flaskene
Skjærerør til flaskene
Skjærerør til flaskene
Skjærerør til flaskene
Skjærerør til flaskene
Skjærerør til flaskene

kutt de forskjellige rørstørrelsene, slik at hver flaske blir koblet til en pumpe. Fest dem til den ubrukte siden av pumpene.

Trinn 16: Legg til distribusjonspluggen

Legg til distribusjonspluggen
Legg til distribusjonspluggen
Legg til distribusjonspluggen
Legg til distribusjonspluggen
  • kutt kontakten
  • bor et hull på siden av elektronikkrommet
  • sett kabelen gjennom hullet
  • sett på kontakten igjen

Trinn 17: Koble til LCD -skjermen

Koble til LCD -skjermen
Koble til LCD -skjermen
  • koble til LCD -skjermen som vist i skjemaet
  • bruk en I2C i/o -ekspander, fordi det ikke vil være nok GPIO -pinner
  • Dette er den eneste gangen vi trenger et lite brødbrett

Trinn 18: Lim frontpanelet

nå som LCD -en (vår siste komponent) er tilkoblet, kan vi lime frontpanelet til maskinen vår.

Trinn 19: Maling

Maleri
Maleri
Maleri
Maleri
Maleri
Maleri
Maleri
Maleri

sørg for å dekke delene som ikke er av tre med tape, og mal maskinen i en farge du ønsker.

Trinn 20: Fyll maskinen

Fyll maskinen
Fyll maskinen

Det siste vi må gjøre før vi kan laste opp koden og nyte en deilig cocktail, er å fylle maskinen med litt brennevin og noen miksere.

Trinn 21: Lag databasen

Lag databasen
Lag databasen
Lag databasen
Lag databasen

opprette en forbindelse til bringebær pi, og opprette databasen.

OPPRETT DATABASE IF NOT EXISTS `cocktailmaker` / *! 40100 DEFAULT CHARACTER SET utf8 * /; BRUK` cocktailmaker`; -MySQL dump 10.13 Distrib 5.7.17, for Win64 (x86_64)--Vert: 127.0.0.1 Database: cocktailmaker---------------------- --------------------------------- Serverversjon 5.7.20-logg

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

--

-Bordstruktur for bord `cocktaillogboek`-

DROP TABLE IF EXISTS `cocktaillogboek`;

/ *! 40101 SET @saved_cs_client = @@ character_set_client */; / *! 40101 SET character_set_client = utf8 */; OPPRETT TABELL `cocktail ', `cocktail_id`), KEY` fk_Cocktaillogboek_Cocktails1_idx` (`cocktail_id`), CONSTRAINT` fk_Cocktaillogboek_Cocktails1` FOREIGN KEY (`cocktail_id`) REFERENCES` cocktails` (`id_cocktail`) ON 5 STANDARD CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client */;

--

-Dumpingdata for tabell `cocktaillogboek`-

LÅS TABELLER `cocktaillogboek` SKRIV;

/ *! 40000 ALTER TABLE `cocktaillogboek` Deaktiver nøklene */; INSERT INTO `cocktaillogboek` VALUES (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` AKTIVER NØKLER */; LÅSE OPP TABELLER;

--

-Bordstruktur for bord `cocktailer`-

DROP TABLE IF EXISTS `cocktails`;

/ *! 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 DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client */;

--

-Dumpingdata for bord `cocktailer`-

LÅS TABELLER `cocktailer` SKRIV;

/ *! 40000 ALTER TABLE `cocktails` Deaktiverte taster */; SETT INN i `cocktailer` VERDIER (1, 'long island iced tea', '1q3n2q3n3q3n4q3n5q3x6q3n8q2', 20), (2, 'tequila sunrise', '2q5x7q5x9q3', 13); / *! 40000 ALTER TABLE `cocktails` AKTIVER NØKLER */; LÅSE OPP TABELLER;

--

-Bordstruktur for bord `dranken`-

DROP TABLE IF EXISTS `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, PRIMARYE id_drank`)) MOTOR = InnoDB AUTO_INCREMENT = 12 DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client */;

--

-Dumpingdata for tabellen `dranken`-

LÅS TABELLER `dranken` SKRIV;

/ *! 40000 ALTER TABLE `dranken` Deaktiverte taster */; INSERT INTO `dranken` VALUES (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` AKTIVER NØKLER */; LÅSE OPP TABELLER;

--

-Bordstruktur for bord `dranken_cocktails`-

DROP TABLE IF EXISTS `dranken_cocktails`;

/ *! 40101 SET @saved_cs_client = @@ character_set_client */; / *! 40101 SET character_set_client = utf8 */; CREATE TABLE `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_Dranken_ fk_Dranken_has_Cocktail_Dranken1_idx` ('Dranken_id_drank`), CONSTRAINT `fk_Dranken_has_Cocktail_Cocktail1` kandidatnøkkel (' Cocktail_id_cocktail`) REFERANSER` cocktails` ('id_cocktail`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_Dranken_has_Cocktail_Dranken1` sekundærnøkkel (' Dranken_id_drank`) REFERANSER` dranken` (`id_drank`) PÅ SLETT INGEN HANDLING PÅ OPPDATERING INGEN HANDLING) MOTOR = InnoDB DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client */;

--

-Dumping av data for tabellen `dranken_cocktails`-

LÅS TABELLER `dranken_cocktails` SKRIV;

/ *! 40000 ALTER TABLE `dranken_cocktails` Deaktiver Nøkler */; / *! 40000 ALTER TABLE `dranken_cocktails` AKTIVER NØKLER */; LÅSE OPP TABELLER;

--

-Bordstruktur for bord `mykner`-

DROP TABLE IF EXITTS `softs ';

/ *! 40101 SET @saved_cs_client = @@ character_set_client */; / *! 40101 SET character_set_client = utf8 */; CREATE TABLE `softs` (` bruisend_drank` tinyint (4) DEFAULT NULL, `drakk_id` int (11) NOT NULL, KEY` fk_Softs_Dranken1_idx` (`drakk_id`), CONSTRAINT` fk_Softs_Dranken1` FOREIGN KEY) `(` id_drank`) PÅ SLETT INGEN HANDLING PÅ OPPDATERING INGEN HANDLING) MOTOR = InnoDB DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client */;

--

-Dumpingdata for tabellen `mykner`-

LÅSETABELLER `mykner` SKRIV;

/ *! 40000 ALTER TABLE `mykner` DEABILE NØKLER */; INSERT INTO `softs` VERDI (1, 7), (0, 8), (0, 9), (0, 10), (0, 11); / *! 40000 ALTER TABLE `mykner` AKTIVER NØKLER */; LÅSE OPP TABELLER;

--

-Bordstruktur for bord `sprit '-

DROP TABLE IF EXISTS `sprit`;

/ *! 40101 SET @saved_cs_client = @@ character_set_client */; / *! 40101 SET character_set_client = utf8 */; OPPRETT TABELL `sprit` (` alkohol_prosent_drikk` bitteliten tekst, `slags_drank` bitteliten tekst,` drakk_id` int (11) IKKE NULL, KEY `fk_Spirits_Dranken_idx` (` drakk_id`), KONSTRAINT `fk_Spirits_Dranken` FOREIGN KEIRENK) `(` id_drank`) PÅ SLETT INGEN HANDLING PÅ OPPDATERING INGEN HANDLING) MOTOR = InnoDB DEFAULT CHARSET = utf8; / *! 40101 SET character_set_client = @saved_cs_client */;

--

-Dumpingdata for tabell `sprit '-

LÅS TABELLER `sprit` SKRIV;

/ *! 40000 ALTER TABLE `sprit` Deaktiverte taster */; INSERT INTO `sprit` VALUES ('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 `sprit` AKTIVER NØKLER */; LÅSE OPP TABELLER;

--

-Dumpingarrangementer for databasen 'cocktailmaker'-

--

- Dumpingrutiner for databasen '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 fullført 2019-06-03 14:56:53

Trinn 22: Skrive koden

Skriver koden
Skriver koden

Mange timer med arbeid gikk til dette programmet, heldigvis for deg har jeg et github -depot.

Her er en lenke til koden.

Anbefalt: