Pages: [1] 2   Go Down
Author Topic: Conectar Nokia 6310i a Arduino. Solución!!!  (Read 5164 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1407
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Edito para incluir un pdf un poco mejor explicado, lo teneis adjunto a este mensaje y tambien aqui: http://arduinocarblackbox.info/?page_id=11


Me gustaria explicar aqui como se puede conectar un nokia 6310i a un Arduino para hacer llamadas, enviar y recibir mensajes, etc..
La idea de gastarme entre 65 y 75 euros en un modulo GPRS no me hacia mucha gracia, por lo que pense en darle uso a un movil viejo que tenia en el armario, en mi caso un Nokia 6310i con su cable original RS232.




El primer objetivo es comprobar la comunicación mediante comandos AT usando el ordenador como emisor y receptor (en lugar del Arduino). En mi portatil no tengo conector RS232 por lo que utilice un convertidor USB-RS232.

PC<--->convertidor USB-rs232<--->cablenokia<--->movil

Usando un programa como Hyperterminal en Windows XP o software gratuito... https://sites.google.com/site/terminalbpp/

Nos conectamos al puerto COM que nos haya aparecido al conectar el movil usando la configuración "2400,7,EVEN,1" handshake "RTS/CTS"
una vez conectados, probamos la comunicación enviando comandos AT, el mas sencillo es:
Code:
AT
recordar tener activado "+CR".
esto nos devolvera un "OK" si todo ha sido correcto.
Una vez establecida la comunicación probar otros comandos AT. por ejemplo:
Code:
ATD 666666666;
para realizar una llamada. No olvidar el ; ya que esto indica que es una llamada de voz y no de datos.

Para usar el movil con arduino debemos quitar el handshake para poder usar solamente los pines Ground, Tx y Rx.


Eliminar handshake...
-conectar movil con su cable al ordenador segun: PC<--->convertidor USB-rs232<--->cablenokia<--->movil
-conectar con setup: "2400,7,EVEN,1,RTS/CTS"
-comprobar que funciona enviando AT  (+CR)
-deshabilitar handshake enviando: AT+IFC=0  (+CR)
-importante...guardar los datos: AT&W  (+CR)

Una vez deshabilitado el handshake queremos cambiar los parametros de conexión, para ello hacemos
Code:
AT+IFC=3
AT&W
De esta forma podremos conectarnos usando los paremetros "2400,8,N,1, no handshake"

Conectar al arduino
Para conectar al arduino necesitamos un circuito con un MAX232 como este...


Primeras pruebas desde Arduino
Antes de cargar un programa a Arduino vamos a comprobar que existe comunicación entre el Arduino y el movil. Para ello vamos a bypasear el microcontrolador y usaremos el arduino como convertidor RS232, de esta forma podremos escribir comandos AT en la pantalla de serial monitor de arduino y ver que nos contesta el movil.
Esto lo realizaremos puenteando los pines RESET y GROUND del arduino y conectando segun este diagrama...
(añadir diagrama mas detallado....)

PC<--->cable usb<--->arduino<--->pines0,1arduino<--->(lado izquierdo)circuito MAX232(lado derecho)<--->cablenokia<--->movil

Por lo tanto, abrir el programa arduino.exe, seleccionador el COM adecuado y abrir el Monitor de serial. Escribir comando AT y comprobar que hay respuesta.

Primer programa...Arduino<--->Movil
Una vez comprobado que existe comunicación vamos a cargar un programa en el arduino que realice 2 llamadas automaticas. el programa llamara un numero de telefono y tras 12 segundos colgara la llamada. El estado se mostrara por el serial.

Code:
/*
  Connect a Nokia mobile phone to Arduino to send calls
 
 This sketch connects an Arduino to a Nokia mobile phone in order to use
 it as a modem and send AT commands.
 
 Circuit:

 
 The circuit:
 ** MAX232 Pin xx Rx - Arduino Pin xx
 ** MAX232 Pin xx Tx - Arduino Pin xx
 ** MAX232 Pin xx Rx - Nokia Cable Pin xx
 ** MAX232 Pin xx Tx - Nokia Cable Pin xx
  


 created 01 Apr 2011
 by S. Escuder

*/

#include <NewSoftSerial.h>

NewSoftSerial cell(2,3);  //Create a 'fake' serial port. Pin 2 is the Rx pin, pin 3 is the Tx pin.

void setup()
{
 //Initialize serial ports for debugging
    Serial.begin(9600);
    Serial.println("Starting Communication...");
    
 //Initialize serial ports for communication
     cell.begin(2400);
      delay(10000); // give the GSM module time to initialise, locate network etc.
           // this delay time varies. Use example 26.1 sketch to measure the amount
           // of time from board reset to SIND: 4, then add five seconds just in case
// http://tronixstuff.wordpress.com/2011/01/19/tutorial-arduino-and-gsm-cellular-part-one/

  pinMode(13, OUTPUT); // to show the current status.
}

void loop()
{
// make x number of phone calls, hanging up after xx seconds.

  for (int count = 1;count <= 2;count++)
  {
      Serial.print("Number of calls: ");
      Serial.println(count);
    
// Perform a phone call...
digitalWrite(13, HIGH);   // set the LED on
     Serial.println("ATD xxxxxxxxx;"); // debug
     cell.println("ATD xxxxxxxxx;"); // dial the phone number xxxxxxxxx
        Serial.println("Waiting 12 seconds...");
     delay(12000); // wait 12 seconds.
    
// Hang up the phone call...
    digitalWrite(13, LOW);    // set the LED off
        Serial.println("Colgando...");
     Serial.println("ATH"); // debug
     cell.println("ATH"); // end call
    
      delay(5000);              // wait for 5 seconds between calls.
  }
  while(1){} // stay here forever after making the calls.
}


Una vez conseguido esto, recomiendo estos dos tutoriales para empezar a enviar mensajes, y hacer cosas mas interesantes. Mi objetivo no es enseñar a programar el arduino sino a solucionar el problema de conectar moviles nokia al arduino.
http://tronixstuff.wordpress.com/2011/01/19/tutorial-arduino-and-gsm-cellular-part-one/
http://tronixstuff.wordpress.com/2011/01/31/tutorial-arduino-and-gsm-cellular-%e2%80%93-part-two/


Referencias:
http://jason.mumby.co.nz/?p=56  (el problema es que aqui no explicaba lo de guardar la configuración)
http://forum.meteoclimatic.net/index.php?PHPSESSID=5513bd510540b1c42d4a1f06d0d73714&topic=3812.msg51665#msg51665
http://www.uchobby.com/index.php/2007/06/11/ttl-to-rs232-adaptor-explained/

voy a intentar darle un mejor formato y contenido, pero al menos ahi esta la base.


Post anterior que llevaron a esta solución:
http://arduino.cc/forum/index.php/topic,57065.0.html

* max232.gif (0 KB - downloaded 10 times.)
* Manual para conectar Nokia 6310i a Arduino v3.0.pdf (671.58 KB - downloaded 32 times.)
« Last Edit: May 09, 2011, 01:18:53 pm by Sergegsx » Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

¿Por qué no lo pones donde empezaste la discusión en vez de crear una nueva?
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1407
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

He pensado que era mejor crear un post nuevo a modo mini-tutorial. de forma que si alguien necesita esa información no tenga que pasar 2 hojas de problemas. Asi se puede exponer aqui problemas, soluciones, mejoras usando como base el mini-tutorial.
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ya, pero piensa que ahora los que busquen deberán mirar 2 post, ver cuál de ellos tiene fecha más reciente, si uno está relacionado con el otro, pensar cual es la razón por la que estén separados, etc.

Ya he visto que has puesto un enlace en el otro post a este, asi que bueno, dejémoslo así, pero sería mejor que todo estuviera en el mismo sitio (o al menos eso creo).

De todas maneras, gracias por poner la solución que mucha gente pide ayuda y cuando encuentra la solución ni se acuerda de ponerla en el foro.

Un saludo smiley-wink
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1407
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
De todas maneras, gracias por poner la solución que mucha gente pide ayuda y cuando encuentra la solución ni se acuerda de ponerla en el foro.

lo se, y es una lastima porque a veces ves posts que tratan de un tema que te interesa y cuando el usuario encuentra la solucion no dice nada o pone, "solucionado, gracias" por lo que se pierde 'conocimiento'

espero poder mejorar un poco lo expuesto, pero al menos la base para hacerlo funcionar esta. Si alguien tiene dudas que pregunte y lo ampliare. He encontrado tantas paginas hablando de Arduino y Nokia, y ninguno dice que hay que quitar el handshake por ejemplo. Espero que esto le sea util a mas gente.
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Madrid
Offline Offline
Sr. Member
****
Karma: 5
Posts: 481
Life isn't about finding yourself, life is about creating yourself!!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@Sergegsx

Gracias!!
Logged

Engineering is the art of
making what you want from
things you can get.

     

[SOLUCIONADO]

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1407
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola, alguien me puede recomendar como alimentar el movil de la forma mas conveniente posible?

leo en el cargador del movil a red que el Output es 3.7V / 355mA / 1.3VA

hay alguna forma de alimentarlo desde el arduino sin que sea dañino para el arduino?
Ahora mismo estoy alimentando el arduino mediante la conexión USB al ordenador ya que continua en desarrollo pero cuando este terminado se alimentara de los 12 V de la bateria del coche. lo digo por si esto ayuda a aconsejarme.

muchas gracias !!
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

0
Offline Offline
Edison Member
*
Karma: 16
Posts: 1579
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Como consejo,todo lo que alimentes del coche tendrás que ponerle protección (varistor o tvs).
http://www.vishay.com/docs/88490/tvs.pdf
http://www.littelfuse.com/data/de/Segment_Capabilities_Brochure/EC334_72304.pdf

Hay bastante info por la red.

Salu2

smiley-wink
Logged


0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1407
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola Igor, incluso si saco los 12V del conector OBD??
Es buena idea sacar los 12V de ahi? Tendria que ponerle tambien protección?

Seria lo mas conveniente ya que hoy he cableado el coche bien (antes estaban los cables por medio) y con solo añadirle un hilo que he dejado libre tendria 12V.
Lo que no se si esos 12V son directos de la bateria o son protegidos, regulados.

He hecho poco progreso en el tema CAN por falta de tiempo. Ademas me obsesione en hacer funcionar el nokia con el arduino y requirio el tiempo que tenia libre. Lo que si tengo ya funcionando es el indicador de marcha smiley-wink a ver si tengo tiempo y actualizo el progreso para que lo cuelges en la web.
Por cierto, el fin de semana que viene me dan un movil nuevo que tiene camara HD, asi que podre grabar el video del montaje que te debo smiley-wink
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

0
Offline Offline
Edison Member
*
Karma: 16
Posts: 1579
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Tienes que protegerlo... Puede que estes un montón de tiempo, o incluso que nunca te pase nada, pero es conveniente añadirle un TVS o varistor, por si hay algún pico, no frias los reguladores.

Hoy he estado desmontando mi coche, y cuando tenía el control del clima fuera, resulta que no hay CAN ahi..... solo en algunos modelos!!! grrrrrr smiley-cry

 smiley-twist
« Last Edit: April 02, 2011, 09:25:58 am by Igor R » Logged


0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1407
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, pues voy a documentarme un poco y cogere los 12V del OBD pero los pasare por un varistor.
ahora lo tengo conectado usando un convertidor Belkin de mechero-usb, supongo que eso ya tendra dentro protección,no? porque al fin y al cabo de ahi puedes conectarle un movil, gps etc..
entonces con un divisor de tensión de 12V a 3,7V que es lo que pone en el cargador nokia + varistor...y puedo alimentar el movil para mantenerlo cargado? o sea mas complejo,no?

jeje tu tambien has tenido la mañana liada,no? como es que te has ido a la CAN del climatizador lo primero? no te interesa mas el OBD primero?

« Last Edit: April 02, 2011, 09:35:42 am by Sergegsx » Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hola
esta muy bien tu articulo¡¡¡
pero hay una parte que queria ver si puedes ampliar un poco por favor y si puedes poner al guna imagen: "arduino como convertidor (reset-ground puenteados)" ...
ojala pudieras y gracias por la informacion...
Logged

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Coges un cable y unes el pin de reset con el de GND
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

mexico
Offline Offline
Newbie
*
Karma: 0
Posts: 11
e¨2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hola a todos, queria hacerles una pregunta

se puede usar un celular que tenga cable mini-usb ?, veras esos dias es mas facil conseguir un celular con esas caracteristicas que los
que Sergegsx, uso ...

y otra en caso se pueda o no, lo primero, si hago esto, malograria de alguna forma mi celular ???, es decir ya no lo podria usar como antes,
solo lo uaria de esa forma.??   smiley-confuse

gracias ... por su tiempo.       smiley-grin
Logged

naaa

0
Offline Offline
Edison Member
*
Karma: 8
Posts: 1040
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

leenhikaru los mobiles usb no es que no se pueda porque lo mismo con una shield USB host funciona pero tiene que ser muy complicado.
Busca pro paginas de segunda mano, los encuentras por 2-3 Euros.
Logged

Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

Pages: [1] 2   Go Up
Jump to: