Está en la página 1de 7

UNIVERSIDAD MICHOACANA DE

SAN NICOLAS DE HIDALGO

FACULTAD DE INGENIERÍA MECÁNICA

Materia: Electrónica

Reporte de Elevador

Profesor: Ernesto Ceja Martínez

Alumnos:

Oliver Iglesias Mancebo del Castillo - 1628842B

Emiliano Olavarrieta Cervantes - 1628470H

Axel Adair Rodríguez Gutiérrez – 1630493X

Sección: 401
Problemática
Este proyecto trata sobre la realización de un elevador funcional, controlado a
través de Arduino, se tienen tres pisos y el elevador tiene que hacer una parada
en el piso al cual se haya llamado.

Componentes
Nombre Función Imagen

Arduino UNO Es una placa de


microcontrolador de código
abierto basado en el microchip
ATmega328P y desarrollado por
Arduino. La placa tiene 14 pines
digitales, 6 pines analógicos y
programables con el Arduino
IDE

Driver L298 El driver puente H L298N es el


módulo más utilizado para
manejar motores DC de hasta 2
amperios. El chip L298N
internamente posee dos puentes
H completos que permiten
controlar 2 motores DC o un
motor paso a paso
bipolar/unipolar.

Motor Al energizarlo, es lo que hace


posible levantar el elevador, con
el giro de un eje.

Sensor CNY70 El dispositivo CNY70 es un


sensor óptico infrarrojo, de un
rango de corto alcance que se
utiliza para detectar colores de
objetos y superficies. Más
específicamente el blanco
Sensor ky-003 es un módulo que integra un
sensor magnético con salida
digital. Permite detectar de
forma fácil, rápida y precisa
campos magnéticos producidos
cerca de sensor.

Botón Un pulsador o interruptor, es un


dispositivo simple con dos
posiciones, ON y OFF, un
ejemplo es el interruptor de la
luz.

Código
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd (0x27, 2, 1, 0, 4, 5, 6, 7);

int PULSADOR3 = 5;
int cny3=8;
int valorCNY3 = 0;
int LEDUP = 3;

int PULSADOR2= 6;
int SENSOR;
int estaUP2 = HIGH;
int estaDOWN2 = HIGH;

int PULSADOR1 = 7;
int cny1=10;
int valorCNY1 = 0;
int LEDDOWN = 11;
int ENA= 9;

int estaUP = HIGH;


int estaDOWN = HIGH;

void setup (){


pinMode(PULSADOR3, INPUT);
pinMode(cny3,INPUT);
pinMode(LEDUP, OUTPUT);

pinMode(PULSADOR1, INPUT);
pinMode(cny1,INPUT);
pinMode(LEDDOWN, OUTPUT);

pinMode(PULSADOR2, INPUT);
lcd.begin(0,0);
lcd.clear();

Serial.begin(9600);

void loop(){
estaUP = digitalRead(PULSADOR3);
estaDOWN = digitalRead(PULSADOR1);
estaUP2 = digitalRead(PULSADOR2);
estaDOWN2 = digitalRead(PULSADOR2);

valorCNY3=digitalRead(cny3);
Serial.print("valorCNY3 ");
Serial.println(valorCNY3);
SENSOR = analogRead(A0);
Serial.println(SENSOR);
valorCNY1=digitalRead(cny1);
Serial.print("valorCNY1 ");
Serial.println(valorCNY1);

// SE OPRIMIO EL BOTON DE ENCENDIDO?


// HACEMOS DOBLE COMPROBACION DEL ESTADO DEL BOTÓN
if (estaUP == LOW) {
// ESPERAMOS ANTES DE COMPROBAR NUEVAMENTE
delay(50);
if (estaUP == LOW ) {
digitalWrite(LEDUP, HIGH);
digitalWrite(LEDDOWN, LOW);
analogWrite(ENA, 130);
lcd.setCursor (0,0);
lcd.print("Subiendo ");

}
}
if (digitalRead(cny3)== 1) {
digitalWrite(LEDUP, LOW);
lcd.setCursor (0,0);
lcd.print("piso 3 ");
}

if (estaDOWN == LOW) {
// ESPERAMOS ANTES DE COMPROBAR NUEVAMENTE
delay(50);
if (estaDOWN == LOW) {
// ENTONCES APAGAMOS EL LED
digitalWrite(LEDDOWN, HIGH);
digitalWrite(LEDUP, LOW);
analogWrite(ENA, 130);
lcd.setCursor (0,0);
lcd.print("Bajando ");

}
}
if (digitalRead(cny1)== 1) {
digitalWrite(LEDDOWN, LOW);
lcd.setCursor (0,0);
lcd.print("piso 1 ");
}

if (estaUP2 == LOW && digitalRead(cny1)== 1) {


// ESPERAMOS ANTES DE COMPROBAR NUEVAMENTE
delay(50);
if (estaUP2 == LOW ) {
digitalWrite(LEDUP, HIGH);
digitalWrite(LEDDOWN, LOW);
analogWrite(ENA, 130);
lcd.setCursor (0,0);
lcd.print("Subiendo ");
}
}

if (analogRead(SENSOR)< 80) {
digitalWrite(LEDUP, LOW);
lcd.setCursor (0,0);
lcd.print("piso 2 ");
}
if (estaDOWN2 == LOW && digitalRead(cny3)== 1) {
// ESPERAMOS ANTES DE COMPROBAR NUEVAMENTE
delay(50);
if (estaDOWN2 == LOW) {
// ENTONCES APAGAMOS EL LED
digitalWrite(LEDDOWN, HIGH);
digitalWrite(LEDUP, LOW);
analogWrite(ENA, 130);
lcd.setCursor (0,0);
lcd.print("Bajando ");
}
}
if (analogRead(SENSOR)< 80) {
digitalWrite(LEDDOWN, LOW);
lcd.setCursor (0,0);
lcd.print("piso 2 ");
}

}
Estructura
Conclusiones
Al realizar este proyecto aprendimos a hacer uso del Arduino, aprendimos lo útil y
versátil que puede ser, anqué fue un reto y muchas veces quedó mal,
eventualmente pudimos realizarlo satisfactoriamente, con la ayuda de los
conocimientos que se han impartido a lo largo de nuestra carre, y claro al contar
con la ayuda del internet, salió bien, pero aún hay mucho espacio para mejorar.

También podría gustarte