un saludo colegas, tengo unas dudas que quiero compartir, estoy haciendo un proyecto que es una alarma de carros con comunicación con GSM con el modulo TC35 sim900 y un PIc 16F877A ok, mi inquietud es que hice la programación del envió y recepción del mensaje y super, pero ahora el prof. quiere que desde mi celular cambie el numero que esta en la programación y no doy como hacerlo por que ella dice si le roban el celular al cliente como maneja la alarma si es por el telefono.. pero pienso yo como va a cambiar el numero si le robaron el celular tambien y tengo que agragar la programacion del cambio de celular no entiendo mu bien esa parte..!
Programación:
#include <16F877A.h>
#device adc=8
#FUSES NOWDT, HS, PUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT, RESERVED
#use delay(clock=20000000)
#ORG 0x1f00,0x1fff{}
#build (reset=0x4)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#define LCD_TYPE 2
#include <lcd.c>
#include <tones.c>
int freq,sensores;
char modulo,enviar;
char tlf[]="+584262757966";
void activado(){
printf(lcd_putc,"\falarma activada\nrobaron");
delay_ms(200);
generate_tone(262,500);
output_high(pin_c0);
delay_ms(50);
generate_tone(262,500);
output_low(pin_c0);
delay_ms(50);
}
void apagado(){
output_low(pin_c0);
}
void main()
{
set_tris_a(3);
set_tris_b(255);
set_tris_d(0);
printf("at+cmgf=1\r");
printf("at+ipr=9600\r");
delay_ms(200);
enviar=26;
lcd_init();
// TODO: USER CODE!!
freq=C_NOTE[2];
while(true){
printf(lcd_putc,"\falarma");
delay_ms(200);
while(kbhit()){
modulo=getc();
if(modulo=='p'){
printf(lcd_putc,"\falarma activada");
delay_ms(200);
while(!modulo=='a'){
delay_ms(200);
sensores=input_b();
switch (sensores){
case 1:printf("at+gcms=\%s",tlf);
delay_ms(200);
printf("puerta 1 fue abierta");
delay_ms(200);
printf("\%c",enviar);
delay_ms(200);
activado();
break;
case 2:printf("at+gcms=\%s",tlf);
delay_ms(200);
printf("puerta 2 fue abierta");
delay_ms(200);
printf("\%c",enviar);
delay_ms(200);
activado();
break;
case 4:printf("at+gcms=\%s",tlf);
delay_ms(200);
printf("maletero fue abierta");
delay_ms(200);
printf("\%c",enviar);
delay_ms(200);
activado();
break;
case 8:printf("at+gcms=\%s",tlf);
delay_ms(200);
printf("capó fue abierta");
delay_ms(200);
printf("\%c",enviar);
delay_ms(200);
activado();
break;
case 16:printf("at+gcms=\%s",tlf);
delay_ms(200);
printf("bateria fue robada");
delay_ms(200);
printf("\%c",enviar);
delay_ms(200);
activado();
break;
case 32:printf("at+gcms=\%s",tlf);
delay_ms(200);
printf("sensor de choque activado");
delay_ms(200);
printf("\%c",enviar);
delay_ms(200);
activado();
break;
case 64:printf("at+gcms=\%s",tlf);
delay_ms(200);
printf("rotura de vidrio");
delay_ms(200);
printf("\%c",enviar);
delay_ms(200);
activado();
break;
default:apagado();
}
}
}
if(modulo=='a'){
apagado();
printf(lcd_putc,"\falarma apagada");
delay_ms(200);
}
}
}
}