Saturday, October 22, 2016

Microcontroladores Unad 2016

ACTIVIDAD 2
TRABAJO INDIVIDUAL / COLABORATIVA

Luis A. Sanchez - Cód.: 16.786.134
Héctor Fabio Acevedo – Cód.:
Gonzalo Andrés Nino – Cód.:
Jorge Alexander Celades –Cód.: 
Carlos Arturo Cardona – Cód.: 18415051


Instructores:
Noel Jair Zambrano
Edgar Rodrigo Enríquez Rosero

Grupo Colaborativo: 
309696-21



Universidad Nacional Abierta y a Distancia – UNAD.
Programa: Ingeniería Electrónica
Cead: Palmira- Valle- Colombia
Octubre – 2016 

INTRODUCCION

El curso de Ingeniería de Microprocesadores y micro controladores de la Universidad UNAD en el segundo semestre académico del 2016, es relevante como propósito fundamental la formación sólida del pensamiento científico – tecnológico manifestado en la capacidad para representar la información que contienen y de esta manera poder modelar matemáticamente un sistema con el fin de estudiarlo, aportar nuevo conocimiento y/o mejorar el conocimiento existente en los diversos campos de la ciencia.
Para lograr los fines de aprendizaje de toda la temática del curso, se debe desarrollar las actividades solicitadas de la estrategia, hacer aportes permanentes y asumir una mayor responsabilidad de su propio aprendizaje, así como aplicar las habilidades y conocimientos adquiridos en su formación. Las herramientas básicas de software para el análisis y diseño de sistemas. El curso ofrece simulaciones prácticas para la exploración a fondo de los conceptos analizados en la parte teórica. 

Diseño e implementación de tres soluciones con micro controladores Pic 16f84 o Pic16f628. Utilizando el programa Mplab IDE Versión 8.92 lenguaje asembler para la elaboración de los programas respectivos. Simulado en programa Proteus 7.9 o Versiones 8.0 en adelante.

OBJETIVOS 
Generales 
  • Realizar la guía de actividades de la unidad 1 que implica el Diseño e implementación de tres soluciones con micro controladores Pic 16f84 o Pic16f628.

Específicos
  • Encendido y apagado de un LED con intermitencia de aproximadamente 2 segundos
  • Encendido de un LED por acción sobre un pulsador se mantenga encendido y se apague por la acción de otro pulsador.
  • Implementación de al menos 8 secuencias diferentes sobre ocho (8) LEDs controladas en selección por dos pulsadores, uno para seleccionar la secuencia siguiente y otro para seleccionar la secuencia anterior 
  • Escoger una de las 5 Propuestas de tipo grupal para el desarrollo del proyecto final del curso de micro controladores que dé una solución a un problema industrial Las cuales deben investigar para su desarrollo: 1-Control de una caldera, 2-Sistema de control de triturado de roca, 3-Sistema de secamiento de arroz, 4- Control de un sistema de destilación, 5-sistema de control de tanques de crudo más bombeo. Donde implique el control realimentado de: -Mínimo 3 variables (temperatura, nivel, humedad, presión, flujo, peso, luz, sonido, vacío, variables eléctricas, etc.) El cual debe ser aprobado y socializado por todo el equipo en el informe del trabajo colaborativo N1) -Debe desarrollarse en lenguaje de alto nivel (sea lenguaje C o lenguaje Basic). Debe tener un sistema de indicación (display), -Debe tener un sistema de mandos (entradas) por código, swichs, pulsadores, etc. 
  • Debe tener un sistema de sensores asociados a las variables escogidas, mínimo (3)
  • Debe tener un sistema de actuadores (salidas) controlados por el Microcontrolador (bobinas, motores dc, servomotores, etc.) que cumplan la función de control.
  • Debe tener control de parada de emergencia.
  • Puede desarrollarse en sistema Microcontrolador Arduino o Microcontrolador Pic( 16f877a)
  • Debe de desarrollarse de manera física y simulada.

DESARROLLO
1- Encendido y apagado de un LED con intermitencia de aproximadamente 2 segundos


Programa Asm
Programa C
Proteus
LIST p=16f84A
 include <p16f84a.inc>
 __CONFIG _CP_OFF&_PWRTE_ON&_XT_OSC

TIEMPO EQU 0X0C
                org 0
                bsf  STATUS,RP0
                clrf PORTB
                bcf  STATUS, RP0

INICIO     
                BCF  PORTB,0
                CALL RETARDO
                CALL RETARDO
                BSF  PORTB,0
                CALL RETARDO
                GOTO INICIO
       
RETARDO
                MOVLW D'255'                      
                MOVWF TIEMPO
                               
