본문 바로가기
생활 취미 만들기

맞춤형 시럽 디스펜서 기계 구축하기

by 굿뜨클랑 2024. 12. 27.
728x90
반응형

소개

오늘은 여러분에게 맞춤형 시럽 디스펜서 기계를 만드는 방법을 안내해 드리겠습니다. 이 디스펜서는 물 또는 물-시럽 혼합물을 자동으로 분배하며, 시럽 비율을 조정할 수 있는 버튼이 포함되어 있어 순한 맛에서 강한 맛까지 단맛을 조절할 수 있습니다.

준비물

  • 3D 프린터
  • 레이저 커터
  • Arduino ESP32-WROOM-DA
  • 12V DC 펌프
  • 기타 전자 부품 및 배선

1. 기계 본체 설계 및 제작

먼저, 디스펜서의 본체를 설계합니다. 맞춤 설계된 모델을 3D 프린터로 출력하고, 레이저 커터를 사용해 부품을 정밀하게 절단합니다. 이렇게 하면 견고하고 정확한 구조를 얻을 수 있습니다.

2. 전자 장치 설치

Arduino ESP32-WROOM-DA를 사용하여 디스펜서의 두뇌를 구성합니다. 맞춤형 프로그램을 업로드하여 다양한 기능을 제어합니다. 시럽 비율을 조정하는 버튼과 펌프를 연결하고, 12V DC 전원으로 구동합니다.

3. 소프트웨어 설정

Arduino에 업로드할 프로그램을 작성합니다. 시럽 비율을 제어하는 코드를 포함하여, 버튼 입력과 펌프 작동을 조절합니다. 필요한 경우, 추가적인 센서나 기능을 포함시킬 수도 있습니다.

4. 조립 및 테스트

모든 부품을 조립하고, 전자 장치를 연결한 후 테스트를 진행합니다. 디스펜서가 제대로 작동하는지 확인하고, 시럽 비율 조정 버튼이 원하는 대로 반응하는지 확인합니다.

 

공급

필요한 재료

  1. 3D 프린팅 & 레이저 커팅:
  2. 3D 프린터(FDM 또는 SLA)
  3. 레이저 커터
  4. 3D 프린팅을 위한 PLA 또는 ABS 필라멘트
  5. 레이저 절단용 아크릴 시트
  6. 전자공학:
  7. 아두이노 ESP32-WROOM-DA
  8. 맞춤형 PCB(깔끔한 배선을 위한 옵션)
  9. 12V DC 워터 펌프(2대)
  10. 전원 공급 장치(최소 12V, 2A)
  11. 푸시 버튼(2개)
  12. 12V 전원 공급 장치
  13. 전위차계 또는 로터리 엔코더(미세 조정을 위한 옵션)
  14. 12V 릴레이 모듈 1개
  15. 선택사양 : OLED 스크린
  16. 전선, 커넥터 및 납땜 키트
  17. 잡다한:
  18. 물과 시럽용 튜브(식품 등급)
  19. 시럽 및 물통(병 또는 용기)
  20. 튜빙을 고정하기 위한 피팅
  21. 조립용 나사와 너트
  22. 도구(드라이버, 펜치 등)

 

참고 : 링크는 Amazon 어소시에이트 프로그램의 일부입니다.

1단계: 본체 디자인 및 인쇄

처음부터 시작하려면 다음을 수행해야 합니다.

  1. Fusion 360 또는 TinkerCAD와 같은 CAD 소프트웨어를 사용하여 기계 본체를 설계합니다.
  2. 펌프, Arduino, 버튼 및 튜브용 슬롯을 포함합니다.
  3. 전자 장치 및 저장 탱크를 안전하게 배치할 수 있는 장착 지점을 설계합니다.
  4. 디자인 파일을 내보내고 차체 구성 요소를 3D 인쇄합니다.
  5. 평면 패널이나 장식 요소의 경우 레이저 절단기를 사용하여 디자인에 따라 아크릴 시트를 절단하십시오.

