Sadržaj:

Proizvođač koktela: 22 koraka
Proizvođač koktela: 22 koraka

Video: Proizvođač koktela: 22 koraka

Video: Proizvođač koktela: 22 koraka
Video: Sven Marcelić - REKORD s 22 KORAKA u završnoj potjeri! | KVIZ POTJERA (29.9.2022.) 2024, Juli
Anonim
CocktailMaker
CocktailMaker

Kokteli, odličan način da završite naporan dan ili započnete uzbudljivu zabavu. Odete u bar, naručite neko piće, sjedite i čekate da stigne nebeska mješavina. Na kraju noći plaćate račun, dajete bakšišu bakšiš i krećete. Ali šta ako vam kažem da postoji način da uživate u istom ukusnom koktelu bez odlaska u bar ili čak trošenja mnogo novca. Sve što će vam trebati je malo vašeg slobodnog vremena i malo kreativnosti. Nastavite čitati, a ja ću vam objasniti korak po korak kako napraviti vlastitu mašinu za koktele kod kuće.

Supplies

Za slučaj

- MDF debljine 6 mm

- 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 debljine 12 mm

- 1 x 374 mm / 292 mm

- 2 x šarke

- šrafovi

- ljepilo za drvo

Za elektroniku

- 1 x LCD ekran 16x2

- 1 x 5V 8-kanalna relejna ploča

- 1 x 12V DC 100W napajanje

- 1 x malina pi 3B+

- 8 x 12V DC dozirna pumpa

- 1 x PCA8574p I2C I/O proširivač

- 1 x matična ploča

- 1 x 330 Ohm otpornik

- 2 x 470 Ohm otpornik

- 1 x razvodni utikač

- 1 x infracrveni senzor za izbjegavanje prepreka

- 1 x ultrazvučni modul

- 1 x magnetni prekidač za vrata

- bakrene žice

Extra

- 1 x mali lijevak

- 1 x fleksibilni poklopac od nutele

- 8m fleksibilna cijev debljine 4 mm

- 3 x štipaljka

- bela boja

- 1 x šejker za koktele

Pića

- 1 x boca džina

- 1 boca ruma

- 1 x boca votke

- 1 boca tekile

- 1 x boca trostruke sekunde

- 1 x boca soka od limete

- 1 bočica jednostavnog sirupa

- 1 boca kole

(opcionalno)

- 8 jednakih boca

Korak 1: Crtanje rupa

Crtanje rupa
Crtanje rupa

Počinjemo mjerenjem i crtanjem potrebnih rupa na drvetu.

  • prednja ploča (374 mm/462 mm)

    • 6,5 cm od vrha, u sredini ploče, nacrtamo pravokutnik veličine našeg LCD ekrana.
    • na dnu, u sredini ploče, nacrtamo pravokutnik visine 25 cm i širine 15 cm za vrata.
  • stražnja ploča pretinca za elektroniku (362 mm/100 mm)

    nacrtajte 8 puta površinu pumpi na ovoj ploči, kako bi sve pumpe odgovarale

  • gornja ploča komore za tresanje (180 mm/162 mm)

    • nacrtajte cirkel veliki poput kraja lijevka u sredini ploče
    • 3 cm od ruba kratke strane nacrtajte oblik dvije rupe potrebne za postavljanje ultrazvučnog modula.
    • u prednjem desnom kutu nacrtajte malenu rupu udaljenu 1 cm s obje strane. Dvije žice su ušle kroz nju.
  • desna bočna ploča šejker komore (174 mm/250 mm)

    10 cm od dna (kratka strana), izvucite dvije rupe potrebne za postavljanje infracrvenog senzora (u sredini)

Korak 2: Piljenje/bušenje rupa

Piljenje/bušenje rupa
Piljenje/bušenje rupa
Piljenje/bušenje rupa
Piljenje/bušenje rupa

