Вы находитесь на странице: 1из 17

Componente Practico.

Curso Microcontroladores y Microprocesadores “309696ª”

Grupo 20

Presentado Por:

Frank Johan Ramírez García

C.C 1.117.532.340

Presentado A:

Tutor e Ing. Danish Padilla.

Universidad Nacional Abierta y a Distancia – UNAD.

Escuela de Ciencias Básicas, Tecnologías e Ingenierías – ECBTI.

Programa de Ingeniería en Telecomunicaciones.

Cead Florencia.

Año 2019.
Introducción.

A continuación, se encontrará la realización del componente practico del curso microprocesadores


y microcontroladores, detallando practica a practica el proceso realizado.
Objetivos.

 Identificar y analizar las principales familias .de microprocesadores y Microcontroladores y


sus aplicaciones.
 Analizar y aplicar los principios de diseño de algoritmos, programación y desarrollo de
soluciones con microprocesadores y microcontroladores.
 Conocer y analizar las características funcionales y aplicaciones de cada tipo de
microprocesador.
Actividades a Desarrollar.

Práctica 1: Diseño e implementación de dos soluciones con Microcontroladores PIC16F84A o


PIC16F628.

Encendido y apagado de 3 LEDS (Rojo, verde, amarillo) que hagan la secuencia de un semáforo
enciende el led rojo 3 segundos, al segundo dos del led rojo se enciende el amarillo se pagan el led
rojo y amarillo al tiempo y se enciende el led verde por 4 segundos y se reinicia la secuencia.

Práctica 2: Diseño e implementación de 2 circuitos en microcontroladores utilizando el


PIC16F877A o PIC16F84A.

Programa 1: Sensar la humedad y temperatura del ambiente con el sensor dth11, monitorizando
las dos variables y visualizándolas en un display 16 x2 y si la temperatura está menor o igual de 15
grados el led verde se encenderá, si la temperatura esta entre los 20 y 28 grados se encenderá un
led amarillo, y si supera los 30 grados el led rojo se prendera y debe dar una alarma constante y
prenderse el ventilador hasta que baje la temperatura menor o igual a 20 grados. En el display se
debe visualizar el valor de la temperatura y la activación de motor como MOTOR ON o MOTOR OFF.
Debe sensar a todo momento la humedad del ambiente al pasar por el 60% se debe activar un motor
ventilador y se debe apagar cuando esta baje a menos de 50%.

Programa 2: Se debe diseñar un contador utilizando 3 displays de 7 segmentos (El grupo escoge si
es de ánodo o cátodo común), para presentar el valor desde 0.00 hasta 9.99 cada número del reloj
es un display de 7 segmentos, cada LED será la salida del Microcontrolador PIC16F84A (Solo se
puede utilizar un PIC).

Práctica 3: Diseño e implementación de 1 circuito en microcontroladores utilizando el Arduino


Uno, Nano o Leonardo.

Diseño de un robot controlado por bluetooth (pueden utilizar como bluetooth transmisor el celular
de uno de los compañeros) de 4 motores de 5v DC para realizar cambios de giro y evasión de
obstáculos, regulador de lm7805, sistema de accionamiento de motores por transistores, tiristores
(libre a implementar) y conector de batería de 9vdc. Debe simularse en proteus y desarrollarse en
laboratorio de componente práctico.
Desarrollo de las Actividades.

Práctica 1: Diseño e implementación de dos soluciones con Microcontroladores PIC16F84A o


PIC16F628.
Práctica 2: Diseño e implementación de 2 circuitos en microcontroladores utilizando el
PIC16F877A o PIC16F84A.

