Está en la página 1de 18

INSTITUTO SUPERIOR TECNOLÓGICO LIBERTAD

TENCOLOGÍA SUPERIOR EN MANTENIMIENTO ELECTRICO Y CONTROL


INDUSTRIAL

DISPENSADORA DE SNACKS
(VENDING MACHINE)

JIMMY ALEXANDER ESTRELLA VIVANCO


IVAN ALEXANDER SAANT ERAS

QUITO, 2019
Instituto Superior Tecnológico Libertad

ÍNDICE

1. INTRODUCCÍON .................................................................................................... 3

2. OBJETIVOS ........................................................................................................... 4

2.1.Objetivo General ............................................................................................ 4

2.2.Objetivos Específicos ...................................................................................... 4

3. MARCO TEORICO ................................................................................................. 5

3.1. Definición de dispensadora ........................................................................... 5

3.2. Especificaciones de construcción .................................................................. 6

3.3. Arduino Code ................................................................................................. 9

3.3.1. Código control luces RGB ............................................................... 9

3.3.2. Código del control principal .......................................................... 10

3.4. Diagrama de conexión .................................................................................. 12

3.5. Materiales y Elementos ............................................................................... 13

4. CONCLUSIONES ................................................................................................. 17

4.1. Conclusiones ............................................................................................... 17

4.2. Recomendaciones ........................................................................................ 17

5. BIBLIOGRAFÍA ................................................................................................... 18

2
Instituto Superior Tecnológico Libertad

1. INTRODUCCIÓN

En el presente proyecto se detallará el diseño y programación de una dispensadora de snacks,

la cual se controlará y funcionará por medio de microcontroladores (Arduino). La

dispensadora contara con una modificación poco vista que consta en la elevación de una

canasta cuya finalidad es recoger el producto siendo así un sistema más llamativo. El

funcionamiento del sistema es simple y complejo a la vez, al introducir la moneda podremos

escoger 4 opciones.

En la creación del proyecto hemos considerado el precio de una máquina expendedora el cual

oscila entre los $1.000 y $1.500 dólares, basándonos en lo dicho nos planteamos hacer una

maquina la cual no sobrepase los $ 500 dólares, proporcionando así un prototipo funcional y

estable.

3
Instituto Superior Tecnológico Libertad

2. OBJETIVOS

2.1. Objetivo General

Crear una dispensadora de snacks llamativa, planteando un sistema de

reconocimiento de moneda y dar cambio.

2.2. Objetivos Específicos

Diseñar un mecanismo que se acople al sistema electrónico, para que

dependiendo de este suministre la cantidad de snacks.

Programar el sistema partiendo de un microcontrolador.

4
Instituto Superior Tecnológico Libertad

3. MARCO TEÓRICO

3.1. Definición de dispensadora

Es una máquina que proporciona aperitivos, bebidas, golosinas y otros productos

a los consumidores. Se trata de vender sin la presencia de un dependiente para

cobrar los artículos. Periódicamente un empleado repone el producto y recoge el

dinero en forma de monedas o, menos habitualmente, billetes.

Máquina Expendedora

5
Instituto Superior Tecnológico Libertad

3.2. Especificaciones de Construcción

En la creación de la dispensadora de snacks hemos optado por utilizar MDF

decorativa color caramelo de 9 mm de espesor para la estructura.

MDF (color caramelo)

La estructura la diseñamos en el programa FUSION que es un software el cual

nos proporciona Auto Desk que nos permitió simular la construcción para

posteriormente cortar el material a utilizar. Una vez acabado de simular las

medidas que creímos adecuadas para la dispensadora fue un cubo exacto de 50

cm de largo, 50 cm de ancho y 50 cm de profundidad.

6
Instituto Superior Tecnológico Libertad

Diseño externo en Fusión de la dispensadora

7
Instituto Superior Tecnológico Libertad

Diseño interno en Fusión de la dispensadora

Para obtener o conocer más medidas específicas sobre el diseño se anexará en un CD a este

informe el archivo en que consta en diseño completo de la dispensadora donde se especifica

