sábado, 15 de febrero de 2014

Mejores Trabajos


Mejor Trabajo 1:



Se realizó una visita a Flor del Bosque para hacer unas preguntas que nos interesaban.
El biólogo Roberto Pérez Serrano nos dio la siguiente información:
Monitorean el 75% de las zonas forestales de Puebla, siendo la zona de la Malinche donde ocurren más incendios Forestales.
Cuentan con 13 brigadas para todo el Estado.
Tienen conexión con protección civil para la confirmación de incendios, así como con el satélite de CONABIO (Comisión Nacional para el Conocimiento y uso de la Biodiversidad).  Este último envía fotografías a nivel nacional para detectar puntos de calor, pero el problema es que solo se toman una foto alrededor de 1:00 – 2:00 pm.
Parque flor del Bosque: Cuentan con solo 1 brigada integrada por 4 elementos y 3 guardabosques, que hacen recorridos cada 2 horas. Principalmente la zona cuenta con encinos. (No contaba con la información de que tipos había ni el porcentaje). Para el monitoreo de la zona, utilizan 25 cámaras.
También cuentan con 2 cámaras (alemanas) que detectan focos de calor. Tienen que saber distinguir entre una quema agrícola (45) y un incendio forestal. De los 6 años que lleva como brigadista, solo han ocurrido 2 incendios, uno hace 4 años que inicio del lado de Las Harás, y uno pequeño hace 1 año. Tienen frecuentemente fallas con las cámaras, porque son muy lentas, se congela la imagen, para girar la cámara contaban con un joystick pero ya no funciona. Controlan 669 hectáreas.

Reflexión:

Este trabajo lo considero de los mejores ya que para mi es la médula espinal de todo lo que se realizo posteriormente, se recopilo la información para poder comenzar a trabajar en el proyecto.

Trabajo 2 :


El FODA ya que en el se comenzó a conocer un poco más a los integrantes y se pudo apreciar de alguna manera sus fortalezas, debilidades, amenazas y oportunidades y esto sirvió para organizarnos y trabajar equitativamente.






FODA INDIVIDUAL
Nombre
Fortalezas
Oportunidades
Debilidades
Amenazas
Jackie
Creativa, me gusta decorar, diseñar, organizar cosas, soy buena en programas como CATIA, SOLIDWORK, me gusta armar circuitos y trabajar en el prototipo, cortando, soldando aunque se muy poco, etc.
Llevar un rol en un equipo de trabajo, cumplir con la responsabilidad de ese rol
Me cuesta trabajo expresarme en público, soy mala redactando, tardista.
Sin interés por este proyecto, poco tiempo para reunirme en equipo
Jocelyn
Responsable
Buen humor
Actitud positiva
Objetiva
inteligencia y sagacidad
Líder
Facilidad de palabra
Enriquecer los conocimientos
iniciativa de proyectos
joven
Salud deficiente
ser joven (inexperto)
Personalidad caprichosa
Perfeccionista
Exigente
Distraída


Situación económica inestable
constantes problemas familiares
Jorge
Bueno investigando en la web
Organizar las cosas
Responsable
Aprender con facilidad
Pasos a seguir para hacer servicio y entrar en CFE
Horarios de trabajo
Dificultad para asistir a reuniones de equipo
Divagar fácilmente
Falta de conocimiento para programar
Problemas laborales
Perder el trabajo antes de juntar lo suficiente para subsistir académicamente 2 cuatrimestres
Problemas Familiares
No tener tiempo para reunirme en equipo y hacer proyectos
Juan
Experiencia ligera en arduino y facilidad de asesorarme al respecto

Impulsivo bajo presión
Poco interés en esté proyecto en especifico

Laura
Soy creativa
Perseverante, si me propongo lograr algo lo hago
Aprender nuevos conceptos, formas de trabajar.
Soy impuntual
Me cuesta trabajo adaptarme a los cambios
Llevo poco porcentaje de la carrera

Lizzy
Interés - Compromiso -Responsabilidad –Puntualidad
-Terminar mi carrera
-Tiempo - Organización –conformidad
-Falta de organización -Tiempo -Falta de fuentes de investigación
Tania
Trabajo bien en equipo
Me gusta investigar
Responsable
Buen carácter
Un nuevo proyecto en mi vida
Soy desesperada
Llego tarde
Soy un poquito floja
Olvido las cosas
No sé mucho de programación y no me gusta
A veces no puedo cumplir con los tiempos requeridos para el proyecto