DEC
                DECFSZ TIEMPO
                GOTO DEC
                RETURN

                                END

#include <16f628a.h>                
#fuses XT,NOWDT,NOPROTECT,PUT     
#use delay (clock=4000000)        
#use fast_io(b)


void main(void)
{
   set_tris_b(0xFD); 
   disable_interrupts(GLOBAL);  
   output_low(PIN_B1);
   do{ 
      if(input(PIN_B0)){
     
      output_high(PIN_B1);
      delay_ms(2000);
      output_low(PIN_B1);
             
      }      
   }while(TRUE);        
}



2- Encendido de un LED por acción sobre un pulsador se mantenga encendido y se apague por la acción de otro pulsador.

Programa Asm
Programa C
Proteus
LIST p=16f84A
 include <p16f84a.inc>
 __CONFIG _CP_OFF&_PWRTE_ON&_XT_OSC

TIEMPO EQU 0X0C

                ORG 0
                BSF  STATUS,RP0
                BSF  PORTA,0
                BSF  PORTA,1
                BCF  PORTB,0
                BCF  STATUS, RP0
               
PULS1  
                BTFSS PORTA,0
                GOTO  PULS1
BSF  PORTB,0
                BCF PORTA,0
                GOTO PULS2
                               
PULS2
                BTFSS PORTA,1
                GOTO  PULS2
                BCF  PORTB,0
                BCF PORTA,1
                GOTO PULS1
END




#include <16f628a.h>                
#fuses XT,NOWDT,NOPROTECT,PUT     
#use delay (clock=4000000)        
#use fast_io(b)


void main(void)
{
   set_tris_b(0xFB);
  
   disable_interrupts(GLOBAL);  
  output_low(PIN_B2);
   do{ 
      if(input(PIN_B0)){
      output_high(PIN_B2);
      delay_ms(100);
        }  
      if(input(PIN_B1)){
      output_low(PIN_B2);
      delay_ms(100);
        }  

   }while(TRUE);        
}


3- Implementación de al menos 8 secuencias diferentes sobre ocho (8) LEDs controladas en selección por dos pulsadores, uno para seleccionar la secuencia siguiente y otro para seleccionar la secuencia anterior
Proteus secuencias
Proteus seq














C ++
Asm Assembler
# include<16f84a.h>
# device adc=100
# device *=16
#fuses xt

 void main()   {
  int1 a,b,d;   int n,m=0,T=4;

while (true) {
 a=input_state(pin_a2);b=input_state(pin_a3);

if ((a==1)&& (T<8))  T=T+1;
if ((b==1)&& (T>0))  T=T-1;

if (T==1) {  for(n=1;n<=3;n++)  {
output_high(pin_B0);output_high(pin_B1);
output_high(pin_B2);output_high(pin_B3);
output_high(pin_B4);output_high(pin_B5);
output_high(pin_B6);output_high(pin_B7);
output_low(pin_B0);output_low(pin_B2);
output_low(pin_B4);output_low(pin_B6);
} }

ELSE if (T==2) { for(n=1;n<=3;n++) {
output_low(pin_B0);output_low(pin_B1);
output_low(pin_B2);output_low(pin_B3);
output_low(pin_B4);output_low(pin_B5);
output_low(pin_B6);output_low(pin_B7);
output_high(pin_B1);output_high(pin_B3);
output_high(pin_B5);output_high(pin_B7);
} }

ELSE if (T==3) { for(n=1;n<=3;n++) {
output_low(pin_B0);output_low(pin_B1);
output_low(pin_B2);output_low(pin_B3);
output_low(pin_B4);output_low(pin_B5);
output_low(pin_B6);output_low(pin_B7);
output_high(pin_B0);output_high(pin_B2);
output_high(pin_B4);output_high(pin_B6);
} }

ELSE if (T==4) {  for(n=1;n<=3;n++){
output_low(pin_B0);output_low(pin_B1);
output_low(pin_B2);output_low(pin_B3);
output_low(pin_B4);output_low(pin_B5);
output_low(pin_B6);output_low(pin_B7);
output_high(pin_B0);output_high(pin_B1);
output_high(pin_B2);output_high(pin_B3);
} }

ELSE if (T==5) {  for(n=1;n<=3;n++){
output_low(pin_B0);output_low(pin_B1);
output_low(pin_B2);output_low(pin_B3);
output_low(pin_B4);output_low(pin_B5);
output_low(pin_B6);output_low(pin_B7);
output_high(pin_B4);output_high(pin_B5);
output_high(pin_B6);output_high(pin_B7);
} }

ELSE if (T==6) {   for(n=1;n<=3;n++){
output_low(pin_B0);output_low(pin_B1);
output_low(pin_B2);output_low(pin_B3);
output_low(pin_B4);output_low(pin_B5);
output_low(pin_B6);output_low(pin_B7);
output_high(pin_B0);output_high(pin_B1);
output_high(pin_B6);output_high(pin_B7);
}}

ELSE if (T==7) { for(n=1;n<=3;n++){
output_low(pin_B0);output_low(pin_B1);
output_low(pin_B2);output_low(pin_B3);
output_low(pin_B4);output_low(pin_B5);
output_low(pin_B6);output_low(pin_B7);
output_high(pin_B2);output_high(pin_B3);
output_high(pin_B4);output_high(pin_B5);
} }

ELSE if (T=8) { for(n=1;n<=3;n++){
output_low(pin_B0);output_low(pin_B1);
output_low(pin_B2);output_low(pin_B3);
output_low(pin_B4);output_low(pin_B5);
output_low(pin_B6);output_low(pin_B7);
output_high(pin_B0);output_high(pin_B1);
output_high(pin_B2);output_high(pin_B3);
output_low(pin_B0);output_low(pin_B1);
output_low(pin_B2);output_low(pin_B3);
output_high(pin_B4);output_high(pin_B5);
output_high(pin_B6);output_high(pin_B7);

} } } }
0000:
       SUBWF  A,W
       NOP
       XORWF  4,W
       BSF    3,4
       XORWF  13,W
       SUBWF  14,W
      
