If you watch the z value, you can tell it's up and down since it has a consistently high value due to the force of gravity. If you'd tipped it upside down the Z value would have reversed but stayed at a similar magnitude. Since the accelerometer detects force it will change based on either accelerations (as per the name) or by the force of gravity, which is indistinguishable. The Gyro detects tilt. You can derive angle using an accelerometer thanks to gravity, but you can't tell if it's "twisting" side to side, (particularly if it's twisting around the vertical axis, since the gravity vector will stay the same). An accelerometer can detect tilt thanks to gravity. A gyro gives you a more consistent way to detect tilts, since you don't care about using a reference like gravity to work things out; The number changes, you know the board is tilting or twisting in some way. Basically, Gyro detects tilts about an axis, accelerometers detect movement in space. Their programs seem a bit unrefined, which is a shame. Couple of println() rather than print() adding those annoying linebreaks. IIRC, the wire library defines functions for communicating using I2C (which is a communications protocol), so that the Arduino can communicate with the IMU and get the values. You can see that it asks for values from the IMU registers (registers are memory that store values; presumably the IMU records values to those registers). It then records those to variables to be printed out later. For something like an IMU, I imagine much of the work is in integrating it into your existing program for whatever particular purpose you have (ie. making the numbers you receive useful and meaningful).
Didn't even think about tipping it upside down!! Another 'Duh' moment lol. It's a real shame they don't have someone like yourself who could have explained the tutorials in a normal terms approach as opposed to the, in my opinion, blatant copy and paste from a textbook approach these tutorials have. I've just completed one of the tutorials for a sound sensor, the code was so beautifully written, with loads of comments, made me so happy. For free tutorials, I'm happy to be honest. I know you mentioned you're in your 4th year now. Did you study any of this in class or all self taught? I know you also mentioned you learn loads from a project but how did you pick up the IMU/IIRC knowledge.. books? googling during projects?
@@HamedAdefuwa Yeah, I'm starting my fourth year after finishing a years work placement at an engineering firm. I'm going to be terribly unhelpful, but I pick up most of this stuff incidentally. I haven't worked with IMUs before, but I've got an FPV quadcopter, which rely on them for orientation and sensing. I'm working by the descriptions as well and a quick bit of google to confirm I've got it right. You won't find specific stuff like this in classes (IME). My experience is they tend to cover a lot of the basics, actual implementation and design is down to you putting in the work. They'll teach you how a microcontroller works under the hood (registers, a tiny bit of assembly, etc), and that gives you familiarity with how to work on them later. Same for most other related subjects; Uni gives you the basics to help you understand the more advanced stuff as you work along. I think a lot of these products likely originate in China, particularly the cheaper ones (see. Original arduino costing 23$), so it's likely the manual and tutorials were written by a non-native speaker. It's a shame they don't find an English engineer and contract them for a couple days to iron out a lot of these wrinkles. Cheap for a reason, really :p.
@@jordanb722 lol yupp I knew it was a non-native speaker, although to be honest pretty much all my lecturers are non-native haha. I'm doing embedded systems this semester so hopefully will get a lot more knowledge on it. I did Assembly last year and that helped a lot. Probably need to increase my overall reading around each module to be honest.