Programa 1: Sensar la humedad y temperatura del ambiente con el sensor dth11, monitorizando
las dos variables y visualizándolas en un display 16 x2 y si la temperatura está menor o igual de 15
grados el led verde se encenderá, si la temperatura esta entre los 20 y 28 grados se encenderá un
led amarillo, y si supera los 30 grados el led rojo se prendera y debe dar una alarma constante y
prenderse el ventilador hasta que baje la temperatura menor o igual a 20 grados. En el display se
debe visualizar el valor de la temperatura y la activación de motor como MOTOR ON o MOTOR OFF.
Debe sensar a todo momento la humedad del ambiente al pasar por el 60% se debe activar un motor
ventilador y se debe apagar cuando esta baje a menos de 50%.
Programa 2: Se debe diseñar un contador utilizando 3 displays de 7 segmentos (El grupo escoge si
es de ánodo o cátodo común), para presentar el valor desde 0.00 hasta 9.99 cada número del reloj
es un display de 7 segmentos, cada LED será la salida del Microcontrolador PIC16F84A (Solo se
puede utilizar un PIC).
Práctica 3: Diseño e implementación de 1 circuito en microcontroladores utilizando el Arduino
Uno, Nano o Leonardo.

Materiales Necesarios.

Arduino: Es una plataforma de creación de electrónica de código abierto, la cual está basada en
hardware y software libre, flexible y fácil de utilizar para los creadores y desarrolladores. Esta
plataforma permite crear diferentes tipos de microordenadores de una sola placa a los que la
comunidad de creadores puede darles diferentes tipos de uso.

Los módulos de bluetooth HC-05 y HC-06 son módulos muy populares para aplicaciones
con microcontroladores PIC y Arduino. Se trata de dispositivos relativamente
económicos y que habitualmente se venden en un formato que permite insertarlos en un
protoboard y cablearlo directamente a cualquier microcontrolador, incluso sin realizar
soldaduras. En esta entrada del blog vamos a explicar un poco del funcionamiento de estos
módulos y como configurarlos. También abordaremos las diferencias entre el HC-05 y el
HC-06.
Un Puente en H es un circuito electrónico que generalmente se usa para permitir a un motor
eléctrico DC girar en ambos sentidos, avance y retroceso. Son ampliamente usados en robótica y
como convertidores de potencia. Los puentes H están disponibles como circuitos integrados, pero
también pueden construirse a partir de componentes discretos.

El motor de corriente continua, denominado también motor de corriente directa, motor CC o motor
DC (por las iniciales en inglés direct current), es una máquina que convierte energía eléctrica en
mecánica, provocando un movimiento rotatorio, gracias a la acción de un campo magnético.
Chasis y rueda loca.

Conexiones.
Test de movimiento.

//Pines de conexión del driver


int Pin_Motor_Der_A = 8;
int Pin_Motor_Der_B = 9;
int Pin_Motor_Izq_A = 10;
int Pin_Motor_Izq_B = 11;

void setup() {
// inicializar la comunicación serial a 9600 bits por segundo:
Serial.begin(9600);
// configuramos los pines como salida
pinMode(Pin_Motor_Der_A, OUTPUT);
pinMode(Pin_Motor_Der_B, OUTPUT);
pinMode(Pin_Motor_Izq_A, OUTPUT);
pinMode(Pin_Motor_Izq_B, OUTPUT);
}