L000C 
L000F 
       RETLW  14
L0015 
       BTFSS  14,4
L001B 
      RETLW  94
L001C 
       INCF   14,W
       GOTO   L0014
       SUBWF  12,W
       RETLW  12
      
L0026 

L004D 

L0052 

L0058 
      GOTO   L0092
       RETLW  14
       SUBWF  12,W
       RETLW  12

L008A 

L008F 

L0092 

L0095 
      GOTO   L0092
       RETLW  14
       SUBWF  12,W
       RETLW  12

L00C7 
       
L00CC 
       GOTO   L0092
       RETLW  14

L00D8 
       SUBWF  12,W
       RETLW  12

L00DE 
       GOTO   L0092
       RETLW  14
      
L0114 
       SUBWF  12,W
       RETLW  12
       GOTO   L0092
       RETLW  14
       SUBWF  12,W
       RETLW  12
       GOTO   L0092
       RETLW  14
       SUBWF  12,W
       RETLW  12
       GOTO   L0092
       SUBWF  14,W
       RETLW  94
       SUBWF  12,W
       RETLW  12
       GOTO   L0292

L0225 
       CLRF   3
2007: 3FF1





Control de una caldera en forma automática
INTRODUCCION

Una caldera Es un recipiente hecho de metal el cual sirve para calentar agua u otro tipo de líquido, ya sea para pasarlo de un estado a otro, para producir calefacción en algún ambiente o inclusive para generar energía a través de la presión del vapor. La estructura de una caldera puede variar dependiendo el propósito sin embargo a continuación se dará a conocer componentes más comunes de la estructura:
v  Quemador: Quema combustible                              
v  Hogar: Realiza la combustión del combustible utilizado y la generación de los gases calientes.
v  Tubos de intercambio de calor: Intercambio calor con otras superficies, como por ejemplo calentamiento de agua.
v  Separador liquido – vapor
v  Chimenea: Escape de gases generados por el efecto de la combustión.
v  Carcasa: Es la que contiene el hogar y sistema de tubos de intercambio.
v  Componentes o accesorios de trabajo, supervisión y seguridad para una caldera:
Ø    Quemadores                            
Ø    Vaso de expansión
Ø    Termostatos
Ø    Válvula de seguridad
Ø    Llaves de paso y regulación
v  Accesorios de observación:
Ø    Tubos de nivel
Ø    Grifos de prueba
Ø    Manómetros
Ø    Termómetros
Ø    Analizadores de gases
v  Accesorios de alimentación de combustible:
Ø    Grupo de presión de combustible
Ø    Línea de alimentación de gas
Ø    Quemadores para combustibles líquidos y gaseosos.
Ø    Quemadores mecánicos para combustibles sólidos.
Ø    Elementos manuales
v  Accesorios de limpieza:
Ø    Registros o tapas de limpieza
Ø    Válvulas de purga
Ø    Estanque de retención de purgas




El control de un sistema de caldera es la herramienta mediante la cual se consiguen los equilibrios de masa y de energía de la misma ante las variaciones en la demanda de los consumidores. Para ello es necesario monitorear, procesar información y controlar todas las variables que influyen en el proceso de calentamiento, para el caso concreto hablaremos de una caldera de gas cuya finalidad es calentar aire a una presión constante, conforme a ello podemos decir que tenemos un sistema de control de lazo cerrado; cabe precisar que este tipo de sistemas son de gran aplicación en diferentes sectores de la industria pasando por el sector textil, lechero, hasta los procesos de destilación.