Trabajo 3: 


CALENDARIO DE ACTIVIDADES
Se ha trabajado contantemente en el proyecto asignado, hemos tenido alunas dificultades en cuanto las reuniones ya que todos contamos con horarios muy estrictos en cuanto a otras clases pero nos hemos organizado por medio de una página de la red social (Facebook) y en las horas de clase. El proyecto se ha avanzado en las fechas siguientes:
Fecha
Lunes
Martes
Miércoles
Jueves
Viernes
27-31 enero
Asignación del equipo y proyecto
Creación de grupo en Facebook.
10-14 febrero
Metodología para propuestas y decisión de elementos electrónicos del proyecto
Lista de sensores y tarjetas con las que se trabajaran
Información sobre las el parque Flor del Bosque donde se aplicara este mecanismo.
24-28 febrero
Propuestas de logotipos, se subió al grupo de Facebook las investigación.
Se sube información al grupo de Facebook sobre cómo implementar el mecanismo para el proyecto
3-7 marzo
Foda individual, votación para el  logotipo del equipo
Creación de horarios para reuniones,
10-14 marzo
Asignación de tema, GloviaImplementationMethodolo
Se dividió el tema y se crearon diapositivas en PREZI
17-21 marzo
Exposición del tema asignado la semana anterior.
24-28 marzo
Se pide la información que tiene cada integrante del equipo
Se recopilo toda la información para entregar un avance sobre el proyecto
Enviar el avance a la profesora encargada.


Reflexión:
En este trabajo se consolida como se organiza y como se debe de trabajar, a mi en lo particular me sirvió para trabajar más en equipo ya que soy un poco individualista, en ocasiones prefiero trabajar individual que en equipo.


Trabajo 4:




ANALISIS DE LA PROPUESTA ORIGINAL
Se tiene pensado que el funcionamiento sea el de una alarma; Cuando la temperatura de una región X sea mayor de lo permitido, el dispositivo mandara una señal de alarma por medio del transmisor y llegará a la computadora central.
Las secciones que comprende la propuesta son las siguientes:
A.- Puente de Wheatstone
“Un puente de Wheatstone se utiliza para medir resistencias desconocidas mediante el equilibrio de los brazos del puente. Estos están constituidos por cuatro resistencias que forman un circuito cerrado, siendo una de ellas la resistencia bajo medida”
Lo que se interpretará es la diferencia de potencial entre el punto A y B del circuito propuesto
B) Comparador y Transmisor
Se utilizará un arduino o un PIC 16F877a para comparar dichas diferencias de potenciasl, así como mandar por un pin de salida la información hacia el transmisor, y a su vez, mandarla a la computadora central con la interfaz cargada y operando.
C) Interfaz de la computadora
Aquí la computadora recibirá la información transmitida por el pic o arduino que transmita una señal de disparo; Y gracias a la interfaz, además de interpretar dicha información, brindara la ubicación del sensor que disparo la alarma.
Hasta el momento solo se implementará con  un solo sensor para realizar las pruebas necesarias acerca de la distancia, recepción de información e interpretación de la misma


SIMULACIÓN DE ARDUINO Y EL SENSOR DE TEMPERATURA
Cambios de diseño:
El termistor ya no tendrá que estar dentro de un arreglo de resistores dado a que el puente de wheatstone está orientado para la amplificación de señales, en éste caso no es necesario y basta con un divisor de voltaje con el segundo resistor de una resistencia igual a la resistencia del termistor en temperatura ambiente (25°C 100kohm)
Con el propósito de detectar tanto incendios como falta de comunicación el arduino conectado al arreglo de medición mandará un pulso (Alto 1s, bajo 9s), el receptor estará esperando el inicio de la sección baja y esperará a 9s, si no lee un alto mandará alarma.
Si la alarma es unitaria significa que la estación está dañada o necesita mantenimiento si la alarma abarca un área simboliza la presencia de fuego.
Dada la falta de dinero solamente conseguimos un arduino y no podemos simular la comunicación completa del sistema aunque lo intentemos en una sola tarjeta.
El uso de una tarjeta arduino que tenga una entrada analógica y una salida digital es suficiente, por lo tanto con un arduino micro o lilypad como se había esperado en un principio es lo más recomendable en cuestión de precio.
Problemas de implementación:
La resolución dependerá de la cantidad de estaciones de mediciones
Un estudio de la Universidad de Wageningen en Holanda, ha demostrado que el Wi-fi afecta al crecimiento y a las características de la corteza y al tamaño de las hojas de los árboles. Los arboles de prueba tienen un ciclo de hoja caduca, pero en nuestro caso el encino es perifernnolio por lo que consideramos que se debería de realizar estudios con esta especie de árboles en específico antes de implementar.
La cantidad de señales escaldas de todas las estaciones generaría incertidumbre en cuanto a la posición dado a que solamente hay un número finito de encriptamiento de señales que podemos manejar sin que se combinen las señales.
Reflexión:
En este trabajo se analizo el  FODA de cada miembro y a través de las habilidades de cada uno se pudo desarrollar está parte del proyecto.


Trabajo 5:

CODIGO DEL ARDUINO
Este código es para implementarse en un arduino “uno”


intentradaAnalog=A0;
intvalorSensor=0;
intvalorSalida=0;
int led1out=7;
intalarma=10;
intfuego=11;
int alarma1;
intCnt;
inti;
void setup()
{
pinMode(led1out,OUTPUT);
pinMode(alarma,INPUT);
pinMode(fuego,OUTPUT);
}
void loop()
{
valorSensor=analogRead(entradaAnalog);
valorSalida=map(valorSensor,0,1023,0,255);
if(valorSalida<100)
 {
digitalWrite(led1out,HIGH);
delay(500);
digitalWrite(led1out,LOW);
delay(500);
}
 alarma1 =digitalRead(alarma);
if (alarma1==LOW)
{
delay(750);
if(alarma1==LOW)
  {
digitalWrite(fuego,HIGH);
  }
else
{
digitalWrite(fuego,LOW);
  }
  }
if (alarma1==HIGH)
  {
digitalWrite(fuego,LOW);
  }
}



Reflexión:

Me pareció sorprendente la manera en que se pudo desarrollar esta parte del trabajo, con esto comprobé que desafortunadamente se trabaja mejor bajo presión.





Trabajo 6:


SIMULACIÓN DEL PIC TRANSMISIÓN Y SENSOR DE TEMPERATURA
SIMLACIÓN DEL PROGRAMA DE PIC EN PROTEUS
La imagen anterior muestra la simulación del pic junto a un LCD que nos permitirá observar la temperatura que se obtiene del sensor (opcional) y la conexión de los pines de salida hacia el transmisor.
La interfaz se construyó en labview y es la siguiente:
El código del PIC es el siguiente:


CCS PCM C Compiler, Version 3.249, 2
              Filename: C:\Documents and Settings\Ronny\Escritorio\TEMPERATURA Y Rs232\Nueva carpeta\rs232ypc.lst
              ROM used: 1063 words (13%)           Largest free fragment is 2048
              RAM used: 14 (8%) at main() level
                     38 (22%) worst case
              Stack: 4 locations
*
0000:  MOVLW  00
0001:  MOVWF  0A
0002:  GOTO   38F
0003:  NOP
.................... #include <16f877a.h>   //pic a utilizar
.................... //////// Standard Header file for the PIC16F877A device ////////////////
.................... #device PIC16F877A
.................... #list
.................... #device adc=10
.................... #fuses XT,NOWDT //ordenes para el programador
.................... #use delay (clock=20000000) //Fosc=20Mhz
*
003B:  MOVLW  36
003C:  MOVWF  04
003D:  MOVF   00,W
003E:  BTFSC  03.2
003F:  GOTO   04D
0040:  MOVLW  06
0041:  MOVWF  78
0042:  CLRF   77
0043:  DECFSZ 77,F
0044:  GOTO   043
0045:  DECFSZ 78,F
0046:  GOTO   042
0047:  MOVLW  7B
0048:  MOVWF  77
0049:  DECFSZ 77,F
004A:  GOTO   049
004B:  DECFSZ 00,F
004C:  GOTO   040
004D:  RETLW  00
.................... #use rs232(baud=9600,xmit=pin_c6,rcv=pin_c7, bits=8, parity=N)   //manejo del RS232
.................... #include<lcd.c>       //libreria manejo lcd
....................
LCDD.C                             ////
Driver for common LCD modules                  ////
lcd_init()   Must be called before any other function.        ////
////                                                                  
lcd_putc(c)  Will display c on the next position of the LCD. ////
The following have special meaning:        ////
\f  Clear display                       
//// n  Go to start of second line            ////
\b  Move back one position                ////
.................... ////  lcd_gotoxy(x,y) Set write position on LCD (upper left is 1,1) ////
lcd_getc(x,y)   Returns character at position x,y on LCD      ////
.................... ////                                                                   ////
.................... ////     (C) Copyright 1996,2003 Custom Computer Services        ////
.. //// This source code may only be used by licensed users of the CCS C  ////
.................... //// compiler.  This source code may only be distributed to other   ////
.................... //// licensed users of the CCS C compiler.  No other use, reproduction ////
.................... //// or distribution is permitted without written permission.       ////
.................... //// Derivative programs created using this software in object code    ////
.................... //// form are not restricted in any way.                               ////
....................
.................... // As defined in the following structure the pin connection is as follows:
.................... // D0  enable
.................... // D1  rs
.................... // D2  rw
.................... // D4  D4
.................... // D5  D5
.................... // D6  D6
.................... // D7  D7
.................... //   LCD pins D0-D3 are not used and PIC D3 is not used.
....................
.................... // Un-comment the following define to use port B
.................... // #define use_portb_lcd TRUE
.................... structlcd_pin_map {              // This structure is overlayed
....................         BOOLEAN enable;        // on to an I/O port to gain
....................         BOOLEAN rs;            // access to the LCD pins.
....................       BOOLEAN rw;            // The bits are allocated from
....................         BOOLEAN unused;        // low order up.  ENABLE will
....................         int data : 4;      // be pin B0.
....................      } lcd;
.................... #if defined(__PCH__)
.................... #if defined use_portb_lcd
....................    #byte lcd = 0xF81                   // This puts the entire structure
.................... #else
....................    #byte lcd = 0xF83                   // This puts the entire structure
.................... #endif
.................... #else
.................... #if defined use_portb_lcd
....................    #byte lcd = 6               // on to port B (at address 6)
.................... #else
....................    #byte lcd = 8              // on to port D (at address 8)
.................... #endif
.................... #endif
.................... #if defined use_portb_lcd
....................    #define set_tris_lcd(x) set_tris_b(x)
.................... #else
....................    #define set_tris_lcd(x) set_tris_d(x)
.................... #endif
....................
....................
.................... #define lcd_type 2        // 0=5x7, 1=5x10, 2=2 lines
.................... #define lcd_line_two 0x40 // LCD RAM address for the second line
.................... BYTE const LCD_INIT_STRING[4] = {0x20 | (lcd_type<< 2), 0xc, 1, 6};
....................                          // These bytes need to be sent to the LCD
....   // to start it up.
// The following are used for setting
....................                           // the I/O port direction register.
.................... structlcd_pin_mapconst LCD_WRITE = {0,0,0,0,0}; // For write mode all pins are out
.................... structlcd_pin_mapconst LCD_READ = {0,0,0,0,15}; // For read mode data pins are in
....................
.................... BYTE lcd_read_byte() {
....................       BYTE low,high;
....................    set_tris_lcd(LCD_READ);
*
005E:  MOVLW  F0
005F:  BSF    03.5
0060:  MOVWF  08
....................    lcd.rw = 1;
0061:  BCF    03.5
0062:  BSF    08.2
....................    delay_cycles(1);
0063:  NOP
....................    lcd.enable = 1;
0064:  BSF 08.0
....................    delay_cycles(1);
0065:  NOP
....................    high = lcd.data;
0066:  MOVF   08,W
0067:  SWAPF  08,W
0068:  ANDLW  0F
0069:  MOVWF  3D
....................    lcd.enable = 0;
006A:  BCF 08.0
....................    delay_cycles(1);
006B:  NOP
....................    lcd.enable = 1;
006C:  BSF 08.0
....................    delay_us(1);
006D:  NOP
006E:  NOP
006F:  NOP
0070:  NOP
0071:  NOP
....................    low = lcd.data;
0072:  MOVF   08,W
0073:  SWAPF  08,W
0074:  ANDLW  0F
0075:  MOVWF  3C
....................    lcd.enable = 0;
0076:  BCF 08.0
....................    set_tris_lcd(LCD_WRITE);
0077:  MOVLW  00
0078:  BSF 03.5
0079:  MOVWF  08
....................    return( (high<<4) | low);
007A:  BCF 03.5
007B:  SWAPF  3D,W
007C:  MOVWF  77
007D:  MOVLW  F0
007E:  ANDWF  77,F
007F:  MOVF   77,W
0080:  IORWF  3C,W
0081:  MOVWF  78
.................... }
....................
....................
.................... voidlcd_send_nibble( BYTE n ) {
....................    lcd.data = n;
*
004E:  SWAPF  3D,W
004F:  ANDLW  F0
0050:  MOVWF  77
0051:  MOVLW  0F
0052:  ANDWF  08,W
0053:  IORWF  77,W
0054:  MOVWF  08
....................    delay_cycles(1);
0055:  NOP
....................    lcd.enable = 1;
0056:  BSF 08.0
....................    delay_us(2);
0057:  MOVLW  03
0058:  MOVWF  77
0059:  DECFSZ 77,F
005A:  GOTO   059
....................    lcd.enable = 0;
005B:  BCF 08.0
.................... }
005C:  RETLW  00
.................... voidlcd_send_byte( BYTE address, BYTE n ) {
....................
....................    lcd.rs = 0;
005D:  BCF 08.1
....................    while ( bit_test(lcd_read_byte(),7) ) ;
*
0082:  MOVF   78,W
0083:  MOVWF  3C
0084:  BTFSC  3C.7
0085:  GOTO   05E
....................    lcd.rs = address;
0086:  BTFSS  3A.0
0087:  BCF 08.1
0088:  BTFSC  3A.0
0089:  BSF 08.1
....................    delay_cycles(1);
008A:  NOP
....................    lcd.rw = 0;
008B:  BCF 08.2
....................    delay_cycles(1);
008C:  NOP
....................    lcd.enable = 0;
008D:  BCF 08.0
....................    lcd_send_nibble(n >> 4);
008E:  SWAPF  3B,W
008F:  MOVWF  3C
0090:  MOVLW  0F
0091:  ANDWF  3C,F
0092:  MOVF   3C,W
0093:  MOVWF  3D
0094:  CALL   04E
....................    lcd_send_nibble(n & 0xf);
0095:  MOVF   3B,W
0096:  ANDLW  0F
0097:  MOVWF  3C
0098:  MOVWF  3D
0099:  CALL   04E
.................... }
009A:  RETLW  00
....................
....................
.................... voidlcd_init() {
.................... BYTE i;
.................... set_tris_lcd(LCD_WRITE);
009B:  MOVLW  00
009C:  BSF 03.5
009D:  MOVWF  08
.................... lcd.rs = 0;
009E:  BCF 03.5
009F:  BCF 08.1
.................... lcd.rw = 0;
00A0:  BCF 08.2
.................... lcd.enable = 0;
00A1:  BCF 08.0
.................... delay_ms(15);
00A2:  MOVLW  0F
00A3:  MOVWF  36
00A4:  CALL   03B
.................... for(i=1;i<=3;++i) {
00A5:  MOVLW  01
00A6:  MOVWF  29
00A7:  MOVF   29,W
00A8:  SUBLW  03
00A9:  BTFSS  03.0
00AA:  GOTO   0B3
....................     lcd_send_nibble(3);
00AB:  MOVLW  03
00AC:  MOVWF  3D
00AD:  CALL   04E
....................     delay_ms(5);
00AE:  MOVLW  05
00AF:  MOVWF  36
00B0:  CALL   03B
.................... }
00B1:  INCF   29,F
00B2:  GOTO   0A7
.................... lcd_send_nibble(2);
00B3:  MOVLW  02
00B4:  MOVWF  3D
00B5:  CALL   04E
.................... for(i=0;i<=3;++i)
00B6:  CLRF   29
00B7:  MOVF   29,W
00B8:  SUBLW  03
00B9:  BTFSS  03.0
00BA:  GOTO   0C4
....................        lcd_send_byte(0,LCD_INIT_STRING[i]);
00BB:  MOVF   29,W
00BC:  CALL   004
00BD:  MOVWF  2A
00BE:  CLRF   3A
00BF:  MOVF   2A,W
00C0:  MOVWF  3B
00C1:  CALL   05D
00C2:  INCF   29,F
00C3:  GOTO   0B7
.................... }
00C4:  BCF 0A.3
00C5:  BCF 0A.4
00C6:  GOTO   3AE (RETURN)
....................
....................
.................... voidlcd_gotoxy( BYTE x, BYTE y) {
....................    BYTE address;
....................
....................    if(y!=1)
*
0174:  DECFSZ 37,W
0175:  GOTO   177
0176:  GOTO   17A
....................   address=lcd_line_two;
0177:  MOVLW  40
0178:  MOVWF  38
....................    else
0179:  GOTO   17B
....................   address=0;
017A:  CLRF   38
....................    address+=x-1;
017B:  MOVLW  01
017C:  SUBWF  36,W
017D:  ADDWF  38,F
....................    lcd_send_byte(0,0x80|address);
017E:  MOVF   38,W
017F:  IORLW  80
0180:  MOVWF  39
0181:  CLRF   3A
0182:  MOVF   39,W
0183:  MOVWF  3B
0184:  CALL   05D
.................... }
....................
.................... voidlcd_putc( char c) {
....................    switch (c) {
*
015D:  MOVF   35,W
015E:  XORLW  0C
015F:  BTFSC  03.2
0160:  GOTO   168
0161:  XORLW  06
0162:  BTFSC  03.2
0163:  GOTO   170
0164:  XORLW  02
0165:  BTFSC  03.2
0166:  GOTO   186
0167:  GOTO   18B
....................   case '\f'   : lcd_send_byte(0,1);
0168:  CLRF   3A
0169:  MOVLW  01
016A:  MOVWF  3B
016B:  CALL   05D
....................                 delay_ms(2);
016C:  MOVLW  02
016D:  MOVWF  36
016E:  CALL   03B
....................                                            break;
016F:  GOTO   191
....................   case '\n'   : lcd_gotoxy(1,2);     break;
0170:  MOVLW  01
0171:  MOVWF  36
0172:  MOVLW  02
0173:  MOVWF  37
*
0185:  GOTO   191
....................   case '\b'   : lcd_send_byte(0,0x10);  break;
0186:  CLRF   3A
0187:  MOVLW  10
0188:  MOVWF  3B
0189:  CALL   05D
018A:  GOTO   191
....................   default : lcd_send_byte(1,c); break;
018B:  MOVLW  01
018C:  MOVWF  3A
018D:  MOVF   35,W
018E:  MOVWF  3B
018F:  CALL   05D
0190:  GOTO   191
....................    }
.................... }
0191:  RETLW  00
....................
.................... charlcd_getc( BYTE x, BYTE y) {
....................    char value;
....................
.................... lcd_gotoxy(x,y);
.................... while ( bit_test(lcd_read_byte(),7) ); // wait until busy flag is low
.................... lcd.rs=1;
.................... value = lcd_read_byte();
.................... lcd.rs=0;
.................... return(value);
.................... }
....................
....................
.................... ///PROGRAMA//
.................... void main(void)
.................... {
*
038F:  CLRF   04
0390:  MOVLW  1F
0391:  ANDWF  03,F
0392:  MOVLW  81
0393:  BSF 03.5
0394:  MOVWF  19
0395:  MOVLW  26
0396:  MOVWF  18
0397:  MOVLW  90
0398:  BCF 03.5
0399:  MOVWF  18
039A:  BSF 03.5
039B:  BSF 1F.0
039C:  BSF 1F.1
039D:  BSF 1F.2
039E:  BCF    1F.3
039F:  MOVLW  07
03A0:  MOVWF  1C
....................
.................... floatmedicion,temper;
....................
.................... setup_adc_ports(AN0);
03A1:  BCF 1F.0
03A2:  BSF 1F.1
03A3:  BSF 1F.2
03A4:  BSF 1F.3
.................... setup_adc(ADC_CLOCK_INTERNAL);
03A5:  BCF 1F.6
03A6:  BCF 03.5
03A7:  BSF 1F.6
03A8:  BSF 1F.7
03A9:  BSF 03.5
03AA:  BSF 1F.7
03AB:  BCF 03.5
03AC:  BSF 1F.0
.................... lcd_init();
03AD:  GOTO   09B
....................
.................... while(true)
.................... {
.................... set_adc_channel (0);
03AE:  MOVLW  00
03AF:  MOVWF  78
03B0:  MOVF   1F,W
03B1:  ANDLW  C7
03B2:  IORWF  78,W
03B3:  MOVWF  1F
.................... delay_us (20);
03B4:  MOVLW  21
03B5:  MOVWF  77
03B6:  DECFSZ 77,F
03B7:  GOTO   3B6
.................... medicion=read_adc ();
03B8:  BSF 1F.2
03B9:  BTFSC  1F.2
03BA:  GOTO   3B9
03BB:  MOVF   1E,W
03BC:  MOVWF  7A
03BD:  BSF 03.5
03BE:  MOVF   1E,W
03BF:  BCF 03.5
03C0:  MOVWF  29
03C1:  MOVF   1E,W
03C2:  MOVWF  2A
03C3:  GOTO   0C7
03C4:  MOVF   7A,W
03C5:  MOVWF  24
03C6:  MOVF   79,W
03C7:  MOVWF  23
03C8:  MOVF   78,W
03C9:  MOVWF  22
03CA:  MOVF   77,W
03CB:  MOVWF  21
....................
.................... temper=(medicion*(0.48875));
03CC:  MOVF   24,W
03CD:  MOVWF  38
03CE:  MOVF   23,W
03CF:  MOVWF  37
03D0:  MOVF   22,W
03D1:  MOVWF  36
03D2:  MOVF   21,W
03D3:  MOVWF  35
03D4:  MOVLW  71
03D5:  MOVWF  3C
03D6:  MOVLW  3D
03D7:  MOVWF  3B
03D8:  MOVLW  7A
03D9:  MOVWF  3A
03DA:  MOVLW  7D
03DB:  MOVWF  39
03DC:  CALL   0E7
03DD:  MOVF   7A,W
03DE:  MOVWF  28
03DF:  MOVF   79,W
03E0:  MOVWF  27
03E1:  MOVF   78,W
03E2:  MOVWF  26
03E3:  MOVF   77,W
03E4:  MOVWF  25
....................
.................... printf(lcd_putc, "\f Voltage = %02.1fV", temper);
03E5:  CLRF   29
03E6:  MOVF   29,W
03E7:  CALL   00C
03E8:  INCF   29,F
03E9:  MOVWF  77
03EA:  MOVWF  35
03EB:  CALL   15D
03EC:  MOVLW  0C
03ED:  SUBWF  29,W
03EE:  BTFSS  03.2
03EF:  GOTO   3E6
03F0:  MOVLW  41
03F1:  MOVWF  04
03F2:  MOVF   28,W
03F3:  MOVWF  2D
03F4:  MOVF   27,W
03F5:  MOVWF  2C
03F6:  MOVF   26,W
03F7:  MOVWF  2B
03F8:  MOVF   25,W
03F9:  MOVWF  2A
03FA:  MOVLW  01
03FB:  MOVWF  2E
03FC:  GOTO   1F3
03FD:  MOVLW  56
03FE:  MOVWF  35
03FF:  CALL   15D
....................
.................... printf("Voltage = %01.2fV\r", temper);
0400:  CLRF   29
0401:  MOVF   29,W
0402:  CALL   024
0403:  INCF   29,F
0404:  MOVWF  77
0405:  MOVF   77,W
0406:  BTFSS  0C.4
0407:  GOTO   406
0408:  MOVWF  19
0409:  MOVLW  0A
040A:  SUBWF  29,W
040B:  BTFSS  03.2
040C:  GOTO   401
040D:  MOVLW  C9
040E:  MOVWF  04
040F:  MOVF   28,W
0410:  MOVWF  2D
0411:  MOVF   27,W
0412:  MOVWF  2C
0413:  MOVF   26,W
0414:  MOVWF  2B
0415:  MOVF   25,W
0416:  MOVWF  2A
0417:  MOVLW  02
0418:  MOVWF  2E
0419:  GOTO   2BF
041A:  MOVLW  56
041B:  BTFSS  0C.4
041C:  GOTO   41B
041D:  MOVWF  19
041E:  MOVLW  0D
041F:  BTFSS  0C.4
0420:  GOTO   41F
0421:  MOVWF  19
....................
.................... delay_ms(50);
0422:  MOVLW  32
0423:  MOVWF  36
0424:  CALL   03B
.................... }
0425:  GOTO   3AE
.................... }
0426:  SLEEP
Configuration Fuses:
Word  1: 3FF9   XT NOWDT NOPUT NODEBUG NOPROTECT BROWNOUT LVP NOCPD NOWRT




Reflexión:


Está parte del PIC no era necesaria, pero se hizo debido a que no estábamos seguros si la programación del arduino funcionaria.

No hay comentarios:

Publicar un comentario