Está en la página 1de 3

UNIVERSIDAD AUTÓNOMA AGRARIA ANTONIO NARRO Examen parcial 2 – Automatización

Nombre:_________ISAAC CRUZ ALVAREZ______ _ Fecha:__17/11/2021______ Considera una


tapadora-enroscadora automática de botellas, similar a la que se muestra en la figura. La cual
consta de una banda transportadora accionada por un motor de CD. Existen dos fotoceldas
(fotoresistencia con una fuente de luz asociada, los valores de umbral pueden ser elegidos por el
programador), cuando la No. 1 detecta la presencia de una botella, el movimiento de la banda
comienza a desacelerar (la aceleración y desaceleración es importante para no tirar las botellas
y/o derramar su contenido) hasta detenerse completamente exactamente cuando la segunda
fotocelda detecta la botella. Con esta acción la botella que fue detectada se posiciona
exactamente justo debajo de la enroscadora. En ese momento un motor hace que la enroscadora
baje una distancia correspondiente con la altura de la botella. Lo anterior se realiza a través de un
mecanismo de tornillo sin fin, el cual por cada vuelta que da el motor, mueve (baja o sube) a la
enroscadora 5 mm (este movimiento debe ser lo más preciso posible). Posteriormente otro motor
gira la taparosca 120° para cerrar firmemente la botella. Como interfaz de usuario se tienen 2
pulsadores: uno para comenzar el proceso y otro para detenerlo. Además de una pantalla que
despliega información acerca del estado del proceso. Por último un interruptor retentivo es usado
como paro de emergencia. Realiza un programa en Arduino para el control de todo el sistema de
automatización que tenga la siguiente función: cuando se presione el pulsador correspondiente
con el inicio del proceso, se realizará la secuencia de movimientos anteriormente descrita para
enroscar las taparoscas a las botellas (el movimiento inicial de la banda debe ser de forma gradual
hasta llegar a su velocidad máxima). Para hacer el proceso de manera continua considera que una
vez que una taparosca fue ajustada, los movimientos se deben hacer en forma inversa para
continuar el proceso con la siguiente botella, esto es, subir la enroscadora a su posición original y
comenzar a acelerar la banda hasta la velocidad normal de operación. Por su parte, cuando se
presiona el botón para detener el proceso, todos los movimientos se detienen, sin embargo si la
banda se encuentra en movimiento, ésta se debe detener de forma gradual, osea desacelerando
hasta detenerse por completo, además los demás mecanismos tienen que regresar a su posición
original. Por otro lado, si el botón de paro de emergencia se presiona, todos los movimientos se
detienen inmediatamente. Por último, en la pantalla se deberá desplegar un mensaje que indique
el estado del proceso, esto es: “banda avanzando”, “enroscadora bajando”, “enroscado
completo”, “enroscadora
subiendo”, “paro de
emergencia activado”, etc.
Nota: Elige el motor
adecuado para cada
movimiento.
#define Persona1 5

#define Persona2 6

#include <Servo.h>

Servo motor;

int LDRpin = A0;

int LED = 2;

void setup() {

Serial.begin(115200);

pinMode(LED, OUTPUT);

motor.attach(8);

pinMode(Persona1, INPUT_PULLUP);

pinMode(Persona2, INPUT_PULLUP);

void loop() {

int valor = analogRead(LDRpin);

Serial.print("valor:");

Serial.println(valor);

if (valor < 800) {

digitalWrite(LED, LOW);

else if (valor > 980) {

digitalWrite(LED, HIGH);

delay(100);

if(digitalRead(Persona1) == LOW){
motor.write(120);

if(digitalRead(Persona2) == LOW){

motor.write(0);

}}}

También podría gustarte