miércoles, 10 de octubre de 2018

LABORATORIO N° 07

 Manejo del Timer y las
Interrupciones

·
·       Gutiérrez Huanca Ronaldo Jhojan Valois





OBSERVACIONES:
ü  Aumentar el tiempo de retardo entre cada “BIP” ayuda a tener una mejor apreciación de estos.
ü  Se coloco la variable entera “habilitar” para poder cerciorarnos de que la cuenta este descenso.
ü  Nuestro “void Main” tiene la interrupción del “timer” deshabilitada, esto para poder variar los minutos y segundos, sin que antes inicie la cuenta regresiva.
ü  Es necesario habilitar todas las interrupciones con “enable_interrupts (GLOBAL)”, para luego poder habilitar también la interrupción del “timer”.

CONCLUSIONES:
ü  Comprendí la composición de una interrupción realizada por un “timer”, el cual me permitió realizar una cuenta regresiva integrada por minutos y segundos.
ü  Concluí que puede haber varias interrupciones en la programación, pero no se logrará realizar todas simultáneamente.
·       Mendiola Espinoza Gilmar Jose

v    Video
      https://youtu.be/byHVbJtNtho

     Juegos






















·       Ticona Condori Nicol Stephanie
                                  
                            Video:
      https://www.youtube.com/watchv=2iCr8Ppmpbg&feature=youtu.be&fbclid=IwAR0qOqfsCTuRhMpglie7gfnLyYXIapTt_3qIfUGB7nFp3iMNT9UlUQbB9Tc

                                  Juegos:








                          Conclusiones
  •           Se realizaron los cambios necesarios para crear un temporizar de cuenta regresiva.
  •           Para realizar la última condición del programa debemos poner una instrucción que habilite los tres”BIP” del buzzer cuando los minutos y los segundos estén en 0.
  •         El conteo descendente del timer fue realizado variando los signos de suma y los números  que le antecedían al valor de los segundos y los minutos.
  •          Se agregaron dos variables “int” con el objetivo de poder controlar el programa para que cumpla las condiciones del buzzer y para habilitar el timer.


                         Observaciones

  •           Las subrutinas forman parte de un programa principal el cual nos permite resolver una tarea específica.
  •          Una variable int es como una memoria interna, si la relacionamos con el pulso botón esta seguirá encendida hasta que con otra instrucción se desactive.








miércoles, 3 de octubre de 2018

LABORATORIO N° 06

Lectura de Entradas Analógicas y Sensor de temperatura


·       Flores Mejia Eddy Berly
o   Video
o   Captura de juego
·       Gutiérrez Huanca Ronaldo Jhojan Valois




·       Lazarte Zubia Kristhyan Andree Kurt
o   Video
o   Captura de juego
·       Mendiola Espinoza Gilmar Jose
o   Video
o   Captura de juego

o   Trabajo de investigación

SENSOR DE TEMPERATURA LM35

     El LM35 es un circuito electrónico sensor que puede medir temperatura. Su salida es analógica, es decir, te proporciona un voltaje proporcional a la temperatura. El sensor tiene un rango desde −55°C a 150°C. Su popularidad se debe a la facilidad con la que se puede medir la temperatura. Incluso no es necesario de un microprocesador o microcontrolador para medir la temperatura. Dado que el sensor LM35 es analógico, basta con medir con un multímetro, el voltaje a salida del sensor.

CARACTERÍSTICAS PRINCIPALES:
·       Resolución: 10mV por cada grado centígrado.
·       Voltaje de alimentación.  Por ejemplo, esté sensor se puede alimentar desde 4Vdc hasta 20Vdc.
·       Tipo de medición. Salida analógica.
·       Numero de pines: 3 pines, GND, VCC y VSalida.
·       No requiere calibración.
o   Tiene una precisión de ±¼°C.
o   Esta calibrado para medir °C.
·       Consumo de corriente: 60 μA
·       Empaquetados comunes:
o   TO-CAN.
o   TO-220.
o   TO-92.
o   SOIC8.

PINES DEL SENSOR LM35:
      El pinout del sensor de temperatura son tres: GND, VCC y V Salida. Entonces dependiendo del empaquetado será el orden de conexión de los pines. Por ejemplo, el empaquetado TO-220 tiene la siguiente distribución:


  Para saber la temperatura debemos convertir este voltaje en la temperatura correspondiente. Para ello utilizamos la siguiente formula: (5.0 * analogRead(PIN_SENSOR) * 100.0) / 1024.0
VISUALIZACIÓN EL LCD

#include <16f887.h>  //Libreria del PIC
#device adc=10 //Para usar el adc de 10bits
#fuses INTRC_IO , NOWDT, NOPROTECT,NOPUT   //Fuses del PIC
#use delay(clock=4000000) //Especifica la velocidad de reloj
#include <lcd.c>
//Declaracion del microcontrolador
#use fast_io(A)   //Prepara para el uso de puerto A
#use fast_io(D)   //Prepara para el uso de puerto D
   int16 nbitsADC;      //aqui almacenamos el valor del puerto RA0
float temperaturaLM35;

 void main(){        
   set_tris_a(0xFF);//Puerto A como entrada
   SETUP_ADC_PORTS(sAN0);  // determina que el puerto RA0/AN0 será analógico
   SET_ADC_CHANNEL(0);
   setup_adc(ADC_CLOCK_DIV_32); //desactivamos comparadores del puerto A  
   setup_comparator(NC_NC_NC_NC);    
   lcd_init();
     //Mensaje inicial
   lcd_gotoxy(1,1);//Posiciona en LCD
   lcd_putc ("Sensor de");//manda un mensaje al LCD 
   lcd_gotoxy(1,2);
   lcd_putc ("temperatura LM35");
   delay_ms(1000); //espera 1 segundo                    
   lcd_putc("\f"); //limpia el lcd 
   while(true){
      nbitsADC = read_adc();  //lee el dato de AN0
      // 1bit = 0.48828125°C, aplicamos regla de tres para temperatura final
      temperaturaLM35 = nbitsADC * 0.48828125;
      lcd_putc("\f"); //limpia el lcd 
      lcd_gotoxy(1,1);
      lcd_putc ("  Temperatura:");
      lcd_gotoxy(1,2);
      printf(lcd_putc,"    %1.2f C",temperaturaLM35);
      // %1.2f es para mostrar un entero y dos decimales de tipo floar
      delay_ms(1000);//espera 1000 milisegundos
   }                                                          
 }
Sensor de Temperatura Digital DS18B20
     El sensor digital de Temperatura DS18B20 de MAXIM a prueba de agua, te permite conocer la temperatura utilizando solo 1 cable para datos (1-Wire), puedes utilizar simultáneamente varios sensores en el mismo bus, ya que cada sensor tiene un identificador de fábrica distinto.
    Entre sus aplicaciones más comunes está el censado de ambientes en edificios, aire acondicionado, maquinaria, control y monitoreo de procesos industriales, etc.
ESPECIFICACIONES TÉCNICAS:
·       Voltaje de Operación: 3.0V – 5.5V
·       Rango de Trabajo: -55℃ hasta +125℃ (-67°F to +257°F)
·       Precisión en el rango de -10°C hasta +85°C: ±0.5°C.
·       Resolución seleccionable de 9-12 bits
·       Cubierta de Acero Inoxidable de alta calidad, previene la humedad y la oxidación.
·       A prueba de Agua
·       No necesita componentes adicionales.
·       Longitud de cable: 1m
·       Cables: Rojo (+VCC), Blanco (DATA), Negro (GND)
·       Protocolo 1-Wire, solo necesita 1 pin para comunicarse.
·       Identificación única de 64 bits.

VISUALIZACIÓN EL LCD
#include <16F876.h> //Standard header file
#fuses NOWDT,HS, NOPUT, NOPROTECT,NOLVP,BROWNOUT //Oscillator mode HS
#use delay(clock=20000000) //Clock speed HZ = 20MHZ
#define use_portd_lcd //define for use port d lcd
#define DS1820_PIN  PIN_A2
#define use_portb_lcd TRUE
#include "lcd.c"
#include "ds1820.c"
void main() {
   float minstep;
   int16 a;
   int b;
   lcd_init();
   do {
         minstep = read_full_temp();
         printf (lcd_putc,"\fTemp :%3.2f C", minstep);
         delay_ms(1000);
   }
while (TRUE);
}

·       Ticona Condori Nicol Stephanie

o   Captura de juego