Jump to content
I2Cdevlib Forums

All Activity

This stream auto-updates     

  1. Today
  2. Yesterday
  3. Last week
  4. Earlier
  5. #ifdef OUTPUT_READABLE_WORLDACCEL #ifdef OUTPUT_READABLE_WORLDACCEL // display initial world-frame acceleration, adjusted to remove gravity // and rotated based on known orientation from quaternion mpu.dmpGetQuaternion(&q, fifoBuffer); mpu.dmpGetAccel(&aa, fifoBuffer); mpu.dmpGetGravity(&gravity, &q); mpu.dmpGetLinearAccel(&aaReal, &aa, &gravity); mpu.dmpGetLinearAccelInWorld(&aaWorld, &aaReal, &q); Serial.print("aworld\t"); Serial.print(aaWorld.x); Serial.print("\t"); Serial.print(aaWorld.y); Serial.print("\t"); Serial.println(aaWorld.z); #endif I want to ask that what is the unit of above aaWorld values ? I understand that if i need to get the acceleration without gravity i need to use these values , but the values that we get from these are in m/s^2? or do i need to do something acc_in_ms2=(aaWorld.x*9.8)/16384.0 ? or something else. my offset are as follows mpu.setXGyroOffset(220); mpu.setYGyroOffset(76); mpu.setZGyroOffset(6); mpu.setZAccelOffset(1262); and my output is as follows without doing any changes in code provided after 10-15 sec (the sensor is horizontal) aworld 0 28 60 aworld -1 29 40 aworld 5 29 33 aworld 6 24 20 aworld 2 23 22 aworld -4 13 26 aworld -6 11 28 aworld -10 11 30 aworld -15 5 38 aworld -7 -1 36 aworld 7 -4 37 aworld 7 0 33 aworld 4 5 29 aworld 0 2 30 aworld -3 -7 35 seems coreect all the values converging to zeros.. but when i move the sensor in one direction , i get totally unexpected values.. aworld -415 -306 304 aworld -505 -277 318 aworld -577 -270 399 aworld -587 -207 265 aworld -572 -166 63 aworld -589 -200 -28 aworld -631 -258 -7 aworld -638 -292 30 aworld -637 -334 29 aworld -647 -404 -23 aworld -640 -483 -75 aworld -611 -542 -72 aworld -633 -503 -24 aworld -723 -344 17 aworld -816 -125 36 aworld -908 72 1 aworld -988 241 -45 aworld -1015 378 -68 I am moving the sesor only to and fro in one direction but i am getting these values Why so? please help if you have any information /knowledge about this... I want acceleration mithout gravity affect in m/s^2
  6. your Office www.office.com/setup, Office Setup with Product key, Install office 2019 setup & office 365 setup.
  7. Hello everyone. I'm quite new to Arduino and i2c so please bear with me even if my questions may have an obvious answer from your point of view. Looking at the example of 6 axis MPU 6050 I'm trying to wrap my head around some programming decision that was made, specifically: 1) Why do we run while loop while (!mpuInterrupt && fifoCount < packetSize) { inside the main Arduino loop() instead of just simply running single interrupt flag and fifoCount check each iteration of the loop(), is that to catch new data package as absolutely soon as possible? 2) Why do we use interrupt at all, can't we just check getFIFOCount() and if > packetSize - retrieve data. I've modified the example to do just that and it seems that data is still fine, nothing borked e.t.c. I might be missing the whole point of using interrupts here, please clarify this for me if possible. Thanks in advance!
  8. AndieDini

    Using I2CXL-MaxSonar-EZ and MPU6050 together

    Hi... I suggest that you modify the MaxSonar softi2cmaster code that you know works in such a way that you can use it together with i2cdevlib running in softi2cmaster mode. (You will need i2cdevlib for the MPU6050 later) SoftI2CMaster.h can only be #included once in a program, so I made the class SoftI2CMasterWire that exports the functions of SoftI2CMaster.h so other parts of the program can use them.
  9. I didn't understand what you meant by update interval. Where and how do you change that?
  10. user can dial for outlook Support Phone Number.outlook care helpline to permanently all concerns.merchant can touch with a professional technical expert and the fastest recovery for all problems.you will be quick support for all any services of outlook form expert team. call 24/7 any time when you found any error of any microsoft.this services provides free no pay charges. Microsoft Support Phone Number for instant help.the expert team contact by dial outlook Customer Service Number and resolve all kind of problem of Microsoft.
  11. Yggdrasil.Sun

    Example code MPU6050_DMP6

    INT of MPU6050 must connect PIN 2 of Arduino
  12. Yggdrasil.Sun

    Arduino mega control 3 MPU6050

    Hi everyone My graduation project is the design of robot arm. now I need three ATK-MPU6050 to solve problem of pulse losing of step motor, So I need angle data through DMP. I can run example of MPU6050_DMP to control one ATK-MPU6050, but it can't meet my needs. I need a class of mpu6050 and angle data through DMP. If you know how to control three ATK-MPU6050,I will appreciate you
  13. millerlogan

    Coinmama Support Number

    Coinmama Customer Service instant help by the Coinmama technical team.if you have any error of coinmama contact our Centre.Coinmama Support &nbsp; Number.if you need contact the team.we are independent service provider for coinmama and remove all issues.
  14. Hello everyone. Thanks for your explanation jeff. I am building a robot that will drive straight and i intend to use the yaw angle error to make that happen. Right now I am at the yaw angle reading stage. I used the calibration sketch (attached below) and got the offsets. Then i plugged those offsets into DMP6 example of Jeff Rowberg library (thanks to jeff). I was expecting 0 readings for yaw, pitch and roll as i had held it still all the while. But the readings were 49.6(y) 0.6(p) -2.81(r). Can anyone tell me what might be the error? I did notice the comment above the offset setting part of dmp6 saying "supply your own offsets here, scaled to minimum sensitivity." Can the reason be that my sensitivity factor is not correct? // load and configure the DMP Serial.println(F("Initializing DMP...")); devStatus = mpu.dmpInitialize(); // supply your own gyro offsets here, scaled for min sensitivity mpu.setXGyroOffset(220); mpu.setYGyroOffset(76); mpu.setZGyroOffset(-85); mpu.setZAccelOffset(1788); // 1688 factory default for my test chip Can that be the reason? Tahnks in advance. MPU6050_calibration.ino
  15. Problem solved. bus.write_byte_data(0x68, 0x1C, 0x00) 2g bus.write_byte_data(0x68, 0x1C, 0x08) 4g bus.write_byte_data(0x68, 0x1C, 0x10) 8g bus.write_byte_data(0x68, 0x1C, 0x18) 16g
  16. import smbus import time # Get I2C bus bus = smbus.SMBus(1) # MPU-6000 address, 0x68(104) # Select gyroscope configuration register, 0x1B(27) # 0x18(24) Full scale range = 2000 dps bus.write_byte_data(0x68, 0x1B, 0x18) # MPU-6000 address, 0x68(104) # Select accelerometer configuration register, 0x1C(28) # 0x18(24) Full scale range = +/-16g bus.write_byte_data(0x68, 0x1C, 0x18) # MPU-6000 address, 0x68(104) # Select power management register1, 0x6B(107) # 0x01(01) PLL with xGyro reference bus.write_byte_data(0x68, 0x6B, 0x01) I wish to convert the measurement range from +-16g of the accelerometer to +-2g and 2000dps of the gyroscope to 250dps. Any Gurus can help me on this? This is the register map for MPU 6050 https://www.invensense.com/wp-content/u ... r-Map1.pdf
  17. Have you been able to work this out? I need a program for school that gives me an interrupt when a person with this sensor attached to his waist falls, and only when it gives an interrupt does it have to read sensor values. I can't however find a solution for this, was hoping you could help.
  18. Rjsamat

    Help needed

    Hi every one is there some can help me in my project. I'm trying to make a DSLR gimble with a 2 servo motors. Gs90 and I have a arduino nano board and a MMA845x accelerometer with a joystick I need motors to stay in position that I stop and seep steddy and joystick to control the roll and the pitch. Please if anyone can give me code for this it will be big help. This gimbal is for my own use not for any youtube or any blog.
  19. Dear Susan, renrr3, jrlin and anyone who might be confused about these calculations on the calibration function: I came upon this problem while trying to calibrate the sensor with a +/-16G range. It turns out that these constants rescale the offsets for the selected sensibility, as the values returned by the MPU6050 are in the maximum range. So, for a +/-2G accelerometer range (standard) it's necessary to divide the coefficients by 8 (16G/8 = 2G) and the gyroscope ones by 4 for a standard sensibility of 250dps (1000dps/4 = 250dps). In order to calibrate the sensor properly, I also had to change the constants 16384 by 2048. This is because the chip provides values between -32,768 and 32,767. With a range of 2G, the gravity acceleration is equivalent to the number 16384 (32767/2). If the range is 16G, then 1G is 2048 (32767/16). This explanation was provided by arduarn in the Arduino forum. You can check the original discussion here http://forum.arduino.cc/index.php?topic=535717 Best wishes,
  20. Once powered up is there a way to tap any value from the Gyroscope before it goto the serial bus?
  21. Hi All, I have down loaded all library file to run the above code, It compiles and down loads OK . When I run the sketch it stops with the message " MPU Connection failed" followed by "Send any character to begin the DMP demo". Then nothing. I have checked all wiring(at least 6 times) and the I2C address of the device which is 0x68. Help! Regards John
  22. It would be valuable to the community to have the library updated to MotionApps 5.1 (or 6.x?) based on what InvenSense has most recently published, but this is not a small endeavor. I am tied up with my main day job and a few other side projects at the moment, so it will either have to wait or someone else will have to do most of the development for now.
  23. I've been trying to learn the inns and outs of this library, with respect to the MPU6050 recently with the help of the docs, but it seems like they are hopelessly out of date. They were last updated in 2011, and it looks like the library has progressed rapidly from then. Can we get it updated? Thanks!
  24. Granted, I'm new to this stuff too, but that is how I interpreted it. I think the values spit out in `int16_t` containers are unscaled, requiring the API user to divide by the given resolution, as per the MPU6050 datasheet. (p.13, section 6.2)
  25. This might sound like a very silly question, so I apologize if this is something very simple but just cannot get my head around it. I am trying to understand what the data provides in terms of real time information, for example, the MPU-6050:Gyroscope - is a 16 bit data register with a range from (0 <-> 65535)There is a selection of ranges (±250, ±500, ±1000, and ±2000°/sec)If the range is set to ±250°/sec, is the reading 360/65535 = 0.0054 resolution?What does °/sec mean, if the sensor does not move and reads zero and then turned quickly does it mean it will be reading the angle at the set range? For example, if the range was set to ±2000°/sec and it was moved 200° would the read move from 0 to (2/65535 *200) and keep sending this value once the sensor stopped moving?Accelerometer - is a 16 bit data register with a range from (0 <-> 65535)There is a selection of ranges (±2g, ±4g, ±8g and ±16g)If the sensor is not moving, completely flat the reading will be 0?If the sensor is shocked at 2g will the max reading be 65535 (if set of 2g, with a resolution of 2/65535)If the sensor is shocked at 16g will the max reading be 65535 (if set of 16g, with a resolution of 16/65535))
  26. Dear Jeff, Could you please help to complete the "dmpGetTemperature()" function in MPU6050_6Axis_MotionApps20 ? I unable to find any resource to complete this function. https://github.com/jrowberg/i2cdevlib/blob/900b8f959e9fa5c3126e0301f8a61d45a4ea99cc/Arduino/MPU6050/MPU6050_6Axis_MotionApps20.h#L680 An other thing I need to know in the DMP configuration, Do I need to change some configuration when I consider vertical axes as Y, instead of Z axes ?
  27. Hi everyone. I am doing a small project in which I want to collect readings of multiple gyroscopes and transfer them to a nearby computer for further processing. I have been able to connect MP 6050 to Arduino UNO and show the gyroscope readings on the serial monitor. I basically want to do the same thing, but without having to use printer wire (or any other wire) to connect Arduino to computer. What would be the simplest way to do it? can you guys recommend me any good guide or tutorial for that? I have no prior hardware experience except for making a few simple circuits. I am also open to learning/using platforms other than Arduino Uno (maybe NodeMCU, Raspberry Pi, etc) if that would make this any easier.
  28. check this https://github.com/danomora/mpu6050-vhdl
  29. i am currently using the mpu6050 for a project. Now i need to interface it with odroid xu4. Since the mpu6050 requires 5v and the odroid power supply supplies only 1.8v, can i connect the power supply required by the mpu6050 from external source of 5V and connect the i2c interface and ground to odroid
  1. Load more activity