GitHub에서 내 디자인을 사용할 수도 있습니다.

  1. box_bottom.stl
  2. box_middle.stl
  3. box_pipe.stl
  4. box_top.stl
  5. box_top_trou.stl

이 경우 파일을 다운로드하고 Cura로 슬라이스 한 다음 3D 프린터에 gcode 파일을로드하면됩니다.

2단계: 전자 장치 조립

다음 단계를 따르십시오.

  1. 릴레이 모듈을 통해 펌프를 Arduino에 연결합니다.
  2. 하나의 펌프로 물을 처리할 수 있습니다.
  3. 두 번째 펌프는 시럽을 처리합니다.
  4. 푸시 버튼을 Arduino의 입력 핀에 연결합니다.
  5. 시럽 강도 수준(예: 낮음, 중간, 높음)을 순환하도록 버튼을 프로그래밍합니다.
  6. 12V 전원 공급 장치를 사용하여 펌프에 전원을 공급합니다.
  7. (선택 사항) 연결을 깔끔하게 정리하기 위해 맞춤형 PCB를 설계하십시오.

핀아웃연결은 프로그램 시작 부분의 Arduino 코드에 주석으로 되어 있습니다.

// -- -----------
// Declaratives
// -- -----------
// Declaratives, buttons
int POT = 15; // Assign POT pin D15
int WATER = 21; // Assign WATER pin D2
int RED = 19; // Assign RED pin D4
int R_PUMP = 22; // Assign R_PUMP pin D22
int W_PUMP = 23; // Assign W_PUMP pin D23

 

3단계: ESP32 프로그래밍

따라야 할 단계 :

  1. Arduino 코드 다운로드: CocktailMachine.ino 파일.
  2.  
  3. Arduino 소프트웨어를 사용하여 코드를 컴파일하고 ESP32 보드에 업로드합니다.
CocktailMachine-main.zip
0.07MB

인터넷의 많은 문서에서 Arduino 소프트웨어 사용 방법을 설명합니다.

 

// -- -----------------------------------------
// CocktailMachine
//
// v1.0 - Initial version
// -- ------------------------------------------
 
// -- -----------
// Declaratives
// -- -----------
// Declaratives, buttons
int POT = 15; // Assign POT pin D15
int WATER = 21; // Assign WATER pin D2
int RED = 19; // Assign RED pin D4
int R_PUMP = 22; // Assign R_PUMP pin D22
int W_PUMP = 23; // Assign W_PUMP pin D23
 
int TEMPO_POT_MAX = 4095; // max tempo for the pot
int TEMPO_WATER_MAX = 9000; // max tempo for the water
int TEMPO_RED_MIN = 1000; // max tempo for the red
int TEMPO_RED_MAX = 3000; // max tempo for the red
 
// Declaratives, others
boolean blocked = false; // block flag
int waterState = 0; // GO button state
int redState = 0; // BLUE button state
int potValue = 0; // value read from the pot
int tempo = 0; // tempo when a pump is on
 
// Declaratives, graphics and font library
#include <TFT_eSPI.h>
#include <SPI.h>
TFT_eSPI tft = TFT_eSPI(); // Invoke library
 
// -- -----------
// Setup
// -- -----------
void setup() {
Serial.begin(9600);
 
tft.init(); // init TFT
tft.setRotation(1); // init TFT
initTFT(); // init TFT
 
pinMode(WATER, INPUT); // déclarer la broche comme entrée
pinMode(RED, INPUT); // déclarer la broche comme entrée
pinMode(R_PUMP, OUTPUT); // déclarer la broche comme sortie
pinMode(W_PUMP, OUTPUT); // déclarer la broche comme sortie
 
digitalWrite(R_PUMP, HIGH); // initial value
digitalWrite(W_PUMP, HIGH); // initial value
 
}
 