La energía y la masa introducidas en la caldera deben ser reguladas para conseguir las condiciones de salida deseadas. Las medidas de las variables del proceso darán al sistema la información necesaria para ello.

En la Figura 1 se muestra mediante un diagrama de bloques el esquema general del control de una caldera.




Es ahí donde entran a funcionar sistemas de control inteligentes los cuales requieren procesar información y dar respuestas en tiempo real, para el caso concreto se pueden emplear desde uno a varios microprocesadores en pro de regular, procesar, controlar la información recopilada del medio, la acción de los actuadores.

En el sistema de control de una caldera, las diferentes variables interaccionan sobre los diferentes subsistemas. Así, la demanda de carga influirá sobre la temperatura de vapor, el caudal de agua sobre la presión de vapor que a su vez es la causante de la demanda de carga. Por lo tanto, todo el sistema debe ser coordinado e implementado de forma que minimice los efectos de dichas interacciones, puesto que el propio diseño del sistema las puede aumentar.  El presente trabajo implementa microprocesadores dentro de una tarjeta que en el ámbito del control bien puede hacer la función de un PLC o RTU, en un modo un poco menos sofisticado el famoso arduino, no obstante la idea de implementar microprocesadores y por ende realizar todo el montaje micro electrónico conlleva la aplicación de los temas vistos no solo en el presente curso sino que también se recala en conocimientos anteriores.

Propuesta  solución 1 PIC 16F877a


PROPUESTA SOLUCION 2-  CALDERA CON ARDUINO
Arduino es una placa electrónica desarrollada con el pensamiento de Hardware de código abierto es decir que se puede comprar, fabricar, replicar de forma libre, es también llamada una plataforma experimental donde a través de ella podemos desarrollar un sin número de proyectos desde pequeños a grandes, teniendo a la mano Arduino nos facilitara en gran medida el desarrollo, ahorro de tiempo y dinero de cualquier proyecto que nos propongamos a emprender. Está compuesto principalmente por un micro controlador que maneja toda la plataforma que tiene entradas y salidas para manipular una inmensa cantidad de componentes electrónicos:



¿Por qué con Arduino? Arduino es una plataforma innovadora, muy completa y fácil de conocer, por lo que recomiendo grandemente el desarrollo del proyecto con Arduino, ya que a diferencia de usar PIC en Arduino tenemos un micro controlador ya montado en una placa con las salidas y entradas definidas y fáciles de identificar, además de que nos da salidas adicionales de 3.3V y 5V para adicionar componentes que se alimenten de esas salidas de voltaje. Cabe resaltar la gran cantidad de información, tutoriales y proyectos que se han realizado con Arduino y que ha revolucionado la forma de ver, practicar y aplicar la electrónica.
Arduino cuenta con su propio IDE de programación basada en C++ que en mi concepto suele ser más entendible que el lenguaje ensamblador:



PROYECTO SIMILAR COMO REFERENCIA
Control electrónico de caldera de leña con Arduino:




Es un proyecto realizado por Xoel Molejón desde Gijón, Asturias (Galicia rocks!) un incursionista de Arduino que se ingenió la forma de automatizar una caldera con combustible sólido (leña) para mejorar el rendimiento y control de ella con ayuda de sensores, servomotores, relés, extractores, pantalla lcd y demás componentes electrónicos para regulación o división de voltajes. Es un proyecto muy bueno y que nos puede guiar, dejo enlace de la web que hace referencia a ese proyecto por si quieren analizarla.


PLANTEAMIENTO DEL PROBLEMA

El control de una caldera de forma automática en cualquier industria más allá de uno uso eficiente de la energía representa un tema de seguridad Industrial, por ello es menester monitorear, supervisar y controlar todas las variables que confluyen dentro de una caldera a gas para el caso, de modo que se garantice confiabilidad en las operaciones que requieren del sistema pero a su vez se minimicen los riesgos en su operación.


JUSTIFICACIÓN

El presente proyecto es una necesidad que se cimienta en nuestra obligación como ingenieros de aplicar los conocimientos trasmitidos, no solo en lo que a microcontroladores se refiere, si no también; en que la concepción de un control automático para una caldera a gas, implica la conceptualización y aplicación de conocimientos a priori de múltiples asignaturas vistas dentro de nuestro proceso de formación.