void loop() {
//movemos el robot hacia delante por 2 segundos
Mover_Adelante();
delay(2000);
//movemos el motor a la derecha por 2 segundos
Mover_Derecha();
delay(2000);

void Mover_Adelante()
{
digitalWrite (Pin_Motor_Der_A, HIGH);
digitalWrite (Pin_Motor_Der_B, LOW);
digitalWrite (Pin_Motor_Izq_A, HIGH);
digitalWrite (Pin_Motor_Izq_B, LOW);
}
void Mover_Retroceso()
{
digitalWrite (Pin_Motor_Der_A,LOW );
digitalWrite (Pin_Motor_Der_B,HIGH );
digitalWrite (Pin_Motor_Izq_A,LOW );
digitalWrite (Pin_Motor_Izq_B,HIGH );
}
void Mover_Derecha()
{
digitalWrite (Pin_Motor_Der_A,LOW );
digitalWrite (Pin_Motor_Der_B,HIGH );
digitalWrite (Pin_Motor_Izq_A,HIGH);
digitalWrite (Pin_Motor_Izq_B,LOW);
}
void Mover_Izquierda()
{
digitalWrite (Pin_Motor_Der_A,HIGH);
digitalWrite (Pin_Motor_Der_B,LOW);
digitalWrite (Pin_Motor_Izq_A,LOW );
digitalWrite (Pin_Motor_Izq_B,HIGH );
}
void Mover_Stop()
{
digitalWrite (Pin_Motor_Der_A, LOW);
digitalWrite (Pin_Motor_Der_B, LOW);
digitalWrite (Pin_Motor_Izq_A, LOW);
digitalWrite (Pin_Motor_Izq_B, LOW);
}

Programa a cargar

//Pines de conexión del driver


int Pin_Motor_Der_A = 8;
int Pin_Motor_Der_B = 9;
int Pin_Motor_Izq_A = 10;
int Pin_Motor_Izq_B = 11;

int tiempo=0;
void setup() {
// inicializar la comunicación serial a 9600 bits por segundo:
Serial.begin(9600);
// configuramos los pines como salida
pinMode(Pin_Motor_Der_A, OUTPUT);
pinMode(Pin_Motor_Der_B, OUTPUT);
pinMode(Pin_Motor_Izq_A, OUTPUT);
pinMode(Pin_Motor_Izq_B, OUTPUT);

void loop() {

if (Serial.available()) {
char dato= Serial.read();
if(dato=='a')
{
Mover_Adelante();
tiempo=0;
}
else if(dato=='r')
{
Mover_Retroceso();
tiempo=0;
}
else if(dato=='d')
{
Mover_Derecha();
tiempo=0;
}
else if(dato=='i')
{
Mover_Izquierda();
tiempo=0;
}

if(tiempo<200) // 100 cilcos de 1ms


{
tiempo=tiempo+1;
}
else //ya transcurrió 100ms (100ciclos)
{
Mover_Stop();
}

delay(1); //pasusa de 1ms por ciclo

void Mover_Adelante()
{
digitalWrite (Pin_Motor_Der_A, HIGH);
digitalWrite (Pin_Motor_Der_B, LOW);
digitalWrite (Pin_Motor_Izq_A, HIGH);
digitalWrite (Pin_Motor_Izq_B, LOW);
}
void Mover_Retroceso()
{
digitalWrite (Pin_Motor_Der_A,LOW );
digitalWrite (Pin_Motor_Der_B,HIGH );
digitalWrite (Pin_Motor_Izq_A,LOW );
digitalWrite (Pin_Motor_Izq_B,HIGH );
}
void Mover_Derecha()
{
digitalWrite (Pin_Motor_Der_A,LOW );
digitalWrite (Pin_Motor_Der_B,HIGH );
digitalWrite (Pin_Motor_Izq_A,HIGH);
digitalWrite (Pin_Motor_Izq_B,LOW);
}
void Mover_Izquierda()
{
digitalWrite (Pin_Motor_Der_A,HIGH);
digitalWrite (Pin_Motor_Der_B,LOW);
digitalWrite (Pin_Motor_Izq_A,LOW );
digitalWrite (Pin_Motor_Izq_B,HIGH );
}
void Mover_Stop()
{
digitalWrite (Pin_Motor_Der_A, LOW);
digitalWrite (Pin_Motor_Der_B, LOW);
digitalWrite (Pin_Motor_Izq_A, LOW);
digitalWrite (Pin_Motor_Izq_B, LOW);
}
Referencias Bibliográficas

https://www.xataka.com/basics/que-arduino-como-funciona-que-puedes-hacer-uno.

https://www.geekfactory.mx/tutoriales/bluetooth-hc-05-y-hc-06-tutorial-de-configuracion/

https://es.wikipedia.org/wiki/Puente_H_(electr%C3%B3nica)

https://es.wikipedia.org/wiki/Motor_de_corriente_continua

Вам также может понравиться