Jump to content
I2Cdevlib Forums

All Activity

This stream auto-updates     

  1. Past hour
  2. Today
  3. Yesterday
  4. Last week
  5. Earlier
  6. The DLPF of mpu6050 is not in "default on" mode while dealing with the raw values from the sensor. You have to turn it on in order to make sense of the raw values. If you look carefully at the Raw example code, mpu6050.h is added as a header file. In that file , you will see this section is present: void MPU6050::setDLPFMode(uint8_t mode) { I2Cdev::writeBits(devAddr, MPU6050_RA_CONFIG, MPU6050_CFG_DLPF_CFG_BIT, MPU6050_CFG_DLPF_CFG_LENGTH, mode); } So in your Raw example code you will turn on the dlpf by using this command just after the initialization: accelgyro.setDLPFMode(MPU6050_DLPF_BW_42);
  7. Hey guys! I was wondering if anyone knows the appropriate citation (in an academic context) for the I2C library?
  8. Hi Anistor, Could you access the raw values of the magnetometer? If yes, can your please share your code? I am facing problems regarding this.
  9. Hi Anistor, Could you access the raw values of the magnetometer? If yes, can your please share your code? I am facing problems regarding this.
  10. Hello , i am not good at C and trying to work with FPGA , how i can find register addresses about : // ======== UNDOCUMENTED/DMP REGISTERS/METHODS ========? // XG_OFFS_TC register 00677 int8_t getXGyroOffset(); 00678 void setXGyroOffset(int8_t offset); 00679 00680 // YG_OFFS_TC register 00681 int8_t getYGyroOffset(); 00682 void setYGyroOffset(int8_t offset); 00683 00684 // ZG_OFFS_TC register 00685 int8_t getZGyroOffset(); 00686 void setZGyroOffset(int8_t offset); 00687 00688 // X_FINE_GAIN register 00689 int8_t getXFineGain(); 00690 void setXFineGain(int8_t gain); 00691 00692 // Y_FINE_GAIN register 00693 int8_t getYFineGain(); 00694 void setYFineGain(int8_t gain); 00695 00696 // Z_FINE_GAIN register 00697 int8_t getZFineGain(); 00698 void setZFineGain(int8_t gain); 00699 00700 // XA_OFFS_* registers 00701 int16_t getXAccelOffset(); 00702 void setXAccelOffset(int16_t offset); 00703 00704 // YA_OFFS_* register 00705 int16_t getYAccelOffset(); 00706 void setYAccelOffset(int16_t offset); 00707 00708 // ZA_OFFS_* register 00709 int16_t getZAccelOffset(); 00710 void setZAccelOffset(int16_t offset); 00711 and so on
  11. Hi, do you have any success ?
  12. after MPU6050 connected to arduino , and work with examples MPU6050 cannot work with my vhdl code ,, because arduino changes smth .. what register of fifo i dont know and how to reset mpu to factory defaults i dont know ..may be someone know it ? Many things undocumented and no other substitute or market.
  13. hello everyone, i have a project using an adxl345 for measure vibration velocity. i had read any references about that said is possible. but i am beginner at arduino. i dont know how to get velocity data with accelerometer. can you guys help me. sorry for bad english. thanks anyway.
  14. hello everyone, i have a project using an adxl345 for measure vibration velocity. i had read any references about that said is possible. but i am beginner at arduino. i dont know how to get velocity data with accelerometer. can you guys help me. thanks anyway.
  15. Hi Frank, Thanks for the reply so basically to give you some feedback on my experience so far. So I tried in the previous days different wires and different combinations and now managed to go up to 3m without any problems and without sacrificing accuracy. There is a permanent good connection now. What I have experienced is that it really depends on the wire. For example with a AWG24 wire (CAT5e) I could only connect either SCL or SDA on the same 8 cable strand, whereas now I am using AWG28 with 10pin Ribbon cable and it works perfectly fine. In case you need to extend your cable even further than I achieved so far have a look at active I2C extension boards like the one in the link below. https://www.horter.de/doku/i2c-extender-testplatine_db.pdf The only issue I now have is connecting multiple MPU6050 at a time to the Arduino DUE while using Jeff Rowberg's I2CDevlib. Regards, Tom
  16. Same doubt here, for quite a long time. I mainly work with the accelerations. I am still a beginner in this, so it is not clear to me whether the DLPF only acts if the DMP is on. Also, I did not find any configuration where the DLPF is off, is it always on? (pg 13 of product specification does not show any value to turn DLPF off). Better, let me ask a practical hypothetical question: If I only extract raw acceleration values from MPU6050, would the DLPF be on by "default"? In other words, if I implement a code in Arduino to read data from MPU6050 at 1kHz, would the DLPF be previously applied to the data? I am facing problems to check this behaviour since I do not have the means to produce high frequency vibrations and test it empirically.
  17. Tom, I can't give you any help, but I am having a similar issue with the 6050 and 25-30 cm wire lengths. I can 'see' the device and get data from it, but something hangs up after a few tens of minutes. I'm still working on what the 'something' is ;-). Frank
  18. Dear all, I am using the 6 axis motion app library developed by Jeff Rowberg. For my application I need to have my accelerometer 2m away from my Arduino. The issue I have is that my I2C scanner finds the accelerometer but when I use the Accelerometer code I cannot read any values. If I use a short wire (5cm) I can read the values perfectly fine. I have tried to set my I2C baud rate to a lower value using Wire.setClock(100000); so 100kHz rather than the standard 400kHz but I still get the same result. Thank you so much for your help in advance. Best regards, Tom
  19. Hi! I'm currently researching the exact same problem. You have to integrate the gravity-free data or otherwise you will have constant "velocity". I've tried several different filters and is now trying to implement a Kalman filter. What resources do you have and what are the measurement from?
  20. Hi Hatt, I saw your post back in 2014 about integrating two MPU6050. I am doing similar project right now to track the arm movement. I also encounter FIFO overflow problem. Would you mind sharing the code to fix the issue ? Thank you.
  21. Voltonik

    MPU6050 values to joystick values

    Nvm... done it
  22. Hello guys, Iam trying to convert MPU6050 ypr values got by the 12cdev library to a joystick values.. is there a way to do this ?
  23. For my project i need a way to determine correct orientation of the rocket. I took code for Madgwick filter from here https://github.com/morgil/madgwick_py for collecting data i used Arduino Nano + MPU9250 sensor. This setup sends packets every 12ms to my PC via Serial. I calibrated magnetometer by calculating biases to "align" axis origin and center of sphere, created by set of measurements. Then i drew coordinate axis with blender: and coded some script for it - quaternion.py It just reads values from serial, feeds them into Filter, and then rotates my axis object using quaternion rotation mode. I screwed up with orientation of model's X axis a little bit, so when i rotate my board clockwise, axis on the screen rotates counter-clockwise. I flipped signs of all X components, and it became fine. According to this picture i flipped X and Y axis and sign of Z axis, to align axis of magnetometer with gyroscope + accelerometer And it almost works with one small exception - when after "stabilization" i tilt i.e. X axis downwards (or Y axis, doesnt matter) this axis starts drifting toward global X-Y plane. If i tilt axis upwards, remaining axis starts drifting around global O-Z axis, like this X axis downwards And when x axis upwards Speed of that drift depends on Beta of Madgwick filter - the more beta the more drift. What can be done there?
  24. SOURABH BHARDWAJ

    I2C library not found in arduino

    hi guys, I have been trying to build a self balancing robot but everytime I run the code it shows that I2C library is not found even though I have added the library. Any help would be highly appreciated. Thank You.
  25. Dear luisrodenas, May I know what is the motivation for the division by 8 and 4 in the calibration function? ax_offset=-mean_ax/8; ay_offset=-mean_ay/8; az_offset=(16384-mean_az)/8; gx_offset=-mean_gx/4; gy_offset=-mean_gy/4; gz_offset=-mean_gz/4; Moreover in calibration function, unlike accelerometer offset value why the (gyro offset - mean gyro value) is divided by 2 instead of 1 which is giro_deadzone? if (abs(mean_gx)<=giro_deadzone) ready++; else gx_offset=gx_offset-mean_gx/(giro_deadzone+1); if (abs(mean_gy)<=giro_deadzone) ready++; else gy_offset=gy_offset-mean_gy/(giro_deadzone+1); if (abs(mean_gz)<=giro_deadzone) ready++; else gz_offset=gz_offset-mean_gz/(giro_deadzone+1); I would be really thankful if I get the reasons for using different divisor value. Thank you.
  26. Dear luisrodenas, May I know what is the motivation for the division by 8 and 4 in the calibration function? ax_offset=-mean_ax/8; ay_offset=-mean_ay/8; az_offset=(16384-mean_az)/8; gx_offset=-mean_gx/4; gy_offset=-mean_gy/4; gz_offset=-mean_gz/4; Moreover in calibration function, unlike accelerometer offset value why the (gyro offset - mean gyro value) is divided by 2 instead of 1 which is giro_deadzone? if (abs(mean_gx)<=giro_deadzone) ready++; else gx_offset=gx_offset-mean_gx/(giro_deadzone+1); if (abs(mean_gy)<=giro_deadzone) ready++; else gy_offset=gy_offset-mean_gy/(giro_deadzone+1); if (abs(mean_gz)<=giro_deadzone) ready++; else gz_offset=gz_offset-mean_gz/(giro_deadzone+1); I would be really thankful if I get the reasons of using different divisor value. Thank you.
  27. Hello guys i am new to arduino i am using the pro mini with the MPU 6050 the code i am using is the raw data from https://playground.arduino.cc/Main/MPU-6050#short first i was facing the same problem the values on the serial monitor were all -1 i tried pull up resistors on SCL and SDA but didn;t work then to connect AD0 to GND aslo the same but when i connect AD0 to Vcc (5V) it worked but not completely i am getting values and they are changing but i am getting gibberish characters on the serial monitor as well Any suggestions to fix the problem Thanks in advance
  28. Jameshopes

    Quick Payday Cash Short Loan

    It ought to be noticed that this online administration is one of the quickest and most advantageous methods for loaning. The choice on the issue of assets is taken inside 15-30 minutes, and the exchange of assets is done immediately. On the off chance that you requested that yourself where get a loan from the age of 18, at that point unquestionably it is worth to consider little dollar loans gave by payday moneylenders on the web. Youngsters will be offered various aces getting a loan by means of the Internet at e-loans-canada.ca. There is no should be available actually while applying for a loan. You can make a straightforward application on the site in two or three minutes. You don't have to give an authentication of pay. It will be sufficient to have a visa and distinguishing proof code. Needn't bother with underwriters, loans from 18 are issued on a classified premise. You can get a loan all day and all night, 7 days seven days. A helpful mini-computer will figure the last measure of the excessive charge shortly . If there should arise an occurrence of issues with the accessibility of assets for installment toward the finish of the term by understanding, it is conceivable to expand the loan amid the term of the agreement or at its end. As should be obvious, there are a great deal of advantages for borrowers. Obviously, it is imperative to appropriately survey the budgetary circumstance not to ruin the record as a consumer. Absence of affirmation of dissolvability, colossally builds the dangers of non-return, driving on the web administrations to concentrate just on the notoriety of the customer. That is the reason it is vital to make convenient installments paid by the understanding with a specific end goal to exploit the chance to get expansive online payday loans faxless later on. On the off chance that you will apply for a payday loan, in the first place, you are prescribed to think about all dangers and conceivable negative outcomes. You will discover more data about dangers here.
  29. Hi I am having a hard time with the MPU6050. What I want to achieve I want to read values from the MPU6050 and convert these values to absolute G forces for measurement in a small airplane. The sensitivty needs to be as high as possible +- 16G? I've been able to read raw data from the sensor by using this code: void loop() { // read raw accel/gyro measurements from device accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); // these methods (and a few others) are also available //accelgyro.getAcceleration(&ax, &ay, &az); //accelgyro.getRotation(&gx, &gy, &gz); #ifdef OUTPUT_READABLE_ACCELGYRO // display tab-separated accel/gyro x/y/z values Serial.print("a/g:\t"); Serial.print(ax); Serial.print("\t"); Serial.print(ay); Serial.print("\t"); Serial.print(az); Serial.print("\t"); Serial.print(gx); Serial.print("\t"); Serial.print(gy); Serial.print("\t"); Serial.println(gz); #endif #ifdef OUTPUT_BINARY_ACCELGYRO Serial.write((uint8_t)(ax >> 8)); Serial.write((uint8_t)(ax & 0xFF)); Serial.write((uint8_t)(ay >> 8)); Serial.write((uint8_t)(ay & 0xFF)); Serial.write((uint8_t)(az >> 8)); Serial.write((uint8_t)(az & 0xFF)); Serial.write((uint8_t)(gx >> 8)); Serial.write((uint8_t)(gx & 0xFF)); Serial.write((uint8_t)(gy >> 8)); Serial.write((uint8_t)(gy & 0xFF)); Serial.write((uint8_t)(gz >> 8)); Serial.write((uint8_t)(gz & 0xFF)); #endif Does anyone know where I could get started or have a source code available? Thanks in advance, Erwin
  30. Hello Sir, I am using this git hub code https://github.com/jrowberg/i2cdevlib/blob/master/Arduino/MPU6050/examples/MPU6050_DMP6/MPU6050_DMP6.ino and I want to find displacement from accelerometer. How can I Implement it? I know only If we have to find Displacement from accelerometer then we have to integrate it.But If we Directly integrate It then error will increase, so we have to use filter But which filtter I have to use? And which accelerometer data I have to integrate It raw data or gravity-free data. Please, anyone, help me how to find displacement from the accelerometer
  1. Load more activity
×