Por otro lado existe una obligación de buscar eficiencia y confiabilidad en procesos críticos dentro de una industria, tal es el caso del control de calderas sin importar cuál sea el material en combustión, para el caso se ha especificado que es una caldera a gas, para calentar aire por transferencia de calor, cuyas temperaturas internas depende de la temperatura a la cual se desee calentar el aire.


  
CONCLUSIONES

  • v  Los micro controladores PIC son muy fácil de grabar y programar, solo necesita una computadora. Un PIC se puede grabar mediante diferentes puertos como serie o el USB.
  • v  La ventaja de un PIC permite controlar, programar y sincronizar tareas electrónicas a través del tiempo simplemente realizando una correcta programación. En el pasado esto no era posible ya que para controlar cada proceso era necesario un circuito muy complicado y específico para cada cosa que se necesite. Con un Microcontrolador PIC, este circuito integrado hace todo.
  • v  En el mercado existen varios software que ayudan a programar un Microcontrolador de este tipo, como por ejemplo el PICC, o el MPLAB, es decir, que los PIC, están muy extendidos y difundidos en la electrónica actual.
  • v  Existe una gran diversidad de micro controladores PIC en el mercado de Microchip y ésta también es una gran ventaja, ya que podemos elegir entre diversas características que uno no tiene pero otro si, como cantidad de puertos, cantidad de entradas y salidas, conversor Analógico al Digital, cantidad de memoria, espacio físico, y este tipo de cualidades que nos permiten tener una mejor elección de un PIC.
  • v  Otra ventaja importante es que los PIC son baratos.
  • v  Una de las desventajas de un Microcontrolador PIC es que se necesitan llamar a muchas instrucciones para realizar una tarea en particular. Cuando el proyecto sea complejo.

  
BIBLIOGRAFIA



v  http://www.absorsistem.com/tecnologia/calderas/descripci%C3%B3n-de-calderas-y-generadores-de-vapor

++++++++++++++++++++++========================================



ACTIVIDAD 3
TRABAJO INDIVIDUAL / COLABORATIVA

Luis A. Sanchez - Cód.: 16.786.134
Héctor Fabio Acevedo – Cód.:
Gonzalo Andrés Nino – Cód.:
Jorge Alexander Celades –Cód.: 
Carlos Arturo Cardona – Cód.: 18415051


Instructores:
Noel Jair Zambrano
Edgar Rodrigo Enríquez Rosero

Grupo Colaborativo: 
309696-21



Universidad Nacional Abierta y a Distancia – UNAD.
Programa: Ingeniería Electrónica
Cead: Palmira- Valle- Colombia
Octubre – 2016 



INTRODUCCION

El curso de Ingeniería de Microprocesadores y micro controladores de la Universidad UNAD en el segundo semestre académico del 2016, es relevante como propósito fundamental la formación sólida del pensamiento científico – tecnológico manifestado en la capacidad para representar la información que contienen y de esta manera poder modelar matemáticamente un sistema con el fin de estudiarlo, aportar nuevo conocimiento y/o mejorar el conocimiento existente en los diversos campos de la ciencia.

Para lograr los fines de aprendizaje de toda la temática del curso, se debe desarrollar las actividades solicitadas de la estrategia y leer las lecturas de la unidad 2 , paso a solución a circuitos y avances del proyecto, hacer aportes permanentes y asumir una mayor responsabilidad de su propio aprendizaje, así como aplicar las habilidades y conocimientos adquiridos en su formación. Las herramientas básicas de software para el análisis y diseño de sistemas.


Diseño e implementación de dos  soluciones con micro controladores Pic 16f877A. Utilizando los programas PIC C, Micro C, Pic Basic Proton y Pic Simulator Ide,  para la elaboración de los programas respectivos. Simulado en programa Proteus 7.9 o Versiones 8.0 en adelante.


OBJETIVOS
Generales
Realizar la guía de actividades de la unidad 2 que implica el Diseño e implementación de dos ejercicios  con micro controladores Pic 16f877a.

Específicos
v  Desarrollar un circuito Microcontrolador con lenguaje de programación C el cual debe tener los siguientes elementos: Microcontrolador Pic16f877A, Display 16 X 2, Lm35 (sensor de temperatura), 2 LEDs (rojo, verde), Motor 12 Vdc (ventilador) y Parlante.

v  El Punto uno es un circuito a desarrollaran en lenguaje C: Debe sensar la temperatura ambiente y se está menor o igual de 25 grados el Led verde se encenderá y dará un solo pitido cada 3 segundos, si la temperatura supera los 25 grados hasta los 35 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 25 grados. En el display se debe visualizar el valor de la temperatura y la activación de motor como MOTOR ON o MOTOR OFF.


v  El ítem 2 es circuito se realizara con el lenguaje de programación Basic: El cual deberá en un display 16X2 desplegar el nombre del curso, numero de grupo y los nombres uno por uno de los integrantes del grupo seguido del número de cedula, los cuales cambiaran al presionar cada uno de los 5 pulsadores (1 al 5 igual número de integrantes)