todas sus medidas.

8
Instituto Superior Tecnológico Libertad

3.3. Arduino Code

3.3.1. Código de control de luces RGB

#define REDPIN 11
#define GREENPIN 10
#define BLUEPIN 9

#define FADETIME 10

void setup() {
pinMode(REDPIN, OUTPUT);
pinMode(GREENPIN, OUTPUT);
pinMode(BLUEPIN, OUTPUT);
}

void loop() {
int r, g, b;
for (r = 0; r < 256; r++) {
analogWrite(REDPIN, r);
delay(FADETIME);
}
delay(1500);

for (b = 255; b > 0; b--) {


analogWrite(BLUEPIN, b);
delay(FADETIME);
}
delay(1500);

for (g = 0; g < 256; g++) {


analogWrite(GREENPIN, g);
delay(FADETIME);
}
delay(1500);

for (r = 255; r > 0; r--) {


analogWrite(REDPIN, r);
delay(FADETIME);
}
delay(1500);

for (b = 0; b < 256; b++) {


analogWrite(BLUEPIN, b);
delay(FADETIME);
}
delay(1500);

for (g = 255; g > 0; g--) {


analogWrite(GREENPIN, g);
delay(FADETIME);
}
}

9
Instituto Superior Tecnológico Libertad

3.3.2. Código del Control Principal


#include <LiquidCrystal_I2C.h> while (true) {
#include<Wire.h> if (digitalRead(DM) == LOW)
#include<Servo.h> break;
}
#define DM 9 lcd.setCursor(0,0);
#define p1 30 lcd.print(" Seleccione su ");
#define p2 31 lcd.setCursor(0,1);
#define p3 32 lcd.print(" Producto ");
#define p4 33 lcd.setCursor(0,2);
lcd.print(" 1 2 ");
int pulso; lcd.setCursor(0,3);
const int stepPin = 3; lcd.print(" 3 4 ");
const int dirPin = 2;