Sada kada smo izvukli rupe, vrijeme je da uzmemo neke teške strojeve i režemo ih/režemo/bušimo. Koristio sam jednostavnu bušilicu i motornu pilu i posao je obavljen za manje od sat vremena.

Ako ste poput mene i imate poteškoća s rezanjem po nacrtanim linijama, možete koristiti datoteku nakon toga da ispravite svoje greške.

Korak 3: Lijepljenje kućišta

Lijepljenje kućišta
Lijepljenje kućišta
  • Spolja
    • Počnite lijepljenjem zadnje ploče (najveće) na donju ploču (deblju) pod kutom od 90 stupnjeva.
    • Dodajte stranice (2 x 280 mm/462 mm).
    • Prednji i gornji dio ćemo za sada ostaviti otvorenim
  • za unutrašnjost

    • Počnite tako što ćete napraviti šejker komoru.

      • zalijepite dvije strane (2 x 174 mm/250 mm) na stražnju ploču (162 mm/250 mm)
      • dodajte gornju ploču (180 mm/162 mm) s dvije rupe za ultrazvučni modul okrenute prema stražnjoj ploči. Ovaj panel trebao bi savršeno pokriti stranice sva tri panela.
  • za odjeljak za elektroniku

    zalijepite ploču motora na donju ploču (362 mm/180 mm)

  • zalijepite pretresalicu na sredinu prednje strane mašine (ostavite 6 mm za prednju ploču.
  • zalijepite odjeljak za elektroniku na vrhu mašine, 6 mm sprijeda. Motorna ploča treba biti okrenuta prema stražnjoj ploči.

Korak 4: Sheme

Sheme
Sheme
Sheme
Sheme

Prije nego počnemo povezivati sve elektroničke komponente, pogledajmo sheme.

Korak 5: Lemljenje pumpi

Lemljenje pumpi
Lemljenje pumpi

Uvjerite se da su sve osnove povezane. Na taj način ih lako možemo spojiti na uzemljenje napajanja.

Korak 6: Spajanje relejne ploče na pumpe

Spajanje relejne ploče na pumpe
Spajanje relejne ploče na pumpe
  • Spojite sve COM relejne ploče, tako da ih možemo lako spojiti na 12V napajanja.
  • Spojite svaki NO na relejnoj ploči s drugom pumpom (+).

Korak 7: Dodajte napajanje i Raspberry Pi

Dodajte napajanje i Raspberry Pi
Dodajte napajanje i Raspberry Pi

Ne zamjerite na prednjoj ploči na slici, samo sam je postavio tamo da imam ideju o tome koliko bi prostora bilo za elektroniku.

  • povežite relejnu ploču ovako

    • 5V na pin 5V na malini pi
    • GND do GND na malini pi
    • svaki IN na GPIO pin na malini pi
  • spojite niz GND pinova crpki s 0V napajanja, a seriju COM -ova na relejnoj ploči s 12V napajanja.
  • Sada, ako pokrenete jednostavnu skriptu koja aktivira sve povezane GPIO pinove, možete testirati svoje lemljenje i popraviti sve greške prije nego što u odjeljku ima mnogo žica. Sve pumpe treba da se pokrenu

Korak 8: Dodajte infracrveni senzor

Dodajte infracrveni senzor
Dodajte infracrveni senzor
Dodajte infracrveni senzor
Dodajte infracrveni senzor
Dodajte infracrveni senzor
Dodajte infracrveni senzor
  • prvo sam izbušio rupu u sredini odjeljka za elektroniku, tako da su kabeli iz šejker sobe mogli ići gore.
  • počnite s ispravnom konfiguracijom senzora
    • spojite VDD na 3.3V na malini pi
    • spojite GND na GND na malini pi
    • stavite mali komad kartona između prijemnika i odašiljača
    • postavite šejker na udaljenost od 5 cm od senzora
    • uzmite odvijač i okrenite trimer na vrhu dok se LED dioda OUT ne ugasi.
    • testirajte pomicanje šejkera naprijed -natrag i provjerite reagira li senzor na pokrete. (LED dioda OUT bi se trebala uključivati i isključivati).
    • po potrebi ponovite.
  • umetnite prijemnik i predajnik kroz rupe koje smo ranije napravili.
  • spojite OUT pin na GPIO pin na malini pi.

Korak 9: Povežite ultrazvučni modul

Povežite ultrazvučni modul
Povežite ultrazvučni modul
Povežite ultrazvučni modul
Povežite ultrazvučni modul
  • umetnite modul u rupe na vrhu komore za mućkanje koje smo ranije napravili.
  • spojite VCC sa pet volti na malini pi.
  • okidač spojite GPIO iglom
  • napravite razdjelnik napona između GND -a i eha (kao što je prikazano na slici)
  • spojite GDN sa GND maline pi.
  • spojite eho GPIO iglom

ako ne razumijete što mislim pod naponskim razdjelnikom, pogledajte još jednom sheme. osigurava da je 5V eho snižen na 3.3V.

Korak 10: Instalirajte vrata

Ugradite vrata
Ugradite vrata
Ugradite vrata
Ugradite vrata
  • Pomoću malih vijaka pričvrstite šarke na vrata i na prednju ploču.
  • rupa s prstima za lakše otvaranje vrata.

Korak 11: Instalirajte prekidač za vrata

Ugradite prekidač za vrata
Ugradite prekidač za vrata
Ugradite prekidač za vrata
Ugradite prekidač za vrata

Pomoću vijaka ili ljepila pričvrstite dva dijela prekidača za vrata na vrata i unutrašnjost komore za mućkanje.

Korak 12: Napravite držač cijevi

Napravite držač cijevi
Napravite držač cijevi
  • izrežite osam komada cijevi otprilike 20 cm
  • upotrijebite kružni predmet (koristio sam fleksibilan poklopac od nutele) da ih držite

Korak 13: Umetnite lijevak

Umetnite lijevak
Umetnite lijevak
  • postavite lijevak u posljednju rupu na gornjoj ploči tresalne komore.
  • držač cijevi stavite u lijevak i pričvrstite ga klinovima za odjeću.

Korak 14: Pričvrstite cijevi na pumpu

Pričvrstite cijevi na pumpu
Pričvrstite cijevi na pumpu

pričvrstite drugu stranu cijevi na dozirnu stranu pumpi.

Korak 15: Rezanje cijevi za boce

Rezanje cijevi za boce
Rezanje cijevi za boce
Rezanje cijevi za boce
Rezanje cijevi za boce
Rezanje cijevi za boce
Rezanje cijevi za boce
Rezanje cijevi za boce
Rezanje cijevi za boce

rezati cijevi različitih veličina, tako da će svaka boca biti povezana pumpom. Pričvrstite ih na neiskorištenu stranu pumpi.

Korak 16: Dodajte utikač za distribuciju

Dodajte utikač za distribuciju
Dodajte utikač za distribuciju
Dodajte utikač za distribuciju
Dodajte utikač za distribuciju
  • odrežite utikač
  • izbušite rupu sa strane odjeljka za elektroniku
  • provucite kabel kroz otvor
  • ponovo priključite utikač konektora

Korak 17: Povežite LCD

Spojite LCD
Spojite LCD
  • spojite lcd kako je prikazano na shemama
  • koristite I2C i/o ekspander jer neće biti dovoljno GPIO pinova
  • ovo je jedini put kada nam je potrebna mala ploča

Korak 18: Zalijepite prednju ploču

sada kada je LCD (naša posljednja komponenta) spojen, možemo zalijepiti prednju ploču na naš uređaj.

Korak 19: Slikanje

Painting
Painting
Painting
Painting
Painting
Painting
Painting
Painting

obavezno prekrijte dijelove koji nisu drveni trakom i obojite mašinu u boju po vašem izboru.

Korak 20: Napunite mašinu

Napunite mašinu
Napunite mašinu

Zadnja stvar koju moramo učiniti prije nego što učitamo kôd i uživamo u ukusnom koktelu, je napuniti mašinu malo žestokog pića i malo miksera.

Korak 21: Kreirajte bazu podataka

Kreirajte bazu podataka
Kreirajte bazu podataka
Kreirajte bazu podataka
Kreirajte bazu podataka

uspostavite vezu s malinom pi i stvorite bazu podataka.

NAPRAVI BAZU PODATAKA AKO NE POSTOJI `cocktailmaker` / *! 40100 ZADOVOLJNI KARAKTER SET utf8 * /; USE` cocktailmaker`; -MySQL dump 10.13 Distrib 5.7.17, za Win64 (x86_64)--Domaćin: 127.0.0.1 Baza podataka: koktel---------------------- ----------------------------------Verzija servera 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 PODESITE IMENA 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 */;

--

-Struktura stola za `cocktaillogboek`-

DROP TABELA AKO POSTOJI `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_ PRIMARY_ PRIMARY_, `cocktail_id`), KEY` fk_Cocktaillogboek_Cocktails1_idx` (`cocktail_id`), CONSTRAINT` fk_Cocktaillogboek_Cocktails1` STRANI KLJUČ (`cocktail_id`) REFERENCE` cocktails` 5 ZADOVOLJNI CHARSET = utf8; / *! 40101 SET character_set_client = @sačuvani_cs_client */;

--

-Podaci o dampingu za tablicu `cocktaillogboek`-

ZAKLJUČAJTE STOLOVE `cocktaillogboek` NAPIŠITE;

/ *! 40000 ALTER TABELA `cocktaillogboek` DISABLE TASTERI */; UMESTI `VRIJEDNOSTI` 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 TABELA `cocktaillogboek` ENABLE KLJUČEVI */; OTKLJUČI STOLOVE;

--

-Struktura stola za `koktele`-

DROP TABELA AKO POSTOJI `kokteli`;

/ *! 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` pluta DEFAULT NULL, PRIMARY KEYE (`_ id code_cocktail_UNIQUE` (`code_cocktail`)) MOTOR = InnoDB AUTO_INCREMENT = 3 ZADNJA KARTA = utf8; / *! 40101 SET character_set_client = @sačuvani_cs_client */;

--

-Podaci o dampingu za stolne `koktele`-

ZAKLJUČAJTE STOLOVE `kokteli` NAPIŠITE;

/ *! 40000 ALTER TABELA `kokteli` DISABLE TASTERI */; UMETAJTE VRIJEDNOSTI `koktela` (1, 'ledeni čaj sa dugog ostrva', '1q3n2q3n3q3n4q3n5q3x6q3n8q2', 20), (2, 'tequila sunrise', '2q5x7q5x9q3', 13); / *! 40000 ALTER TABELA `kokteli` ENABLE KLJUČI */; OTKLJUČI STOLOVE;

--

-Struktura stola za sto `dranken`-

DROP TABELA AKO POSTOJI `dranken`;

/ *! 40101 SET @saved_cs_client = @@ character_set_client */; / *! 40101 SET character_set_client = utf8 */; CREATE TABLE `dranken` (` id_drank` int (11) NIJE NULL AUTO_INCREMENT, `naam_drank` tinytext,` tijd_per_centiliter` float DEFAULT NULL, `inhoud_drank` float DEFAULT NULL,` pomp_drank` minijaturno (4) NENO id_drank`)) ENGINE = InnoDB AUTO_INCREMENT = 12 ZADOVOLJNI CHARSET = utf8; / *! 40101 SET character_set_client = @sačuvani_cs_client */;

--

-Podaci o dampingu za tablicu `dranken`-

ZAKLJUČAJTE STOLOVE `dranken` WRITE;

/ *! 40000 ALTER TABELA `dranken` DISABLE KLJUČI */; UMETI `dranken` VREDNOSTI (1, 'džin', 20, 70, 1), (2, 'tekila', 20, 70, 2), (3, 'wodka', 20, 70, 3), (4, 'triple sec', 20, 70, 4), (5, 'rum', 20, 70, 5), (6, 'whiskey', 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 TABELA `dranken` ENABLE KLJUČI */; OTKLJUČI STOLOVE;

--

-Struktura stola za stol `dranken_cocktails`-

DROP TABELA AKO POSTOJI `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) NIJE NULL, `Cocktail_id_cocktail` int (11) NIJE NULL, PRIMARY KEY (` Dranken_id_drank`, `Cocktail_id_cocktail`), KEY_cock_cock_cock_cock fk_Dranken_has_Cocktail_Dranken1_idx` (`Dranken_id_drank`), CONSTRAINT` fk_Dranken_has_Cocktail_Cocktail1` FOREIGN KEY (`Cocktail_id_cocktail`) REFERENCE` cocktails` (`id_cocktail`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT` fk_Dranken_has_Cocktail_Dranken1` FOREIGN KEY (`Dranken_id_drank`) REFERENCE` dranken` (`id_drank`) ON IZBRIŠI NIKAKVU AKCIJU NA AŽURIRANJE NEMA AKCIJE) MOTOR = InnoDB ZADOVOLJNA CHARSET = utf8; / *! 40101 SET character_set_client = @sačuvani_cs_client */;

--

-Podaci o dampingu za tablicu `dranken_cocktails`-

ZAKLJUČAJ STOLOVE `dranken_cocktails` WRITE;

/ *! 40000 ALTER TABELA `dranken_cocktails` DISABLE KEYS */; / *! 40000 ALTER TABELA `dranken_cocktails` ENABLE KEYS */; OTKLJUČI STOLOVE;

--

-Struktura stola za `softe` stola-

DROP TABELA AKO POSTOJI `mekano`;

/ *! 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_Dranken1ENE `(` id_drank`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB ZADNJA CHARSET = utf8; / *! 40101 SET character_set_client = @sačuvani_cs_client */;

--

-Podaci o dampingu za tablicu `meke '-

ZAKLJUČAJ STOLOVE `softs` WRITE;

/ *! 40000 ALTER TABELA `softs` DISABLE TASTERI */; INSERT INTO `softs` VREDNOSTI (1, 7), (0, 8), (0, 9), (0, 10), (0, 11); / *! 40000 ALTER TABELA `softs` ENABLE KLJUČI */; OTKLJUČI STOLOVE;

--

-Struktura stola za `žestoka pića`-

DROP TABELA AKO POSTOJI `duhovi`;

/ *! 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` (ispijan) `(` id_drank`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB ZADNJA CHARSET = utf8; / *! 40101 SET character_set_client = @sačuvani_cs_client */;

--

-Podaci o dampingu za tablične `žestoke alkoholne piće`-

ZAKLJUČAJ STOLOVE `duhovi` NAPIŠITE;

/ *! 40000 ALTER TABELA `duhovi` DISABLE KLJUČI */; UMETAJTE VRIJEDNOSTI `duhova` ('40', 'džin', 1), ('35', 'tekila', 2), ('37.5 ',' wodka ', 3), (' 40 ',' trostruka sek. ') ', 4), ('37.5', 'rum', 5), ('37.5 ',' viski ', 6); / *! 40000 ALTER TABELA `spirits` ENABLE KLJUČI */; OTKLJUČI STOLOVE;

--

-Dampinški događaji za bazu podataka 'proizvođač koktela'-

--

- Dampinške rutine za bazu podataka 'proizvođač koktela'- / *! 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 */;

-Snimanje završeno 2019-06-03 14:56:53

Korak 22: Pisanje koda

Pisanje koda
Pisanje koda

Ovom programu je uloženo mnogo sati rada, na sreću za vas imam github spremište.

Evo veze do koda.

Preporučuje se: