Spisu treści:

Koktajl Maker: 22 kroki
Koktajl Maker: 22 kroki

Wideo: Koktajl Maker: 22 kroki

Wideo: Koktajl Maker: 22 kroki
Wideo: Меценаты России за 22 минуты 2024, Listopad
Anonim
KoktajlMaker
KoktajlMaker

Koktajle, świetny sposób na zakończenie męczącego dnia lub rozpoczęcie ekscytującej imprezy. Idziesz do baru, zamawiasz wyszukanego drinka, siadasz wygodnie i czekasz na przybycie niebiańskiej mieszanki. Pod koniec wieczoru płacisz rachunek, dajesz napiwek barmanowi i jesteś w drodze. Ale co, jeśli powiem ci, że jest sposób, abyś mógł cieszyć się tym samym smacznym koktajlem bez chodzenia do baru lub nawet wydawania dużych pieniędzy. Wystarczy trochę wolnego czasu i trochę kreatywności. Czytaj dalej, a wyjaśnię krok po kroku, jak zrobić w domu swój własny automat do koktajli.

Kieszonkowe dzieci

Do sprawy

- MDF o grubości 6mm

- 2x374mm / 462mm

- 2x280mm/462mm

- 2x174mm / 250mm

- 1x162mm / 250mm

- 1x150mm / 250mm

- 1x180mm/162mm

- 1x180mm/362mm

- 1x362mm/100mm

- 1x374mm/292mm

- MDF o grubości 12mm

- 1x374mm/292mm

- 2 x zawias

- śruby

- klej do drewna

Dla elektroniki

- 1 x wyświetlacz LCD 16x2

-1 x 5 V 8-kanałowa tablica przekaźnikowa

-1 zasilacz 12 V DC 100 W

- 1 x malina pi 3B+

- Pompa dozująca 8 x 12 V DC

- 1 x ekspander we/wy PCA8574p I2C

- 1 x płytka do krojenia chleba

- Rezystor 1 x 330 Ohm

- Rezystor 2 x 470 Ohm

- 1 x wtyczka dystrybucyjna

-1 x czujnik unikania przeszkód na podczerwień;

-1 x moduł ultradźwiękowy

- 1 x magnetyczny wyłącznik drzwi

- kabel miedziany

Dodatkowy

-1 x mały lejek

- 1 x elastyczna pokrywka z nutelli

- Rura elastyczna 8m o grubości 4mm

-3 x spinacz do bielizny

- Biała farba

- 1 x koktajl shaker

Napoje

- 1 x butelka ginu

- 1 x butelka rumu

- 1 x butelka wódki

- 1 x butelka tequili

- 1 x butelka triple sec

- 1 x butelka soku z limonki

- 1 x butelka prostego syropu

- 1 x butelka coli

(opcjonalny)

-8 równych butelek

Krok 1: Rysowanie otworów

Rysowanie otworów
Rysowanie otworów

Zaczynamy od zmierzenia i narysowania potrzebnych otworów na drewnie.

  • panel przedni (374mm/462mm)

    • 6,5 cm od góry, na środku panelu, narysujemy prostokąt wielkości naszego wyświetlacza lcd.
    • na dole, pośrodku panelu, narysujemy prostokąt o wysokości 25 cm i szerokości 15 cm na drzwi.
  • tylny panel przedziału na elektronikę (362mm/100mm)

    narysuj 8 razy powierzchnię pomp na tym panelu, aby wszystkie pompy pasowały

  • górny panel komory wytrząsarki (180mm/162mm)

    • narysuj krąg o wielkości końca lejka na środku panelu
    • 3 cm od krawędzi krótszego boku narysuj kształt dwóch otworów potrzebnych do dopasowania modułu ultradźwiękowego.
    • w prawym przednim rogu narysuj mały otwór 1 cm z obu stron. Przestrzeliły przez nią dwa przewody.
  • prawy panel boczny komory wytrząsarki (174mm/250mm)

    10 cm od dołu (krótsza strona), narysuj dwa otwory potrzebne do dopasowania czujnika podczerwieni (w środku)

Krok 2: Piłowanie/wiercenie otworów

Piłowanie/wiercenie otworów
Piłowanie/wiercenie otworów
Piłowanie/wiercenie otworów
Piłowanie/wiercenie otworów

Teraz, gdy już narysowaliśmy nasze dziury, nadszedł czas, aby wziąć trochę ciężkiego sprzętu i wyciąć/piłować/wiercić je. Użyłem prostej wiertarki i wyrzynarki iw niecałą godzinę praca została wykonana.

Jeśli jesteś podobny do mnie i masz trudności z cięciem narysowanych linii, możesz później użyć pilnika, aby poprawić swoje błędy.

Krok 3: Klejenie obudowy

Klejenie obudowy
Klejenie obudowy
  • Na zewnątrz

    • Zacznij od przyklejenia tylnego panelu (największego) do panelu dolnego (grubego) pod kątem 90 stopni.
    • Dodaj boki (2 x 280mm/462mm).
    • Na razie zostawimy przód i górę otwarte
  • do wewnątrz

    • Zacznij od wykonania komory wytrząsającej.

      • przyklej dwie strony (2 x 174mm/250mm) do tylnego panelu (162mm/250mm)
      • dodaj górny panel (180mm/162mm) z dwoma otworami na moduł ultradźwiękowy skierowanymi w stronę tylnego panelu. Panel ten powinien idealnie zakrywać boki wszystkich trzech paneli.
  • do przedziału z elektroniką

    przyklej panel silnika do panelu dolnego (362mm/180mm)

  • przyklej komorę wstrząsarki na środku przedniej części maszyny (zostaw 6mm na przedni panel).
  • przyklej komorę elektroniki na górze maszyny, 6mm od przodu. Motorpanel powinien być skierowany w stronę tylnego panelu.

Krok 4: Schematy

Schematy
Schematy
Schematy
Schematy

Zanim zaczniemy łączyć wszystkie elementy elektroniczne, spójrzmy na schematy.

Krok 5: Lutowanie pomp

Lutowanie pomp
Lutowanie pomp

Upewnij się, że wszystkie uziemienia są połączone. W ten sposób bez problemu podłączymy je do masy zasilacza.

Krok 6: Podłączanie płytki przekaźnikowej do pomp

Podłączanie płytki przekaźnikowej do pomp
Podłączanie płytki przekaźnikowej do pomp
  • Połącz wszystkie COM przekaźnika, dzięki czemu możemy je łatwo podłączyć do 12V zasilacza.
  • Połącz każdy NO na tablicy przekaźnikowej z inną pompą (+).

Krok 7: Dodaj zasilacz i Raspberry Pi

Dodaj zasilacz i Raspberry Pi
Dodaj zasilacz i Raspberry Pi

Nie zwracaj uwagi na przedni panel na zdjęciu, po prostu go tam umieściłem, aby mieć wyobrażenie, ile będzie miejsca na elektronikę.

  • podłącz tablicę przekaźnikową w ten sposób

    • 5V do pinu 5V na malinowym pi
    • GND do GND na malinowym pi
    • każdy IN do pinu GPIO na malinowym pi
  • połącz szereg pinów GND pomp z 0V zasilacza, a szereg COM na płytce przekaźnikowej z 12V zasilacza.
  • Teraz, jeśli uruchomisz prosty skrypt, który aktywuje wszystkie podłączone piny GPIO, możesz przetestować lutowanie i naprawić wszelkie błędy, zanim w komorze będzie zbyt wiele przewodów. Wszystkie pompy powinny się uruchomić

Krok 8: Dodaj czujnik podczerwieni

Dodaj czujnik podczerwieni
Dodaj czujnik podczerwieni
Dodaj czujnik podczerwieni
Dodaj czujnik podczerwieni
Dodaj czujnik podczerwieni
Dodaj czujnik podczerwieni
  • przede wszystkim wywierciłem otwór w środku przedziału z elektroniką, żeby kable z shakera mogły iść w górę.
  • zacznij od prawidłowej konfiguracji czujnika
    • podłącz VDD do 3,3 V na Raspberry Pi
    • podłącz GND do GND na Raspberry Pi
    • umieść mały kawałek tektury pomiędzy odbiornikiem a nadajnikiem
    • umieść shaker około 5 cm od czujnika
    • weź śrubokręt i obróć trymer u góry, aż zgaśnie dioda OUT.
    • test poruszaj wytrząsarką w przód iw tył i sprawdź, czy czujnik reaguje na ruchy. (dioda OUT powinna się zapalić i zgasnąć).
    • Powtórzyć w razie potrzeby.
  • włóż odbiornik i nadajnik przez wykonane wcześniej otwory.
  • podłącz pin OUT do pinu GPIO na raspberry pi.

Krok 9: Podłącz moduł ultradźwiękowy

Podłącz moduł ultradźwiękowy
Podłącz moduł ultradźwiękowy
Podłącz moduł ultradźwiękowy
Podłącz moduł ultradźwiękowy
  • włóż moduł w otwory w górnej części komory wytrząsarki, które wykonaliśmy wcześniej.
  • podłącz VCC do pięciu woltów na raspberry pi.
  • podłącz wyzwalacz za pomocą pinu GPIO
  • zrobić dzielnik napięcia między GND a echem (jak na zdjęciu)
  • połącz GDN z GND raspberry pi.
  • połącz echo z pinem GPIO

jeśli nie rozumiesz, co mam na myśli przez dzielnik napięcia, spójrz jeszcze raz na schematy. upewnia się, że echo 5V jest obniżone do 3,3V.

Krok 10: Zainstaluj drzwi

Zainstaluj drzwi
Zainstaluj drzwi
Zainstaluj drzwi
Zainstaluj drzwi
  • Za pomocą małych śrub przymocuj zawiasy do drzwi i przedniego panelu.
  • otwór w kształcie palca ułatwiający otwieranie drzwi.

Krok 11: Zainstaluj przełącznik drzwi

Zainstaluj przełącznik do drzwi
Zainstaluj przełącznik do drzwi
Zainstaluj przełącznik do drzwi
Zainstaluj przełącznik do drzwi

Użyj śrub lub kleju, aby przymocować dwie części wyłącznika drzwiowego do drzwi i wnętrza komory wstrząsarki.

Krok 12: Zrób uchwyt na tubę

Zrób uchwyt na tubę
Zrób uchwyt na tubę
  • wyciąć osiem kawałków rurki o długości około 20 cm
  • użyj okrągłego przedmiotu (ja użyłam elastycznej pokrywki z nutelli), aby je przytrzymać

Krok 13: Włóż lejek

Wstaw lejek
Wstaw lejek
  • umieść lejek w ostatnim otworze w górnym panelu komory wytrząsarki.
  • umieść uchwyt na rurkę w lejku i zabezpiecz go klamerkami.

Krok 14: Podłącz rurki do pompy

Podłącz rurki do pompy
Podłącz rurki do pompy

przymocować drugą stronę rurek do strony dozującej pomp.

Krok 15: Cięcie rurek do butelek

Cięcie rurek do butelek
Cięcie rurek do butelek
Cięcie rurek do butelek
Cięcie rurek do butelek
Cięcie rurek do butelek
Cięcie rurek do butelek
Cięcie rurek do butelek
Cięcie rurek do butelek

wyciąć różne rozmiary rurek, tak aby każda butelka była połączona z pompką. Przymocuj je do nieużywanej strony pomp.

Krok 16: Dodaj wtyczkę dystrybucyjną

Dodaj wtyczkę dystrybucyjną
Dodaj wtyczkę dystrybucyjną
Dodaj wtyczkę dystrybucyjną
Dodaj wtyczkę dystrybucyjną
  • przeciąć wtyczkę złącza
  • wywiercić otwór z boku komory elektroniki
  • przełóż kabel przez otwór
  • ponownie podłączyć wtyczkę

Krok 17: Podłącz wyświetlacz LCD

Podłącz wyświetlacz LCD
Podłącz wyświetlacz LCD
  • podłącz lcd, jak pokazano na schemacie
  • użyj ekspandera we/wy I2C, ponieważ nie będzie wystarczającej liczby pinów GPIO
  • to jedyny czas, kiedy potrzebujemy małej płytki do krojenia chleba

Krok 18: Przyklej panel przedni

Teraz, gdy podłączony jest wyświetlacz LCD (nasz ostatni komponent), możemy przykleić przedni panel do naszej maszyny.

Krok 19: Malowanie

Obraz
Obraz
Obraz
Obraz
Obraz
Obraz
Obraz
Obraz

pamiętaj o zaklejeniu niedrewnianych części taśmą i pomaluj maszynę na wybrany przez siebie kolor.

Krok 20: Napełnij maszynę

Napełnij maszynę
Napełnij maszynę

Ostatnią rzeczą, jaką musimy zrobić, zanim będziemy mogli przesłać kod i cieszyć się pysznym koktajlem, to napełnić maszynę alkoholem i kilkoma mikserami.

Krok 21: Utwórz bazę danych

Utwórz bazę danych
Utwórz bazę danych
Utwórz bazę danych
Utwórz bazę danych

nawiąż połączenie z raspberry pi i utwórz bazę danych.

UTWÓRZ BAZĘ DANYCH, JEŚLI NIE ISTNIEJE `cocktailmaker` /*!40100 DOMYŚLNY ZESTAW ZNAKÓW utf8 */;USE `cocktailmaker`; -- Zrzut MySQL 10.13 Dystrybucja 5.7.17, dla Win64 (x86_64) -- -- Host: 127.0.0.1 Baza danych: cocktailmaker -- --------------------- ---------------------------------- -- Wersja serwera 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 USTAW NAZW 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 */;

--

DROP TABLE IF EXIST `cocktaillogboek`;

/*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 USTAWIĆ_zestaw_znaków_klient = 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, KLUCZ PODSTAWOWY (`id_cocktail_log`, `cocktail_id`), KLUCZ `fk_Cocktaillogboek_Cocktails1_idx` (`cocktail_id`), OGRANICZENIE `fk_Cocktaillogboek_Cocktails1` KLUCZ OBCY (`cocktail_id`) ODNIESIENIA `cocktails` (`id_cocktail`) W PRZYPADKU USUNIĘCIA BRAKU = AUTOMATYCZNEJ AKCJI 5 DOMYŚLNY ZESTAW ZNAKÓW=utf8; /*!40101 SET character_set_client = @saved_cs_client */;

--

LOCK TABLES `cocktaillogboek` WRITE;

/*!40000 ALTER TABLE `cocktaillogboek` WYŁĄCZ KLAWISZE */; WSTAW W WARTOŚCI `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` WŁĄCZ KLAWISZE */; ODBLOKUJ STOŁY;

--

DROP TABLE IF EXIST `koktajle`;

/*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 USTAWIĆ_zestaw_znaków_klient = 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, GŁÓWNY KLUCZ (`id_cocktail`), UNIQUE KEY ` code_cocktail_UNIQUE` (`code_cocktail`)) SILNIK=InnoDB AUTO_INCREMENT=3 DOMYŚLNY ZESTAW ZNAKÓW=utf8; /*!40101 SET character_set_client = @saved_cs_client */;

--

LOCK TABLES `koktajle` NAPISZ;

/*!40000 ALTER TABLE `koktajle` WYŁĄCZ KLAWISZE */; WSTAWIĆ WARTOŚCI 'koktajli' (1, 'mrożona herbata long island', '1q3n2q3n3q3n4q3n5q3x6q3n8q2', 20), (2, 'tequila sunrise', '2q5x7q5x9q3', 13); /*!40000 ALTER TABLE `koktajle` WŁĄCZ KLAWISZE */; ODBLOKUJ STOŁY;

--

DROP TABLE IF EXIST `dranken`;

/*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 USTAWIĆ_zestaw_znaków_klient = 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 DOMYŚLNY ZESTAW ZNAKÓW=utf8; /*!40101 SET character_set_client = @saved_cs_client */;

--

ZABLOKUJ STOŁY `wypijany` NAPISZ;

/*!40000 ALTER TABLE `dranken` WYŁĄCZ KLAWISZE */; WSTAWIĆ WARTOŚCI 'wypijane' (1, 'gin', 20, 70, 1), (2, 'tequila', 20, 70, 2), (3, 'wodka', 20, 70, 3), (4, 'trzy sekundy', 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, „grenadyna”, 30, 100, 9), (11, „suikersiroop”, 30, 100, 10); /*!40000 ALTER TABLE `dranken` WŁĄCZ KLAWISZE */; ODBLOKUJ STOŁY;

