Autor Tema: Acelerómetro  (Leído 119242 veces)

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

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Acelerómetro
« Respuesta #240 en: 15 de Noviembre de 2010, 20:58:44 »
Lo que pasa es que siempre se confunde Dirección con Byte de Control. La dirección (Si es de 7-bits) es solo una parte del Byte de control, y está sobre los 7 bits más significativos. O sea, la dirección del dispositivo es 0x4C, pero a esto hay que agregarle el bit 0, en donde se indica si es lectura o escritura. Entonces, cuando se desea comunicarse con el dispositivo con dirección 0x4C y realizar una lectura, el byte de control es 0x99. En cambio si se desea realizar una escritura, el byte de control es 0x98.



Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Acelerómetro
« Respuesta #241 en: 15 de Noviembre de 2010, 21:29:01 »
Es una buena costumbre definir un par de constantes con la direccion y el bit de R/W. por ej:
#define dir_R 0x4C
#define dir_W 0x99

saludos!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado dragondgold

  • PIC16
  • ***
  • Mensajes: 103
    • Tmax & Gwolf Microcontrollers
Re: Acelerómetro
« Respuesta #242 en: 16 de Noviembre de 2010, 17:01:18 »
A ver si entendí, o sea que para comunicarme con el acelerometro en CCS deberia hacer asi:
Para escribir:

i2c_start();
i2c_write(0x98);
i2c_write(registro a configurar);
i2c_write(configuracion a cargar en el registro);
i2c_stop();

Para leer:

i2c_start();
i2c_write(0x98);
i2c_write(registro a leer);
i2c_start();
i2c_write(0x99);
x = i2c_read();
i2c_stop();

Tal vez sea por eso que el acelerometro me responde a la direccion 0x98 que envio pero no puedo configurarlo para que haga lo que quiero y tampoco puedo leerlo...
La conclusión final es que sabemos muy poco y sin embargo, es asombroso lo mucho que conocemos. Y más asombroso todavía es que un conocimiento tan pequeño nos pueda dar tanto poder

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Acelerómetro
« Respuesta #243 en: 16 de Noviembre de 2010, 17:25:22 »
Exacto, solo que al leer el ultimo byte (o uno solo) se debe enviar i2c_read(0);


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado dragondgold

  • PIC16
  • ***
  • Mensajes: 103
    • Tmax & Gwolf Microcontrollers
Re: Acelerómetro
« Respuesta #244 en: 16 de Noviembre de 2010, 17:50:28 »
Por que debo enviar i2c_read(0) al leer un solo registro?
La conclusión final es que sabemos muy poco y sin embargo, es asombroso lo mucho que conocemos. Y más asombroso todavía es que un conocimiento tan pequeño nos pueda dar tanto poder

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Acelerómetro
« Respuesta #245 en: 16 de Noviembre de 2010, 18:28:17 »
Por que debo enviar i2c_read(0) al leer un solo registro?

Leer ayuda de CCS y especificaciones del protocolo I2C  ;-)


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Acelerómetro
« Respuesta #246 en: 17 de Noviembre de 2010, 00:16:28 »
Por que debo enviar i2c_read(0) al leer un solo registro?

Leer ayuda de CCS y especificaciones del protocolo I2C  ;-)


Saludos!

"Se puede utilizar el parámetro optativo '0' para que la función no envíe el carácter acuse de recibo (ACK), de los datos recibidos"
La verdad q yo tampoco sabia sobre esto. Sera q por eso estuve rabiando tanto cuando hice ciertas pruebas con un touchpad? jeje

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Acelerómetro
« Respuesta #247 en: 17 de Noviembre de 2010, 01:28:47 »
Por que debo enviar i2c_read(0) al leer un solo registro?

Leer ayuda de CCS y especificaciones del protocolo I2C  ;-)


Saludos!