v   
DESARROLLO

1- Circuito lenguaje C: Debe sensar la temperatura ambiente y se está menor o igual de 25 grados el Led verde se encenderá y dará un solo pitido cada 3 segundos, si la temperatura supera los 25 grados hasta los 35 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 25 grados. En el display se debe visualizar el valor de la temperatura y la activación de motor como MOTOR ON o MOTOR OFF.

Programa C
Proteus
# include<16f877.h>
# device adc=100
# device *=16
# use delay (clock=4M)
#include <lcd.c>
#fuses xt

Float Temp;
void main()
{
//******************
setup_adc_ports (RA0_ANALOG);//entrada lm35
setup_adc (ADC_CLOCK_INTERNAL); //***convertidor analógico digital
setup_COUNTERS (RTCC_internal.rtcc_div_1) ; //marca división para convertidor
set_adc_channel (0);

//****************Inicio del LCD
Lcd_init ();//******inicio lcd
Lcd_gotoxy (1,1);
Printf (lcd_putc,"Micro controladores");
Lcd_gotoxy (1,2);
Printf (lcd_putc,"Control Temperatura");
delay_ms(500);

//*******************************
while(true)
{
Temp= (float)read_adc()/2 -1;// lectura convertidor análogo
lcd_gotoxy (21,3);
printf (lcd_putc,"%f",Temp);
lcd_gotoxy(25,3);
printf(lcd_putc,"C");
delay_ms (300);

//**************Logica
if(Temp<=25)
{
output_low(pin_b0); //Led Rojo OFF
output_high(pin_b1); //Led Verde ON
output_low(pin_b2); //Motor Fan OFF
lcd_gotoxy(26,1);
printf(lcd_putc," Normal  ");
lcd_gotoxy(29,3);
printf(lcd_putc,"MotorFan OFF");
output_high(pin_b3); //buzzer ON
delay_ms(1000);//buzzer ON 1 seconds
lcd_gotoxy (29,3); printf(lcd_putc,"             ");
delay_ms(300);
lcd_gotoxy (26,1);
printf(lcd_putc,"             ");
output_low(pin_b3); //- BLINK
delay_ms(3000);//buzzer Off 3 seconds
}

//************Logica alta
if(Temp<=35&&Temp>25)
{
output_high(pin_b0); //Led Rojo ON
output_low(pin_b1); //Led Verde OFF
output_high(pin_b2); //Motor Fan ON
output_low(pin_b3); // Buzzer OFF
lcd_gotoxy(26,1);
printf(lcd_putc,"  Alta  ");
lcd_gotoxy (29,3);
printf(lcd_putc,"MotorFan ON");
delay_ms(500);
lcd_gotoxy (29,3);
printf(lcd_putc,"            ");
delay_ms(300);
lcd_gotoxy (26,1);
printf(lcd_putc,"             ");
delay_ms(500);
}
}
}







Youtube link:
https://youtu.be/lentBaYNEh4




 2-  Circuito lenguaje Basic: El cual deberá en un display 16X2 desplegar el nombre del curso, numero de grupo y los nombres uno por uno de los integrantes del grupo seguido del número de cedula, los cuales cambiaran al presionar cada uno de los 5 pulsadores (1 al 5 igual número de integrantes)


Programa C
Proteus
# include<16f877.h>
# device adc=100
# device *=16
# use delay (clock=4M)
#include <lcd.c>
#fuses xt

void main()
{
int1 a,b,c,d,e;//variables
//*****Inicio del LCD *******
Lcd_init ();//******inicio lcd
Lcd_gotoxy (1,1);Printf (lcd_putc,"Micro controladores");
Lcd_gotoxy (1,2);Printf (lcd_putc,"Col 2 - Gr:309696_21");
delay_ms(500);

//***********
while(true)  {
a=input_state(pin_a1);
b=input_state(pin_a2);
c=input_state(pin_a3);
d=input_state(pin_a4);
 e=input_state(pin_a5);


if(a==1){
lcd_gotoxy(21,1); 
printf(lcd_putc,"Inst Edgar Rosero");
delay_ms(500);
lcd_gotoxy(21,3); 
printf(lcd_putc,"Jorge Celades    ");
delay_ms(500);
lcd_gotoxy (21,1);
printf(lcd_putc,"                 ");
delay_ms(500);
lcd_gotoxy (21,3);
printf(lcd_putc,"                 ");
delay_ms(500);//
lcd_gotoxy(21,1); 
printf(lcd_putc,"Jorge Celades    ");
delay_ms(500);
lcd_gotoxy(21,3); 
printf(lcd_putc,"Cod.: XX.XXX.XXX ");
delay_ms(500);
lcd_gotoxy (21,3);
printf(lcd_putc,"                 ");
delay_ms(500);
lcd_gotoxy (21,1);
printf(lcd_putc,"                 ");
delay_ms(500);
}

//*******************
if(b==1)  {
lcd_gotoxy(21,1); 
printf(lcd_putc,"Inst Edgar Rosero");
delay_ms(500);
lcd_gotoxy(21,3); 
printf(lcd_putc,"Luis Sanchez     ");
delay_ms(500);
lcd_gotoxy (21,1);
printf(lcd_putc,"                 ");
delay_ms(500);
lcd_gotoxy (21,3);
printf(lcd_putc,"                 ");
delay_ms(500);//
lcd_gotoxy(21,1); 
printf(lcd_putc,"Luis Sanchez     ");
delay_ms(500);
lcd_gotoxy(21,3); 
printf(lcd_putc,"Cod.: 16.786.134 ");
delay_ms(500);
lcd_gotoxy (21,3);
printf(lcd_putc,"                 ");
delay_ms(500);
lcd_gotoxy (21,1);
printf(lcd_putc,"                 ");
delay_ms(500);
}

//************
if(c==1) {
lcd_gotoxy(21,1); 
printf(lcd_putc,"Inst Edgar Rosero");
delay_ms(500);
lcd_gotoxy(21,3);  printf(lcd_putc,"Gonzalo Nino     ");
delay_ms(500);
lcd_gotoxy (21,1);
printf(lcd_putc,"                 ");
delay_ms(500);
lcd_gotoxy (21,3);
printf(lcd_putc,"                 ");
delay_ms(500);//
lcd_gotoxy(21,1);  printf(lcd_putc,"Gonzalo Nino     ");
delay_ms(500);
lcd_gotoxy(21,3); 
printf(lcd_putc,"Cod.: xx.xxx.xxx ");
delay_ms(500);
lcd_gotoxy (21,3);
printf(lcd_putc,"                 ");
delay_ms(500);
lcd_gotoxy (21,1);
printf(lcd_putc,"                 ");
delay_ms(500);
}

//*****************
if(d==1) {
lcd_gotoxy(21,1); 
printf(lcd_putc,"Inst Edgar Rosero");
delay_ms(500);
lcd_gotoxy(21,3); 
printf(lcd_putc,"Carlos Cardona     ");
delay_ms(500);
lcd_gotoxy (21,1);
 printf(lcd_putc,"                 ");
delay_ms(500);
lcd_gotoxy (21,3);
printf(lcd_putc,"                 ");
delay_ms(500);//
lcd_gotoxy(21,1); 
printf(lcd_putc,"Carlos Cardona     ");
delay_ms(500);
lcd_gotoxy(21,3); 
printf(lcd_putc,"Cod.: 18.415.051 ");
delay_ms(500);
lcd_gotoxy (21,3);
printf(lcd_putc,"                 ");
delay_ms(500);
lcd_gotoxy (21,1);
printf(lcd_putc,"                 ");
delay_ms(500);
}
//*********************
if(e==1)  {
lcd_gotoxy(21,1); 
printf(lcd_putc,"Inst Edgar Rosero");
delay_ms(500);
lcd_gotoxy(21,3); 
printf(lcd_putc,"Hector F. Acevedo");
delay_ms(500);
lcd_gotoxy (21,1);
 printf(lcd_putc,"                 ");
delay_ms(500);
lcd_gotoxy (21,3);
printf(lcd_putc,"                 ");
delay_ms(500);//
lcd_gotoxy(21,1); 
printf(lcd_putc,"Hector F. Acevedo");
delay_ms(500);
lcd_gotoxy(21,3); 
printf(lcd_putc,"Cod.: xx.xxx.xxx ");
delay_ms(500);
lcd_gotoxy (21,3);
printf(lcd_putc,"                 ");
delay_ms(500);
lcd_gotoxy (21,1);
printf(lcd_putc,"                 ");
delay_ms(500);
}
}
}




 








 





Link Video Youtube: https://youtu.be/G_zQFzyOq70


Programa en Lenguage Basic

#Include <16f877.h>
#Device adc=100
#Device *=16
#Use delay (clock=4M)
#Include <lcd.c>
#Fuses xt

'Float Temp;
Private Sub main()
Dim a As int1, b As int1, c As int1, d As int1, e As int1
'variables de propósito general

'************Inicio del LCD **********

Lcd_init()
'******inicio lcd
Lcd_gotoxy(1, 1)
Printf(lcd_putc, "Micro controladores")
Lcd_gotoxy(1, 2)
Printf(lcd_putc, "Col 2 - Gr:309696_21")
delay_ms(500)
'**************************
While True

