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.
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
|
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:
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.
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