Jump to content
I2Cdevlib Forums

All Activity

This stream auto-updates     

  1. Today
  2. There are numerous of Breath of the Wild recipes available in Legend of Zelda game. They can make everything such as health, speed, ability and tolerate temperature and more. These recipes and the buffs that BOTW offers are generous as you progress in the game. So, here is the complete breakdown of the effects of whatever you cook or recipes and what everything does to help you move ahead smoothly. Source :- https://karenmintonblogexpert.wordpress.com/2020/01/21/the-legend-of-zelda-breath-of-the-wild-cooking-recipes/ office.com/setup | norton.com/setup |norton.com/setup
  3. Yesterday
  4. Last week
  5. Earlier
  6. I have an automotive development using MPU-6050 mounted on GY521 modules I am driving the MPU-6050 using a PIC24EP512GU806 Picmicro at 3.3v, For this reason I am bridging in the GY521 modules, the 5v to 3.3v regulator, since I have my own 3.3v regulator that powers my processor & MPU6050 They were very useful for this project the Jeff Rowberg libraries and examples, so I want to thank Jeff for this great work I am using the MPU6050 DMP, with a sampling rate of 100 ms, which interrupts my processor every 100 ms to update Accel, Gyro, Quaternions, Euler angles, etc. Now I tell you my problem, I have very serious hardware problems with the GY-521 modules I bought 1500 units of gy-521 modules from two different Chinese suppliers, The price of gy-521 was very good, less than one dollar each per 1000 units The appearance of these modules are identical to all I've seen in forum photos, each one in its bag, with the two connectors one straight and the other at 90 degrees. They all seem to be from the same manufacturer, then sold by different vendors, they are even identical to the ones I bought locally during development I have built a test tool, which connects to the gy-521 board with a clamp, does a calibration, and test with controlled movements in all axes, accel, gyros and DMP output from MPU6050 When I receive the modules, the first thing I do, is to remove the 5 to 3.3v LDO regulator, and make a bridge between pins 1 and 5 since my power supply is 3.3v. The second thing I do is test them with my tool, during this test I am getting a rejection of 10% of the modules (they are new modules taken out from their bag) The main reasons for rejection are: the DMP does not start, or any of the axes is fixed at a 2G value, no matter how the module moves. then with the 90% approved modules, I assemble my equipment, test them and encapsulate them in epoxi resin These equipments are then installed and calibrated in trucks, where they work 24 hours a day, measuring certain acceleration and incline parameters continuously, in an unattended eviroment It is good to clarify that I have experience in both design of automotive equipment and unattended equipment, with adequate power supplies and intelligence and watchdog in the processor to recover from any software failure, with the capacity of a total ot partial power off, and automatic restart The problem I am having is that after approximately 2 months of continuous good operation, the MPU6050 suddenly dies and stops working. I cannot access to measure electrically since they are encapsulated in epoxy, but I see with the monitor leds , my processor trying to power off and restart continuously the MPU6050, I see also with a led that shows the status of the interrupt pin of the MPU 6050 that the DMP is not starting. You know someone who has had similar problems, it will be counterfeit modules or mounted with scrap invensense chips? Do you know any reliable vendor for these modules?
  7. To answer my own question... I can use mpu.CalibrateAccel(6); and mpu.CalibrateGyro(6); and store the values. When the device powers up I can re-load them and this works good enough for my application...
  8. When looking at MPU6050_DMP6_using_DMP_V6.12.ino I see that you need to supply your own gyro offset. Can I use the vallues from the MPU after I run: mpu.CalibrateAccel(6); and mpu.CalibrateGyro(6);? using mpu.getXGyroOffset() ? Or should I still use IMU_Zero.ino to create the calibration routine and get the values? Ries
  9. Hi everyoneI want to make an image stabilization with stm32f103 microcontroller and mpu6050 (GY-521 module)In this project i need yaw pith roll in best Precision and need quaternionI want to get quaternion from dmp and there is no resource and user manual that describing how to coding dmpIf anyone have a doument that teach how i can using dmp to get exact data please shareI saw arduino codes which using a bank address but i was very confusedPlease help me
  10. Hi, After trying to compile several examples for Arduino for several boards (Arduino and ESP) , the only thing i get is the message: fault at compiling for board x. For example: ADXL345_raw.ino: error for board x. The standard example in Arduino 1.18.10: ADXL3xx.ino is compiled good / no error. So, what is terribly wrong? Greetings, Cees
  11. Question above. Also, is it possible to read the angular rate (only gyro) at a higher frequency when dmp is enabled?
  12. andyopayne

    MKR WiFi1010 Error

    I'm trying to compile the MPU6050_DMP6 example for an Arduino MKR WiFi1010 board however when I try to compile it in the Arduino IDE I get the following error message: '_BV' was not declared in this scope. (On line 287). If I change my board type to Arduino/Genuino Uno and try to compile then everything works just fine. Is there something about the MKR WiFi1010 board configuration that is causing this error?
  13. Office.com/setup is the official website of office setup. Here we are going to discuss about Office 365, Office 2016 and other Office setup and their latest updates. First of all we will discuss about how to download , install Office setup and activation process of Office setup to your Personal computer, laptop and for Mac and mobiles. norton.com/setup - If you are not using an antivirus on your system, then you are undoubtedly more prone to get malicious programs infected on your PC. Norton provides world’s best antivirus programs that can prevent harmful malware and viruses from infecting your system. Majority of the virus a user receives is from careless online activities.
  14. im creating my own Controller and quadcopter and i always run into a the question of "how do you filter your gyro and Acc and use them together to get a Angle" . My question is, do i need to filter the Acc and Gyro or is the OUTPUT_READABLE_YAWPITCHROLL just a filter that Uses both acc and gyro to produce the Angles? what i want to do is use both Acc and Gyro to create an angle that i will use for a PID controller to balance the quad but if the OUTPUT_READABLE_YAWPITCHROLL already does that, than that would be unnecessary.
  15. I don't get why this might make a difference ! Can you please explain ?
  16. I've got something like 500 samples/sec with direct register access using I2C and 170 samples/s using DMP provided by i2cDev. So in my opinion you'll have a bottleneck somewhere else!
  17. Hello. I am using an Arduino Mega 2560 with Data logging shield v1.0 and as a sensor mpu 6050. I am facing a problem with setting the corrct time to thr RTC and also with low sampling rate and to more specific, in my csv file i take only 23-25 values/sec. Can anyone please help me to explain how I can reach 80-100 values / sec ? Thanks in advance
  18. hi im now working o same thing....measure position from acceleration did you done this work?.....i have doubt to do that because i dont know it can be done or not?? can you share your experience please?
  19. hi i hope you have done this so far but i share my work... i transfer mpu6050 data's to computer with NodeMcu esp8266 it is one of the easiest way to do that wireless because NodeMcu had wifi i used MPU6050_DMP6_ESPWiFi example of Jeff Rowberg's mpu6050 library....you must use a hotspot to connect your computer and mpu6050 with this example i hope this can help you... even though i am trying to measure position data of mpu6050 from acceleration for a game on unity but i can not so far MPU6050_DMP6_ESPWiFi.ino
  20. niharika

    msp430fr5994 with icm 20948

    Hi All, Hello, I am working with ICM 20948 with MSP430FR5994 interfacing with I2C. According to my application I want that whenever a user defined threshold value is crossed it should give interrupt .For that I am enabling WAKE ON MOTION INTERRUPT and giving threshold value to the register .But I am not getting interrupt . Can u please help me I am attaching my code and added comments so that u can understand how I initialized and reply me as soon as possible if there is anything wrong in initialization. I wanted to know how to set threshold value in register is there any formula to set threshold value. Thanks&Regards NIHARIKA main.c icm.c
  21. I2c library is not working on arduino Due. I comment the TWR line as mentioned in other post. When I compiled the program, I received this error as shown in picture. Can anyone please help me? C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp: In member function 'void MPU6050::PID(uint8_t, float, float, uint8_t)': C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3258:65: error: invalid conversion from 'int16_t* {aka short int*}' to 'uint16_t* {aka short unsigned int*}' [-fpermissive] I2Cdev::readWords(devAddr, SaveAddress + (i * shift), 1, &Data); // reads 1 or more 16 bit integers (Word) ^ In file included from C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.h:40:0, from C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:38: C:\Program Files (x86)\Arduino\libraries\I2Cdev/I2Cdev.h:115:23: error: initializing argument 4 of 'static int8_t I2Cdev::readWords(uint8_t, uint8_t, uint8_t, uint16_t*, uint16_t)' [-fpermissive] static int8_t readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout); ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3272:63: error: invalid conversion from 'int16_t* {aka short int*}' to 'uint16_t* {aka short unsigned int*}' [-fpermissive] I2Cdev::readWords(devAddr, ReadAddress + (i * 2), 1, &Data); // reads 1 or more 16 bit integers (Word) ^ In file included from C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.h:40:0, from C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:38: C:\Program Files (x86)\Arduino\libraries\I2Cdev/I2Cdev.h:115:23: error: initializing argument 4 of 'static int8_t I2Cdev::readWords(uint8_t, uint8_t, uint8_t, uint16_t*, uint16_t)' [-fpermissive] static int8_t readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout); ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3283:69: error: invalid conversion from 'int16_t* {aka short int*}' to 'uint16_t* {aka short unsigned int*}' [-fpermissive] I2Cdev::writeWords(devAddr, SaveAddress + (i * shift), 1, &Data); ^ In file included from C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.h:40:0, from C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:38: C:\Program Files (x86)\Arduino\libraries\I2Cdev/I2Cdev.h:124:21: error: initializing argument 4 of 'static bool I2Cdev::writeWords(uint8_t, uint8_t, uint8_t, uint16_t*)' [-fpermissive] static bool writeWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data); ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3301:68: error: invalid conversion from 'int16_t* {aka short int*}' to 'uint16_t* {aka short unsigned int*}' [-fpermissive] I2Cdev::writeWords(devAddr, SaveAddress + (i * shift), 1, &Data ); ^ In file included from C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.h:40:0, from C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:38: C:\Program Files (x86)\Arduino\libraries\I2Cdev/I2Cdev.h:124:21: error: initializing argument 4 of 'static bool I2Cdev::writeWords(uint8_t, uint8_t, uint8_t, uint16_t*)' [-fpermissive] static bool writeWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data); ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp: In member function 'void MPU6050::PrintActiveOffsets()': C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3315:81: error: invalid conversion from 'int16_t* {aka short int*}' to 'uint16_t* {aka short unsigned int*}' [-fpermissive] if(AOffsetRegister == 0x06) I2Cdev::readWords(devAddr, AOffsetRegister, 3, Data); ^ In file included from C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.h:40:0, from C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:38: C:\Program Files (x86)\Arduino\libraries\I2Cdev/I2Cdev.h:115:23: error: initializing argument 4 of 'static int8_t I2Cdev::readWords(uint8_t, uint8_t, uint8_t, uint16_t*, uint16_t)' [-fpermissive] static int8_t readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout); ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3317:54: error: invalid conversion from 'int16_t* {aka short int*}' to 'uint16_t* {aka short unsigned int*}' [-fpermissive] I2Cdev::readWords(devAddr, AOffsetRegister, 1, Data); ^ In file included from C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.h:40:0, from C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:38: C:\Program Files (x86)\Arduino\libraries\I2Cdev/I2Cdev.h:115:23: error: initializing argument 4 of 'static int8_t I2Cdev::readWords(uint8_t, uint8_t, uint8_t, uint16_t*, uint16_t)' [-fpermissive] static int8_t readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout); ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3318:56: error: invalid conversion from 'int16_t* {aka short int*}' to 'uint16_t* {aka short unsigned int*}' [-fpermissive] I2Cdev::readWords(devAddr, AOffsetRegister+3, 1, Data+1); ^ In file included from C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.h:40:0, from C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:38: C:\Program Files (x86)\Arduino\libraries\I2Cdev/I2Cdev.h:115:23: error: initializing argument 4 of 'static int8_t I2Cdev::readWords(uint8_t, uint8_t, uint8_t, uint16_t*, uint16_t)' [-fpermissive] static int8_t readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout); ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3319:56: error: invalid conversion from 'int16_t* {aka short int*}' to 'uint16_t* {aka short unsigned int*}' [-fpermissive] I2Cdev::readWords(devAddr, AOffsetRegister+6, 1, Data+2); ^ In file included from C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.h:40:0, from C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:38: C:\Program Files (x86)\Arduino\libraries\I2Cdev/I2Cdev.h:115:23: error: initializing argument 4 of 'static int8_t I2Cdev::readWords(uint8_t, uint8_t, uint8_t, uint16_t*, uint16_t)' [-fpermissive] static int8_t readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout); ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3308:196: error: 'dtostrf' was not declared in this scope #define printfloatx(Name,Variable,Spaces,Precision,EndTxt) Serial.print(F(Name)); {char S[(Spaces + Precision + 3)];Serial.print(F(" ")); Serial.print(dtostrf((float)Variable,Spaces,Precision ,S));}Serial.print(F(EndTxt));//Name,Variable,Spaces,Precision,EndTxt ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3322:2: note: in expansion of macro 'printfloatx' printfloatx("", Data[0], 5, 0, ", "); ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3308:196: error: 'dtostrf' was not declared in this scope #define printfloatx(Name,Variable,Spaces,Precision,EndTxt) Serial.print(F(Name)); {char S[(Spaces + Precision + 3)];Serial.print(F(" ")); Serial.print(dtostrf((float)Variable,Spaces,Precision ,S));}Serial.print(F(EndTxt));//Name,Variable,Spaces,Precision,EndTxt ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3323:2: note: in expansion of macro 'printfloatx' printfloatx("", Data[1], 5, 0, ", "); ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3308:196: error: 'dtostrf' was not declared in this scope #define printfloatx(Name,Variable,Spaces,Precision,EndTxt) Serial.print(F(Name)); {char S[(Spaces + Precision + 3)];Serial.print(F(" ")); Serial.print(dtostrf((float)Variable,Spaces,Precision ,S));}Serial.print(F(EndTxt));//Name,Variable,Spaces,Precision,EndTxt ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3324:2: note: in expansion of macro 'printfloatx' printfloatx("", Data[2], 5, 0, ", "); ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3325:42: error: invalid conversion from 'int16_t* {aka short int*}' to 'uint16_t* {aka short unsigned int*}' [-fpermissive] I2Cdev::readWords(devAddr, 0x13, 3, Data); ^ In file included from C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.h:40:0, from C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:38: C:\Program Files (x86)\Arduino\libraries\I2Cdev/I2Cdev.h:115:23: error: initializing argument 4 of 'static int8_t I2Cdev::readWords(uint8_t, uint8_t, uint8_t, uint16_t*, uint16_t)' [-fpermissive] static int8_t readWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data, uint16_t timeout=I2Cdev::readTimeout); ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3308:196: error: 'dtostrf' was not declared in this scope #define printfloatx(Name,Variable,Spaces,Precision,EndTxt) Serial.print(F(Name)); {char S[(Spaces + Precision + 3)];Serial.print(F(" ")); Serial.print(dtostrf((float)Variable,Spaces,Precision ,S));}Serial.print(F(EndTxt));//Name,Variable,Spaces,Precision,EndTxt ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3327:2: note: in expansion of macro 'printfloatx' printfloatx("", Data[0], 5, 0, ", "); ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3308:196: error: 'dtostrf' was not declared in this scope #define printfloatx(Name,Variable,Spaces,Precision,EndTxt) Serial.print(F(Name)); {char S[(Spaces + Precision + 3)];Serial.print(F(" ")); Serial.print(dtostrf((float)Variable,Spaces,Precision ,S));}Serial.print(F(EndTxt));//Name,Variable,Spaces,Precision,EndTxt ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3328:2: note: in expansion of macro 'printfloatx' printfloatx("", Data[1], 5, 0, ", "); ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3308:196: error: 'dtostrf' was not declared in this scope #define printfloatx(Name,Variable,Spaces,Precision,EndTxt) Serial.print(F(Name)); {char S[(Spaces + Precision + 3)];Serial.print(F(" ")); Serial.print(dtostrf((float)Variable,Spaces,Precision ,S));}Serial.print(F(EndTxt));//Name,Variable,Spaces,Precision,EndTxt ^ C:\Program Files (x86)\Arduino\libraries\MPU6050\MPU6050.cpp:3329:2: note: in expansion of macro 'printfloatx' printfloatx("", Data[2], 5, 0, "\n"); ^ exit status 1 Error compiling for board Arduino Due (Native USB Port).
  22. Hi everybody. I am trying to use the dmp of the mpu 6050. I am using an arduino nano and windows 10. Also I am using the sketch "MPU6050_DMP6.ino" with almost no changes. When I run the sketch the dmp initializes correctly, but then, when it shows the quaternion´s components it only shows zeros, besides the fifo is overflown once evey 14 printed values. Similar problems occur when i try to get euler angles or yaw, pitch and roll. Any idea of what may be happening? or what i could do? Thanks a lot! The code i am using is posted in https://pastebin.com/HHL0d3WW
  23. Hello. I am using MPU 6050 with Arduino Uno r3. I also use DS1302 rtc and catalex microSD card adapter. I am facing a problem with low sampling rate and to be more specific, in my csv file i take only 30-35 values/sec. Can anyone please help me to explain how I can reach 80-100 values / sec ? Thanks in advance
  24. #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
  25. 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!
  26. 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. printed circuit board assembly
  1. Load more activity
×