Jump to content
I2Cdevlib Forums

Omar Azuaje

Members
  • Posts

    1
  • Joined

  • Last visited

Omar Azuaje's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. Buenas soy nuevo en el foro y estoy trabajando con el sensor de MPU6050 Controlado ONU de la estafa pic con el compilador PicBasicPro y agradeceria Mucho Alguna ayuda Que pudieran ofrecerme, El problema Es Que CUANDO carga El Programa una foto millas y Mando a imprimir los Datos del MPU6050 una millas en solitario LCD Pantalla mí Muestra el valor "257" es de Todos los ejes (X, Y y Z) no se que tendra mi Problema programacion, aqui se las dejo... Gracias... '**************************************************************** '* Name : UNTITLED.BAS * '* Author : [select VIEW...EDITOR OPTIONS] * '* Notice : Copyright (c) 2017 [select VIEW...EDITOR OPTIONS] * '* : All Rights Reserved * '* Date : 24/01/2017 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** ''''''''''''''''''''''CONFIGURACION DEL OSCILADOR''''''''''''''''''''''''''''' DEFINE I2C_SLOW 1 'Cuando en la transferencia es utilizado un 'oscilador menor a 8 Mhz define osc 4 '''''''''''''''''''''SYMBOL A LOS PUERTOS''''''''''''''''''''' '''''''''''''''' symbol SDA = PORTB.0 'Le damos un alias a los puertos symbol SCL = PORTB.1 Symbol T1200 = 1 'Velocidad de transmision bps ''''''''''''''''''''''PUERTOS I/O''''''''''''''''''''''''''''''''''''''''''''''' TRISB = %00000000 PORTC = %01000000 PORTD = %00000000 ''''''''''''''''''''''CONFIGURACION DE LA LCD''''''''''''''''''''''''''''''''''' DEFINE LCD_DREG PORTD ' Indica que el Bus estará conectado en el Puerto D DEFINE LCD_BITS 4 ' El bus será de cuatro bits. DEFINE LCD_DBIT 4 ' Selección del Bit de inicio del puerto en el uC para el ' bus de datos de la LCD DEFINE LCD_RSREG PORTD ' Indica al uC que el pin "RS" estará en el Puerto D DEFINE LCD_RSBIT 2 ' "RS" estará conectado en RD2 DEFINE LCD_EREG PORTD ' Indica al uC que el pin "E" estará en el Puerto D DEFINE LCD_EBIT 3 ' "E" estará conectado en RD3 Lcdout $fe, 1 ' Limpia la pantalla '''''''''''''''''''''''''''DECLARACION DE VARIABLES''''''''''''''''''''''''''''' READ_ACX VAR WORD READ_ACY VAR WORD READ_ACZ VAR WORD READ_GYX VAR Word READ_GYY VAR Word READ_GYZ VAR Word ''''''''''''''''''''''''Declaracion de direcciones a usar''''''''''''''''''''''' I2C_ADDRESS con $68 'Establecer conexion con el MPU6050 mandando a (AD0 = 0) PWR_MGMT_1 con $6B 'Registro para el reset del MPU6050 CONFIG_ con $1A 'Configuracion de la velocidad de muestreo del ADC GYRO_CONFIG con $1B 'Configuracion para establecer conexion con el giroscopio ACCEL_CONFIG con $1C 'Configuracion para establecer conexion con el acelerometro 'I2C_SLV0_ADDR con $25 ''''''''''''''''''''''''''''H/L DEL ACELEROMETRO'''''''''''''''''''''''''''''''' ACCEL_XOUT_H con $3B 'Habilitar lectura del Ac. en el eje X ACCEL_XOUT_L con $3C 'Desabilitar lectura del Ac. en el eje X ACCEL_YOUT_H con $3D 'Habilitar lectura del Ac. en el eje Y ACCEL_YOUT_L con $3E 'Desabilitar lectura del Ac. en el eje Y ACCEL_ZOUT_H con $3F 'Habilitar lectura del Ac. en el eje Z ACCEL_ZOUT_L con $40 'Desabilitar lectura del Ac. en el eje Z '''''''''''''''''''''''''''H/L DEL GIROSCOPIO''''''''''''''''''''''''''''''''''' GYRO_XOUT_H con $43 'Habilitar lectura del Gy. en el eje X GYRO_XOUT_L con $44 'Desabilitar lectura del Gy. en el eje X GYRO_YOUT_H con $45 'Habilitar lectura del Gy. en el eje Y GYRO_YOUT_L con $46 'Desabilitar lectura del Gy. en el eje Y GYRO_ZOUT_H con $47 'Habilitar lectura del Gy. en el eje Z GYRO_ZOUT_L con $48 'Desabilitar lectura del Gy. en el eje Z Inicio: '''''''''''''CONFIGURACION PARA LA ESTABLECER CONEXION CON LA IMU''''''''''''''' I2CWrite SDA, SCL, I2C_ADDRESS, PWR_MGMT_1, [%10000000] 'Reset del dispositivo pause 100 I2CWrite SDA, SCL, I2C_ADDRESS, PWR_MGMT_1, [%00000000] 'Inicialiazacion pause 100 I2CWrite SDA, SCL, I2C_ADDRESS, CONFIG_, [%00000100] 'Config. vel. de muestreo pause 100 I2CWrite SDA, SCL, I2C_ADDRESS, GYRO_CONFIG, [%000000001] 'Config del Gy. pause 100 I2CWrite SDA, SCL, I2C_ADDRESS, ACCEL_CONFIG, [%11100000] 'Config del Ac. pause 100 '''''''''''''''''LECTURA DE LOS DATOS OBTENIDOS DE LA AC'''''''''''''''''''''''' I2Cread SDA, SCL, I2C_ADDRESS, ACCEL_XOUT_H, [READ_ACX.HighByte] 'High lectura del AcX pause 100 I2Cread SDA, SCL, I2C_ADDRESS, ACCEL_XOUT_L, [READ_ACX.lowByte] 'Low lectura del AcX pause 100 I2Cread SDA, SCL, I2C_ADDRESS, ACCEL_YOUT_H, [READ_ACY.HighByte] 'High lectura del AcY pause 100 I2Cread SDA, SCL, I2C_ADDRESS, ACCEL_YOUT_L, [READ_ACY.lowByte] 'Low lectura del AcY pause 100 I2Cread SDA, SCL, I2C_ADDRESS, ACCEL_ZOUT_H, [READ_ACZ.HighByte] 'High lectura del AcZ pause 100 I2Cread SDA, SCL, I2C_ADDRESS, ACCEL_ZOUT_L, [READ_ACZ.lowByte] 'Low lectura del AcZ pause 100 '''''''''''''''''LECTURA DE LOS DATOS OBTENIDOS DEL GY'''''''''''''''''''''''''' I2Cread SDA, SCL, I2C_ADDRESS, GYRO_XOUT_H, [READ_GYX.HighByte] 'High lectura del GyX pause 100 I2Cread SDA, SCL, I2C_ADDRESS, GYRO_XOUT_L, [READ_GYX.lowByte] 'Low lectura del GyX pause 100 I2Cread SDA, SCL, I2C_ADDRESS, GYRO_YOUT_H, [READ_GYY.HighByte] 'High lectura del GyY pause 100 I2Cread SDA, SCL, I2C_ADDRESS, GYRO_YOUT_L, [READ_GYY.lowByte] 'Low lectura del GyY pause 100 I2Cread SDA, SCL, I2C_ADDRESS, GYRO_ZOUT_H, [READ_GYZ.HighByte] 'High lectura del GyY pause 100 I2Cread SDA, SCL, I2C_ADDRESS, GYRO_ZOUT_L, [READ_GYZ.lowByte] 'Low lectura del GyY pause 100 Lcdout $fe, 1 ' Limpia la pantalla Lcdout $fe,2 ' Inicio de la primera línea. LCDOUT "X=",SDec READ_GYX,$FE,2,$FE,$14,$FE,$14,$FE,$14,$FE,$14,$FE,$14,$FE,$14,$FE,$14,$FE,$14, "Y=",SDec READ_GYY," " LCDOUT $FE,$C0,"Z=",SDec READ_GYZ,$FE,$C0+7,$FE,$C0+8 goto inicio end
×
×
  • Create New...