// -- -----------
// Loop
// -- -----------
void loop() {
waterState = digitalRead(WATER); // init GO
redState = digitalRead(RED); // init RED
potValue = analogRead(POT); // read POT value
 
delay(1000); // tempo
if ( redState == LOW and waterState == LOW ) { // no buttton pushed
blocked = false;
 
}
 
// * -- -----
// * 1. RED
// * -- -----
if ( redState == HIGH and not blocked) { // RED pressed
tempo = map( potValue, 0, TEMPO_POT_MAX, TEMPO_RED_MIN, TEMPO_RED_MAX); // pump tempo
tft.fillScreen(TFT_RED); // does not work
 
// pump RED
Serial.println("");
Serial.println("Pump ON for RED");
digitalWrite(R_PUMP, LOW);
digitalWrite(R_PUMP, HIGH);
 
// pump WATER
tempo = TEMPO_WATER_MAX - tempo;
Serial.println("Pump ON for WATER");
digitalWrite(W_PUMP, LOW);
delay( tempo ); // Pump WATER
digitalWrite(W_PUMP, HIGH);
blocked = true;
 
} else { // RED not pressed
// * -- -----
// * 2. WATER
// * -- -----
digitalWrite(R_PUMP, HIGH);
tft.fillScreen(TFT_BLUE); // does not work
if ( waterState == HIGH and not blocked ) { // WATER pressed
// pump WATER
tempo = TEMPO_WATER_MAX;
Serial.println("");
Serial.println("Pump ON for WATER");
digitalWrite(W_PUMP, LOW);
delay( tempo ); //
digitalWrite(W_PUMP, HIGH);
blocked = true;
 
} else { // RED and WATER not pressed
// * -- -----
// * 3. WAIT
// * -- -----
Serial.print(".");
 
}
}
}
 
// -- -----------
// Init TFT
// -- -----------
void initTFT() {
// background
tft.fillScreen(TFT_BLACK);
 
// test header
tft.setCursor(0, 0);
tft.setTextSize(2);
tft.setTextColor(TFT_GREEN, TFT_BLACK);
tft.println("Syrup Machine");
tft.println("Welcome !!");
tft.println("");
tft.println("Make a choice");
 
// text body
tft.setTextColor(TFT_RED, TFT_BLACK);
tft.println(" BLUE button");
tft.setTextColor(TFT_BLUE, TFT_BLACK);
tft.println(" RED button");
 
}
 
 

4단계: 최종 조립

아래 단계를 따르십시오.

  1. 펌프, Arduino 및 버튼을 3D 프린팅 본체에 설치합니다.
  2. 저장소의 튜브를 펌프에 연결한 다음 출력 스파우트에 연결합니다.
  3. 필요에 따라 나사나 접착제를 사용하여 모든 구성 요소를 고정합니다.
  4. 누출을 테스트하고 모든 연결이 단단히 조여져 있는지 확인하십시오.

5단계: 테스트 및 교정

시도하고 조정하십시오 :

  1. 물과 시럽 저장통을 채우십시오.
  2. 기기의 전원을 켭니다.
  3. 버튼을 테스트하여 시럽 강도를 조정하고 출력을 관찰하십시오.
  4. 타이밍이나 유속을 조정하기 위해 필요한 경우 프로그램을 미세 조정하십시오.

축하합니다! 당신은 당신 자신의 시럽 디스펜서 기계를 만들었습니다. 완벽하게 혼합된 음료를 만드는 것을 즐기십시오!

 

6. 마무리

모든 테스트를 마친 후, 디스펜서를 최종 조립합니다. 디자인이 완성된 기계는 물 또는 물-시럽 혼합물을 자동으로 분배하며, 버튼을 통해 시럽의 강도를 조절할 수 있습니다.

이렇게 맞춤형 시럽 디스펜서 기계를 만들 수 있습니다. 시작해보세요! 😊

728x90
반응형

댓글