"Se puede utilizar el parámetro optativo '0' para que la función no envíe el carácter acuse de recibo (ACK), de los datos recibidos"
La verdad q yo tampoco sabia sobre esto. Sera q por eso estuve rabiando tanto cuando hice ciertas pruebas con un touchpad? jeje


 :D :D Puede ser, porque si no envias el optativo '0', se queda colgado el bus. En las especificaciones de I2C está claro como debe ser para terminar una lectura.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Acelerómetro
« Respuesta #248 en: 17 de Noviembre de 2010, 10:01:49 »
Juro que me lei el manual entero del bus i2c y nunca me percate de eso jeje :D
Ahora estoy leyendo unos ejemplos. Mas tarde veo de hacer algunas pruebas a ver si hago andar el touchpad.
Saludos y gracias por el dato suky!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado dragondgold

  • PIC16
  • ***
  • Mensajes: 103
    • Tmax & Gwolf Microcontrollers
Re: Acelerómetro
« Respuesta #249 en: 18 de Noviembre de 2010, 11:54:18 »
Alguno podra facilitarme el codigo que uso para configurar el acelerometro MMA7660?? Porque he probado un monton de configuraciones y el acelerometro simplemente no actua de acuerdo a ella. Hay algun orden para cofigurarlo? Debo tocar algun registro en especial para ponerlo en modo configuracion?

Gracias y saludos!!
La conclusión final es que sabemos muy poco y sin embargo, es asombroso lo mucho que conocemos. Y más asombroso todavía es que un conocimiento tan pequeño nos pueda dar tanto poder

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Acelerómetro
« Respuesta #250 en: 18 de Noviembre de 2010, 14:25:13 »
Hola dragondgold,
yo busque bastante y no encontre nada hecho en CCS. Asiq te recomiendo q te sientes armado en paciencia a leer la hoja de datos del mma7660 y a programar.
Entre todos te vamos a ayudar, a ver si juntos podemos sacarlo andando :wink:
saludos!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado dragondgold

  • PIC16
  • ***
  • Mensajes: 103
    • Tmax & Gwolf Microcontrollers
Re: Acelerómetro
« Respuesta #251 en: 18 de Noviembre de 2010, 14:36:26 »
No necesito precisamente en CCS sino saber si hay algun metodo para configurarlo, porque en la hoja de datos menciona los registros y configuraciones pero ningun orden, por eso queria saber si alguien habia tenido experiencia con este acelerometro, ademas el tiempo no es algo que me sobre porque debo presentar el proyecto en 15 dias...

Saludos!!
La conclusión final es que sabemos muy poco y sin embargo, es asombroso lo mucho que conocemos. Y más asombroso todavía es que un conocimiento tan pequeño nos pueda dar tanto poder

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Acelerómetro
« Respuesta #252 en: 18 de Noviembre de 2010, 15:46:49 »
Revisa las notas de aplicación, tienen código de ejemplo.

...ademas el tiempo no es algo que me sobre porque debo presentar el proyecto en 15 dias...

Suerte!  :mrgreen:
No contesto mensajes privados, las consultas en el foro

Desconectado mais

  • PIC10
  • *
  • Mensajes: 2
Re: Acelerómetro
« Respuesta #253 en: 23 de Noviembre de 2010, 09:50:21 »
Hola, me ayudan con MATLAB?...me pueden pasar algun tutorial que me ayude en la comunicacion serial y graficar en tiempo real utilizando el GUIDE de Matlab?

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Acelerómetro
« Respuesta #254 en: 23 de Noviembre de 2010, 09:56:42 »
Hola, me ayudan con MATLAB?...me pueden pasar algun tutorial que me ayude en la comunicacion serial y graficar en tiempo real utilizando el GUIDE de Matlab?


¿Que tiene que ver con este tema?  :? Por favor sigue las reglas del foro, trata los temas en los mensajes que corresponda y no desvíes otros.


Saludos!
No contesto mensajes privados, las consultas en el foro


 

anything