a = input_state(pin_a1)
b = input_state(pin_a2)
c = input_state(pin_a3)
d = input_state(pin_a4)
e = input_state(pin_a5)


'**********Logica
If a = 1 Then
lcd_gotoxy(21, 1)
printf(lcd_putc, "Inst Edgar Rosero")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "Jorge Celades    ")
delay_ms(500)
lcd_gotoxy(21, 1)
printf(lcd_putc, "                 ")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "                 ")
delay_ms(500)
lcd_gotoxy(21, 1)
printf(lcd_putc, "Jorge Celades    ")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "Cod.: XX.XXX.XXX ")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "                 ")
delay_ms(500)
lcd_gotoxy(21, 1)
printf(lcd_putc, "                 ")
delay_ms(500)
End If

'*******************
If b = 1 Then
lcd_gotoxy(21, 1)
printf(lcd_putc, "Inst Edgar Rosero")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "Luis Sanchez     ")
delay_ms(500)
lcd_gotoxy(21, 1)
printf(lcd_putc, "                 ")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "                 ")
delay_ms(500)
lcd_gotoxy(21, 1)
printf(lcd_putc, "Luis Sanchez     ")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "Cod.: 16.786.134 ")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "                 ")
delay_ms(500)
lcd_gotoxy(21, 1)
printf(lcd_putc, "                 ")
delay_ms(500)
End If
'********************************

If c = 1 Then
lcd_gotoxy(21, 1)
printf(lcd_putc, "Inst Edgar Rosero")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "Gonzalo Nino     ")
delay_ms(500)
lcd_gotoxy(21, 1)
printf(lcd_putc, "                 ")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "                 ")
delay_ms(500)
lcd_gotoxy(21, 1)
printf(lcd_putc, "Gonzalo Nino     ")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "Cod.: xx.xxx.xxx ")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "                 ")
delay_ms(500)
lcd_gotoxy(21, 1)
printf(lcd_putc, "                 ")
delay_ms(500)
End If
'************************************
If d = 1 Then
lcd_gotoxy(21, 1)
printf(lcd_putc, "Inst Edgar Rosero")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "Carlos Cardona     ")
delay_ms(500)
lcd_gotoxy(21, 1)
printf(lcd_putc, "                 ")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "                 ")
delay_ms(500)
lcd_gotoxy(21, 1)
printf(lcd_putc, "Carlos Cardona     ")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "Cod.: 18.415.051 ")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "                 ")
delay_ms(500)
lcd_gotoxy(21, 1)
printf(lcd_putc, "                 ")
delay_ms(500)
End If

'********************************
If e = 1 Then
lcd_gotoxy(21, 1)
printf(lcd_putc, "Inst Edgar Rosero")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "Hector F. Acevedo")
delay_ms(500)
lcd_gotoxy(21, 1)
printf(lcd_putc, "                 ")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "                 ")
delay_ms(500)
lcd_gotoxy(21, 1)
printf(lcd_putc, "Hector F. Acevedo")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "Cod.: xx.xxx.xxx ")
delay_ms(500)
lcd_gotoxy(21, 3)
printf(lcd_putc, "                 ")
delay_ms(500)
lcd_gotoxy(21, 1)
printf(lcd_putc, "                 ")
delay_ms(500)
End If
End While
End Sub






PROYECTO CALDERA:


v  Metodología



v  Inicio de fase del Algoritmo




v  Esquema General





v  Análisis de resultados







v  Recursos a utilizar.




CONCLUSIONES



v  Los micros controladores PIC son fáciles de programar. Un PIC se puede grabar mediante diferentes puertos como serie o el USB.
v  La ventaja de los PIC permite controlar, programar y sincronizar tareas electrónicas a través del tiempo simplemente realizando una correcta programación.
v  En el pasado no era posible controlar cada proceso era necesario un circuito muy complicado y específico para cada cosa que se necesite. Con Microcontrolador PIC hace todo.
v  Existen software que ayuda a programar Microcontrolador y están muy extendidos y difundidos.
v  Gran diversidad de micros controladores PIC es una ventaja, elige entre características como cantidad de puertos, cantidad de entradas y salidas, conversor Analógico al Digital, cantidad de memoria, espacio físico, y permiten tener una mejor elección de un PIC.
v  Desventajas Microcontrolador PIC necesitan muchas instrucciones para una tarea cuando el proyecto es complejo.





BIBLIOGRAFIA



v  http://www.absorsistem.com/tecnologia/calderas/descripci%C3%B3n-de-calderas-y-generadores-de-vapor













No comments:

Post a Comment