int a; while (true) {


if (digitalRead(p1) == LOW) {
LiquidCrystal_I2C lcd(0x27,20,4); pulso = 1;
Servo servo1, servo2, servo3, servo4; break;
}
void setup() { if (digitalRead(p2) == LOW) {
servo1.attach(4); pulso = 2;
servo2.attach(5); break;
servo3.attach(6); }
servo4.attach(7); if (digitalRead(p3) == LOW) {
pinMode(p1, INPUT_PULLUP); pulso = 3;
pinMode(p2, INPUT_PULLUP); break;
pinMode(p3, INPUT_PULLUP); }
pinMode(p4, INPUT_PULLUP); if (digitalRead(p4) == LOW) {
pinMode(stepPin,OUTPUT); pulso = 4;
pinMode(dirPin,OUTPUT); break;
lcd.init(); }
lcd.backlight(); }
lcd.clear();
lcd.setCursor(0,0); lcd.setCursor(0,0);
lcd.print(" Vending Machine "); lcd.print(" ---------------- ");
lcd.setCursor(0,1); lcd.setCursor(0,1);
lcd.print(" Mantenimiento "); lcd.print(" Espere un ");
lcd.setCursor(0,2); lcd.setCursor(0,2);
lcd.print(" Electrico y "); lcd.print(" momento... ");
lcd.setCursor(0,3); lcd.setCursor(0,3);
lcd.print(" Control Industrial "); lcd.print(" ---------------- ");
delay(4000);
}
void loop() { switch (pulso) {
lcd.setCursor(0,0); case 1:
lcd.print(" ---------------- "); arriba(5100);
lcd.setCursor(0,1); delay(300);
lcd.print(" INSERTE UN "); servo1.writeMicroseconds(2000);
lcd.setCursor(0,2); delay(950);
lcd.print(" DOLAR! "); servo1.writeMicroseconds(1500);
lcd.setCursor(0,3); delay(500);
lcd.print(" ---------------- "); abajo(2000);
break;
while (true) {
if (digitalRead(DM) == LOW) case 2:
break; arriba(5100);
} delay(300);
lcd.setCursor(0,0); servo2.writeMicroseconds(2000);10
lcd.print(" Seleccione su ") delay(950);
; servo2.writeMicroseconds(1500);
lcd.setCursor(0,1);
Instituto Superior Tecnológico Libertad

switch (pulso) {
case 1: void arriba (int steps) {
arriba(5100); digitalWrite(dirPin,HIGH);
delay(300); for(int x = 0; x < steps; x++){
servo1.writeMicroseconds(2000); digitalWrite(stepPin,HIGH);
delay(950); delayMicroseconds(500);
servo1.writeMicroseconds(1500); digitalWrite(stepPin,LOW);
delay(500); a=x;
abajo(2000); delayMicroseconds(500);
break; }
}
case 2:
arriba(5100); void abajo (int steps) {
delay(300); digitalWrite(dirPin,LOW);
servo2.writeMicroseconds(2000); for(int x = a ; x >0 ; x--){
delay(950); digitalWrite(stepPin,LOW);
servo2.writeMicroseconds(1500); delayMicroseconds(500);
delay(500); digitalWrite(stepPin,HIGH);
abajo(2000); delayMicroseconds(500);
break; }
}
case 3:
arriba(3000);
delay(300);
servo3.writeMicroseconds(2000);
delay(950);
servo3.writeMicroseconds(1500);
delay(500);
abajo(2000);
break;

case 4:
arriba(3000);
delay(300);
servo4.writeMicroseconds(2000);
delay(950);
servo4.writeMicroseconds(1500);
delay(500);
abajo(2000);
break;
}
lcd.setCursor(0,0);
lcd.print(" ---------------- ");
lcd.setCursor(0,1);
lcd.print(" !Entregado ");
lcd.setCursor(0,2);
lcd.print(" Gracias! ");
lcd.setCursor(0,3);
lcd.print(" ---------------- ");
delay(5000);
return;
}

void arriba (int steps) {


digitalWrite(dirPin,HIGH);
for(int x = 0; x < steps; x++){
digitalWrite(stepPin,HIGH);
delayMicroseconds(500);
digitalWrite(stepPin,LOW);
a=x; 11
delayMicroseconds(500);
}
}
Instituto Superior Tecnológico Libertad

3.4. Diagrama de conexión

Debido a las modificaciones hechas durante el proceso se quitó un motor paso

(NEMA 17) con su respectivo driver (A4988) al igual que los dos finales de

carrera y también el regulador de voltaje DC-DC, se reemplazó la pantalla

LCD 16X2 por una LCD 20X4.

12
Instituto Superior Tecnológico Libertad

3.5. Materiales y Elementos

 Interruptor Momentáneo 16mm Pulsador Metal

CARACTERISTICAS
Diámetro: 16mm.
Tipo de operación: Momentáneo.
Contacto del interruptor: NO.
Soporta : 3A / 250VAC.
Material: Acero inoxidable.
Temperatura de la operación: -20°C a 55°C

 Socket Terminal Power 10a 250vac

CARACTERISTICAS
Material: Plástico, metal.
Color: Rojo, tono plateado, tono plateado.
Tensión y corriente: 10A, 250 VAC.
Módulo de entrada interruptor de fusible macho
de potencia socket 10 a 250 V.

 Pantalla LCD 20x4 (con módulo I2C)

CARACTERISTICAS
Conector i2c para fáciles conexiones.
• 20 caracteres x 4 líneas.
• Back light de LED color azul.
• Caracteres color blanco.
• Voltaje de alimentación: 5 V

13
Instituto Superior Tecnológico Libertad

 Servo Motor Metálico Mg90s 360°

CARACTERISTICAS
• Voltaje de operación: 4.8 V a 6 V
• Angulo: 360°
• Velocidad de operación: 0.1 s/360º (4.8 V),
0.08 s/360º (6 V).
• Torque detenido: 1.8 kgf·cm (4.8 V ), 2.2
kgf·cm (6 V).

 Motor a paso NEMA 17

CARACTERISTICAS
Ángulo de paso 1.8 °
Número de fase 2
Masa 0.2 kg
Tensión nominal 12 V
Corriente nominal 0.4A
Resistencia por fase 300 ± 10%

 Driver A4988 Con Disipador Cnc

CARACTERISTICAS
Control simple de dirección y paso
Cinco diferentes resoluciones de paso: full-step,
half-step, quarter-step, eighth-step, y sixteenth-
step.

14
Instituto Superior Tecnológico Libertad

 Arduino Mega 2560 y Arduino Uno

CARACTERISTICAS
Microcontrolador: ATmega328.
Voltaje Operativo: 5v.
Voltaje de Entrada: 7 – 12 v.
Pines de Entradas/Salidas Digital: 14 (De las
cuales 6 son salidas PWM)
Pines de Entradas Análogas: 6.

 Módulo Sensor Infrarrojo

CARACTERISTICAS
• Ángulo de cobertura: 35 °
• Voltaje de funcionamiento: 3.0V - 6.0V
• Rango de detección: 2 cm - 30 cm (ajustable
con el potenciómetro)
• Consumo actual:
a 3.3V: ~ 23 mA.
en 5.0V: ~ 43 mA.

Distribución de los pines


 Luces led RGB
1. VCC: 3.3V-5V
2. GND: pin de tierra o negativo.
3. OUT: salida digital.
CARACTERISTICAS
• 12 V.
• Adhesivo de 3M™.
• Tecnología LED de ahorro de energía.
• Flexible.
• Luz de color RGB: rojo, verde y azul ultra
brillante.

15
Instituto Superior Tecnológico Libertad

 Otros elementos y materiales

Cables Jumpers Transistores MOFSET 530

Transformador 120 a 12 v Fuente de poder (PC)

ProtoBoard Canaleta

16
Instituto Superior Tecnológico Libertad

4. CONCLUSIONES Y RECOMENDACIONES

4.1. Conclusiones

Tal como se expresó en los objetivos, el propósito de este proyecto crear un

sistema llamativo capaz de optimizar el costo de construcción. Dando a conocer

un prototipo estable y funcional al público.

Por otra parte, este proyecto nos lleva a tomar como referente la importancia de

conocer los distintos leguajes de programación y también distintos elementos de

automatización ya que estos dispositivos nos ofrecen una variedad muy amplia

de crear procesos en el cual el límite es nuestra mente.

4.2. Recomendaciones

Después de realizar las respectivas pruebas se recomienda que para tener un

mejor torque y estabilidad se optaría por utilizar un sistema de rodamientos

anclado a los ejes de subida y baja permitiendo así mejorar lo mencionado

anteriormente.

Crear y diseñar un sistema completo y funcional de reconocimiento de monedas,

así como también de dar cambio.

17
Instituto Superior Tecnológico Libertad

5. BIBLIOGRAFÍA

Higinio, H. (2015, 8 agosto). Control de Tiras de LED RGB con Arduino - PWM -

Teoría y Practica [Archivo de vídeo]. Recuperado 4 octubre, 2019, de

https://www.youtube.com/watch?v=LKVxxGBuww4&t=887s

A4988 Stepper Motor Driver Carrier. (2017, 16 mayo). Recuperado 4 octubre,

2019, de https://www.pololu.com/product/1182

Colaboradores de Wikipedia. (2019, 26 septiembre). Máquina expendedora -

Wikipedia, la enciclopedia libre. Recuperado 5 octubre, 2019, de

https://es.wikipedia.org/wiki/M%C3%A1quina_expendedora

ARDUINO, A. (s.f.). Arduino - Home. Recuperado 5 octubre, 2019, de

https://www.arduino.cc/

DESK, A. (s.f.). Autodesk | 3D Design, Engineering & Construction Software.

Recuperado 5 octubre, 2019, de https://www.autodesk.com/

Mgsystem Arduino - Otros - Mercado Libre Ecuador. (s.f.). Recuperado 5 octubre,

2019, de https://electronica.mercadolibre.com.ec/otros/mgsystem-arduino

18

También podría gustarte