ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Electronica gpb


Enviado por   •  8 de Junio de 2017  •  Documentos de Investigación  •  1.075 Palabras (5 Páginas)  •  212 Visitas

Página 1 de 5

 Instituto Tecnológico Superior de      la Región Sierra.[pic 1]

Ingeniería Electromecánica 6to “A”.

Proyecto:

Termostato con pic16f877a

Materia:

Micro controladores

Docente:

Ing. Gabriel Pérez Brindis

Alumno:

 Alejandro González Beltrán

Diagrama en proteus

[pic 2]

Aquí se muestra el diagrama del circuito en el que se muestra el LM35 como el sensor de temperatura, el pic16f877a como el corazón del circuito este es el que se encagara de leer la señal asi como de  activar otra.

Cuenta con un ULN2003 para controlar los reles y tres leds indicadores que nos darán el siguiente mensaje:

Led AMARI: Este dara la señal para activar el primer rele

Led VERDE: Dara la señal para q se apague el primer rele y encienda el segundo

Led ROJO: solo será para advertencia de que la señal en este caso del lm35 sobrepaso el limite ya establecido en el programa

Contará con una pantalla LCD de 16x2 que nos dirán la temperatura en tiempo real

Diagrama en la tabla fenólica

[pic 3]

Este es el que nos servirá para hacer el circuito impreso de nuestro termostato

Programación en PIC C COMPILER[pic 4]

#include <16F877A.h>      // se selecciona el pic a usar

#device ADC = 10

#fuses NOWDT,HS,NOPUT,NOPROTECT,NODEBUG,NOBROWNOUT,NOLVP,NOCPD,NOWRT

#use delay(clock=4000000)   // frecuencia del cristal de cuarzo

#define LCD_RW_PIN         pin_d1        // las siguientes son los pines con los que

#define LCD_RS_PIN         pin_d2         // se comunicara el pic y la pantalla

#define LCD_ENABLE_PIN     pin_d3

#define LCD_DATA4          pin_d4

#define LCD_DATA5          pin_d5

#define LCD_DATA6          pin_d6

#define LCD_DATA7          pin_d7

#include

#byte port_a=5

#byte port_b=6

void main()

{  

   lcd_init();

   printf(lcd_putc,"ELECTROMECANICA");    //se muestra el primer mensaje al encender

   float Temp;

   set_tris_b(0x1f);

   setup_adc_ports(AN0);

   setup_adc(ADC_CLOCK_DIV_32);

   set_adc_channel(0);

   port_b=0;

   

   while(true)

   {  set_adc_channel(0);

      delay_us(20);

      Temp=read_adc()*(0.48828125);  // seria la fórmula para mostrar la temperatura

      delay_ms(200);

      printf(lcd_putc,"\fTemperatura:\n  %f",Temp);  // da el mensaje y la temperatura                                                                                                                                                                                                                                        

...

Descargar como (para miembros actualizados) txt (4 Kb) pdf (724 Kb) docx (653 Kb)
Leer 4 páginas más »
Disponible sólo en Clubensayos.com