Programación Específica > Microcontroladores
Microcontrolador & Nokia 3220
Alternative:
SAludos santiagoda2002
Mira en primer lugar nose que es lo que quieras hacer, o paraque te intereza saber que tecla se oprimio en el Movil, no has dicho que proyecto quieres hacer y si todos tenemos urgencia pero sera bueno que primero expliques que quieres hacer y cuales son tus dudas como todos los demas
bye :hola:
santiagoda2002:
Saludos,
Muchas gracias por explicarme como funciona el foro, como ya les dije soy nuevo en esto.
Mi pruyecto se trata de utilizar el reconocimiento de voz del celular para realizar otras cosas como prender la luz, abrir puertas, etc, entonces concist en conectar el PIC al celular y mediante comandos AT simular la tecla de reconocimiento, y luego comparar el número al que llama y utilizar la salida del pic para los actuadores, por lo que necesito algún comando AT para esto.
Si es que alguien me puede ayudar le agradecería mucho.
Gracias
jota27:
hola alternative estoy tratando de enviar sms desde mi pc con hyperterminal con un nokia 1100 no estoy muy seguro si este equipo acepte comando at y ademas no se si el cable y el circuito que arme con el max 232 este bien.
Te agradeceria que me pudieras ayudar con esto.
cugastegui:
Urgente problema con serin2 - pic-nokia 6101:
Buenos dias amigos , soy nuevo en el foro y gracias a todos ustedes por sus aportes porque gracias a ellos he estado avanzando con mi proyecto de Comunicacion Nokia-Pic. Mi problema es el siguiente:
He hecho un programita para q cuando envie un sms desde mi cel ,ese sms llegue a otro movil conectado a un pic y este pueda prender un foco, el movil conectado al pic es un nokia6101. Estoy usando los comandos serin2 y serout2, la programacion funciona OK, el problema es q para q funcione tengo q desconectar el cable q va al pin q estoy usando como RX del pic, hago esa accion y mi programa comienza a funcionar ok. Otra alternativa q me he dado cuenta para q funcione es enviar otro mensaje como para q empuje el primer mensaje ,y asi de esta manera tambien funciona. Tambien he probado la conexion q pone de ejemplo el amigo Alternative y tampoco me soluciona ese detalle, por ahi lei en un foro q es la instruccion "WAIT" q hace q el programa no avance la siguiente linea, decia lo siguiente: "Cuando se utiliza el pic basic pro y el comando serin, serin2, entre otros y se emplea el wait hay que tener encuenta lo siguiente, cuando se trabaja en RS-232 la linea de entrada de datos cuando no se reciben datos debe permanecer siempre en 1 logico (para logica verdadera) para que la instruccion serin comience a temporizar el tiempo programado en el wait, en caso de que la señal de entrada no se mantenga en uno logico y esta cambie de 0 a 1 y viceversa la instruccion serin, serin2 que empleen el wait no trabajara y se quedara alli sin hacer nada de hecho si el pin de entrada programado en serin, serin2... se coloca a cero logico fijo tampoco trabajara" (No entiendo bien q es lo q hay q hacer ahi). Mi programacion en picbasic es la siguiente:
;====================================================
;Envio de sms y recepcion desde un pic 16f877
;====================================================
define osc 4 ; defino el oscilador k usare en el pic
include "BS2DEFS.BAS" ;incluyen los modos de comunicación
TRISB = %10000001 ; defino puertos del pic solo el PORTB0 = sera entrada del pulsador
test8 VAR BYTE[8]
PORTB.1=0
inicio:
SEROUT2 PORTB.3,84,["AT+CMGF=1",13]; ONFIGURO EL MOVIL EN MODO TEXTO
PAUSE 500
SEROUT2 PORTB.3,84,["AT+CNMI=1,2,0,0,0",13]; ENVIO ESTE COMANDO AT
DESDE EL pic PARA Q CUANDO LLEGUE UN MENSAJE AL MOVIL, ESTE MENSAJE YA NO SE GRABE EN LA BANDEJA DE ENTRADA SINO MAS BIEN ENVIE EL MENSAJE POR EL EL PIN DE tX DEL MOVIL.
PAUSE 500
Serin2 PORTB.7,84,[WAIT("X"),str test8\8]; ESPERO LA LETRA "X" Q ESTA
;DENTRO DEL MENSAJE Y GRABO EN UN "ARRAY"(TEST8) LAS LETRAS QUE SIGUEN DESPUES DE LA "X".
if test8="A" then ; COMPARO EL ARRAY "TEST8"
PORTB.1=1
pause 500
;Los tre serout2 siguientes son para enviarme un sms con el contenido de "test8"
SEROUT2 PORTB.3,84,["AT+CSCA=",34,"97990009",34,13];
pause 500
SEROUT2 PORTB.3,84,["AT+CMGS=",34,"92XXXX98",34,13];
Pause 500
SEROUT2 PORTB.3,84,["1: ",str test8\8,26]; ME RENENVIO UN MENSAJE CON EL CONTENIDO DE TEST8
PORTB.1=0
pause 500
else ; De lo contrario PARPADEO DE UN LED
PORTB.1=1
pause 300
PORTB.1=0
pause 300
PORTB.1=1
pause 300
PORTB.1=0
pause 300
PORTB.1=1
pause 300
PORTB.1=0
pause 300
Goto inicio
endif
Goto inicio
end
Estoy desesperado llevo dias revisando la programacion y las conexiones y no logro resolver ese problema :( de antemano gracias por su valiosa ayuda.
Alternative:
SAludos cugastegui
mira la verda yono programa en BASIC, solo en Ensamblador, en la red encontre un programa para mandar SMS, pero nunca lo prove, porque como te menciono no programa en BASIC, asiq ue yo hice mi programa en Ensamblador, te coloco el programa quie encontre pero la verdad desconosco si sirva, y si te funciona ahi habisas...
ahora con lo que mencionas
cuando se trabaja en RS-232 la linea de entrada de datos cuando no se reciben datos debe permanecer siempre en 1 logico (para logica verdadera) para que la instruccion serin comience a temporizar el tiempo programado en el wait,
es sencillo cuando trabajas con serial tu salida de datos TX debe estar siempre en alto es decir 1, ya que el bis de start, es decir cuando vas a mandar informacion detecta un cero y despues el dato, y si lo tienes en alto es como si le estuvieras diciendo al movil que esta reciviendo datos, asi que siempre debe estar en alto tu TX.
;========================================================
;Envio de sms desde un pic 16f877
; me paseo........... PRSCOM 2007-1 OKA
; autor : david salzar vasquez
: tecnico electricista industrial . 9no ciclo ing electroncia UPAO - trujillo / peru
;=========================================================
define osc 4 ; defino el oscilador k usare en el pic
INCLUDE "modedefs.bas";incluyen los modos de comunicación
TRISB = $01 ; defino puertos del pic solo el PORTB1 = sera entrada del pulsador
w var byte
k var byte
PORTB.1=0
PORTB.2=0
PORTB.4=0
PORTB.5=0
PORTB.6=0
inicio:
if PORTB.0 = 1 then ; si presione el puslador envia el sms
PORTB.1 = 1
w= 0
for w = 0 to 3
serout2 PORTB.3,84,["ATE0",13] ; pone al nokia en modo modem
pause 500
next w
PORTB.2 = 1
w = 0
for w = 0 to 3
serout2 PORTB.3,84,["ATV0",13]; pone al nokia en modo modem
pause 500
next w
PORTB.4= 1
SEROUT2 PORTB.3,84,["AT+CMGF=1",13]
pause 500
PORTB.5 = 1
SEROUT2 PORTB.3,84,["AT+CSCA=",34,"+51195599000",34,13];se envia el centro de mensajeria 34(comillas) y 13 (enter)
pause 500
SEROUT2 PORTB.3,84,["AT+CMGS=",34,"+51449825661",34,13];se envia el # de celular 34(comillas) y 13 (enter)
pause 500
SEROUT2 PORTB.3,84,["probando le envio de mensaje",26]; ascii 26 (finaliza los comandos aT _!)
PORTB.6 = 1
PORTB.1=0
PORTB.2=0
PORTB.4=0
PORTB.5=0
PORTB.6=0
pause 5000
pause 5000
else
goto inicio
endif
goto inicio
end
EL PROGRAMA ES DEL CAMARADA "davolo"
del foro "Foros Electrónica UPAO"
del tema: "nokia-pic-gps"
lo publico quien lo creo por respeto al autor quien lo hizo
checalo y havissas si te funciono, para que si alguien programa en BASIC
le sirva tambien
bye :hola:
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa