Documente Academic
Documente Profesional
Documente Cultură
MICROPROCESADORES
SPTIMO A
PRCTICA No. 3
TEMA:
Implementacin de los circuitos con teclado, lcd y sensores
INTEGRANTES:
Chiliquinga Cristian
Miranda Jessica
Quintana Galo
DOCENTE:
Ing. Edgar Patricio Crdova Crdova
AMBATO - ECUADOR
I. TEMA
a. Objetivo General
b. Objetivos Especficos
III. DESARROLLO
DESCRIPCIN
Adems colocar leds indicadores que permitan identificar si el motor esta encendido en
giro horario o anti horario.
#include <LiquidCrystal.h> Librera para la pantalla LCD
LiquidCrystal lcd(13, 12, 11, 10, 9, 8); Declaracin de pines para el LCD
byte letra[8] = { B01110, B01010, B01110, B10101, B11111, B00100, B01010, B01001 }; declaracin de bytes
byte letra2[8] = { B01110, B01010, B01110, B10101, B01110, B00100, B01010, B10001 }; para la creacin
byte letra3[8] = { B01110, B01010, B01110, B00000, B00000, B00000, B00000, B00000 }; de caracteres
lcd.createChar(1, letra2);
lcd.setCursor(11, 0); Visualizacin de la portada en el LCD
lcd.write(byte(1));
lcd.setCursor(4, 0);
lcd.print("U.T.A.");
lcd.setCursor(1, 1);
lcd.print("Temperatura");
delay (3000);
lcd.clear(); Instruccin para limpiar LCD
}
void loop()
{
valor = analogRead(A0); Lectura del voltaje entrante del LM35
delay(1000);
temperatura = valor / 9.3; Clculo de la Temperatura
if(digitalRead(2)==HIGH){
digitalWrite(3,HIGH);
digitalWrite(4,LOW); Giro Izquierda (indicadores)
lcd.setCursor(0, 0);
lcd.print("ON: Giro izquierda ");
}
if(digitalRead(2)==LOW){
digitalWrite(4,HIGH);
digitalWrite(3,LOW); Giro Derecha (indicadores)
lcd.setCursor(0, 0);
lcd.print("ON: Giro derecha ");
}
}else{
lcd.setCursor(0, 0); Condicin para el apagado del motor
lcd.print("Sistema apagado ");
digitalWrite(4,LOW);
digitalWrite(3,LOW);
digitalWrite(1,LOW);
}
lcd.setCursor(0, 1);
lcd.print("Temp=" ); Visualizacin de mensajes en el LCD donde se visualiza
lcd.print(temperatura); la Temperatura.
lcd.createChar(3, letra3);
lcd.setCursor(10, 1);
lcd.write(byte(3));
lcd.print("C" );
}
2. ULTRASONICO CON ARDUINO
#include <LiquidCrystal.h>
LiquidCrystal lcd(7,6,2,3,4,5);
long tiempo=0;
long distancia=0;
int pinTrigger=15;
int pinEcho=14;
int der=8;
int izq=9;
int lder=10;
int lizq=11;
int on_off=12;
int giro=13;
void setup()
{
lcd.begin(16,2); //Inicializacion LCD
Serial.begin(9600);
pinMode(pinEcho,INPUT); // Configuracin del pin 6 como entrada
pinMode(pinTrigger,OUTPUT); //Configuracin del pin 7 como salida
pinMode(der, OUTPUT);
pinMode(izq, OUTPUT);
pinMode(lder, OUTPUT);
pinMode(lizq, OUTPUT);
pinMode(on_off, OUTPUT);
pinMode(giro, INPUT);
}
void loop()
{
lcd.clear(); //Se borra o se limpia la pantalla del LCD
digitalWrite(pinTrigger,LOW); //Se asegura un cero en el pin que se va a utilizar como Trigger
delayMicroseconds(10);//Restardo de 5 microsegundo
digitalWrite(pinTrigger,HIGH); //Se establece en alto el pin del trigger para comenzar el pulso de
inicio del sensor
delayMicroseconds(5); //retardo de 10 microsegundos (tiempo minimo para inicializar el trigger
del sensor)
digitalWrite(pinTrigger,LOW);//Se establece en bajo el pin del Trigger para terminar el pulso de
inicio del sensor
tiempo=pulseIn(pinEcho,HIGH);//Se inicia la funcin pulseIn para que mida el tiempo del pulso
generado por el Echo del sensor
distancia=tiempo*0.0343/2; //Calculo de distancia a la cual se encuentra el objeto
//Impresin en el LCD
lcd.setCursor(2,0); // Se ubica el cursor en la columna 0 y fila 0 del LCD
lcd.print("ULTRASONICO");// Se imprime el texto Volt. con Arduino
lcd.setCursor(0,1); // Se ubica el cursor en la columna 0 y fila 1 del LCD
lcd.print("OFF dist= "); // Se imprime el texto Volt=
lcd.setCursor(10,1); // Se ubica el cursor en la columna 0 y fila 1 del LCD
lcd.print(distancia); // Se imprime el texto Volt=
lcd.setCursor(12,1); // Se ubica el cursor en la columna 0 y fila 1 del LCD
lcd.print("Cm"); // Se imprime el texto Volt=
Serial.println(distancia);
if((distancia)>=5)
{
lcd.clear();
lcd.setCursor(2,0); // Se ubica el cursor en la columna 0 y fila 0 del LCD
lcd.print("ULTRASONICO");// Se imprime el texto Volt. con Arduino
lcd.setCursor(0,1); // Se ubica el cursor en la columna 0 y fila 1 del LCD
lcd.print("ON dist= "); // Se imprime el texto Volt=
lcd.setCursor(10,1); // Se ubica el cursor en la columna 0 y fila 1 del LCD
lcd.print(distancia); // Se imprime el texto Volt=
lcd.setCursor(11,1); // Se ubica el cursor en la columna 0 y fila 1 del LCD
lcd.print("Cm"); // Se imprime el texto Volt=
digitalWrite(on_off,HIGH);
if(digitalRead(giro)==HIGH)
{
digitalWrite(der,1);
digitalWrite(lder,1);
digitalWrite(izq,0);
digitalWrite(lizq,0);
lcd.setCursor(14,1); // Se ubica el cursor en la columna 0 y fila 1 del LCD
lcd.print("DERCH"); // Se imprime el texto Volt=
}
else
{
digitalWrite(der,0);
digitalWrite(lder,0);
digitalWrite(izq,1);
digitalWrite(lizq,1);
lcd.setCursor(14,1); // Se ubica el cursor en la columna 0 y fila 1 del LCD
lcd.print("IZQ"); // Se imprime el texto Volt=
}
}
else
{
digitalWrite(on_off,0);
digitalWrite(der,0);
digitalWrite(lder,0);
digitalWrite(izq,0);
digitalWrite(lizq,0);
}
delay(200);
}
3. TECLADO Y PANTALLA LCD
lcd.begin(16,2);
}
void loop()
{
lcd.setCursor(0,1);
lcd.print("TECLADO MATRICIAL");
char key = tecla.getKey();
lcd.setCursor(8,0);
lcd.print(key);
}
MATERIALES Y EQUIPOS
V. ANLISIS DE RESULTADOS
a. Resultados esperados:
Se estima que al implementar de manera fsica el circuito cumpla con el control establecido a
travs de la programacin. Con el pulsador P0 al primer pulso se encienda el motor y con otro
pulso el motor se apague. Cuando el motor se encuentre encendido, con el pulsador P1 en
estado 1 lgico gire en sentido horario y en estado 0 lgico el motor gire en sentido anti
horario.
b. Resultados obtenidos:
El funcionamiento del circuito implementado en Proteus es ptimo y cumple con los
requerimientos especificados.
Los indicadores del estado actual del motor permiten tener una mejor apreciacin del
funcionamiento del sistema.
El diagrama realizado con los elementos electrnicos reales permite tener una mejor
comprensin de cmo se debera implementar el circuito de forma fsica.
El funcionamiento fsico del circuito es el adecuado de acuerdo con las condiciones
establecidas.
VI. CONCLUSIONES
Se dise el circuito para el control de activacin y cambio de giro de un
motor DC a travs del Software Proteus.
Se logr desarrollar un cdigo de programacin en Arduino IDE y S4A que
permita hacer el control de un motor DC mediante el uso de instrucciones
bsicas en el entorno de programacin.
Se implement virtualmente el circuito dando como resultado el correcto
funcionamiento del motor controlado a travs de pulsadores utilizando
Arduino UNO.