--

DROP TABLE IF EXISTS `dranken_cocktails`;

/*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 USTAWIĆ_zestaw_znaków_klient = utf8 */; UTWÓRZ TABELĘ `dranken_cocktails` (`Dranken_id_drank` int(11) NOT NULL, `Cocktail_id_cocktail` int(11) NOT NULL, KLUCZ GŁÓWNY (`Dranken_id_drank`, `Cocktail_id_cocktail`), KLUCZ `fk_Dranken_tail_cock_hack_Cock fk_Dranken_has_Cocktail_Dranken1_idx` (`Dranken_id_drank`) CONSTRAINT` fk_Dranken_has_Cocktail_Cocktail1` FOREIGN KEY (`Cocktail_id_cocktail`) LITERATURA` cocktails` (`id_cocktail`) ON DELETE NO ACTION ON UPDATE NO ACTION, ograniczenie klucz obcy` fk_Dranken_has_Cocktail_Dranken1` (``) odniesienia Dranken_id_drank` dranken` (`id_drank`) PRZY USUNIĘCIU ŻADNEJ AKCJI PRZY AKTUALIZACJI ŻADNEJ AKCJI) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */;

--

LOCK TABLES `dranken_cocktails` NAPISZ;

/*!40000 ALTER TABLE `dranken_cocktails` WYŁĄCZ KLAWISZE */; /*!40000 ALTER TABLE `dranken_cocktails` WŁĄCZ KLAWISZE */; ODBLOKUJ STOŁY;

--

DROP TABLE IF EXISTS `softs`;

/*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 USTAWIĆ_zestaw_znaków_klient = utf8 */; UTWÓRZ TABELĘ `softs` (`bruisend_drank` tinyint(4) DEFAULT NULL, `drank_id` int(11) NOT NULL, KLUCZ `fk_Softs_Dranken1_idx` (`drank_id`), OGRANICZENIE `fk_Softs_Dranken1` KLUCZ OBCY (`drankENCE_id`) ` (`id_drank`) NA USUNIĘCIE ŻADNEJ AKCJI PRZY AKTUALIZACJI ŻADNEJ AKCJI) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */;

--

LOCK TABLES `softs` NAPISZ;

/*!40000 ALTER TABLE `softs` WYŁĄCZ KLAWISZE */; WSTAW W „miękkie” WARTOŚCI (1, 7), (0, 8), (0, 9), (0, 10), (0, 11); /*!40000 ALTER TABLE `softs` WŁĄCZ KLAWISZE */; ODBLOKUJ STOŁY;

--

DROP TABLE IF EXISTS `spirits`;

/*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 USTAWIĆ_zestaw_znaków_klient = utf8 */; CREATE TABLE `spirits` (`alkohol_percentage_drank` tinytext, `soort_drank` tinytext, `drank_id` int(11) NOT NULL, KLUCZ `fk_Spirits_Dranken_idx` (`drank_id`), CONSTRAINT `fk_Spirits_Dranken` FERENCE_SID` ` (`id_drank`) NA USUNIĘCIE ŻADNEJ AKCJI PRZY AKTUALIZACJI ŻADNEJ AKCJI) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */;

--

LOCK TABLES `spirity` NAPISZ;

/*!40000 ALTER TABLE `spirits` WYŁĄCZ KLAWISZE */; WSTAWIĆ WARTOŚCI `spirits` ('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 `spirits` ENABLE KEYS */; ODBLOKUJ STOŁY;

--

--

-- Procedury zrzutu dla bazy danych '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 USTAW SQL_NOTES=@OLD_SQL_NOTES */;

-- Zrzut zakończony 03.06.2019 14:56:53

Krok 22: Pisanie kodu

Pisanie Kodeksu
Pisanie Kodeksu

Wiele godzin pracy włożyło się w ten program, na szczęście dla Ciebie mam repozytorium github.

Oto link do kodu.

Zalecana: