Autor Tema: Programacion GSM  (Leído 1026 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jozze

  • PIC10
  • *
  • Mensajes: 2
Programacion GSM
« en: 23 de Septiembre de 2017, 10:28:30 »
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);
}
}
}
}