ger Posted August 27, 2013 Report Share Posted August 27, 2013 Hi, I'm having a bit of trouble understanding the output of the L3G4200D Gyroscope. When I run the sample program I get an output on all axis between 0 and 255. It doesn't seem to distinguish between clockwise rotation and anti-clockwise rotation. Here's an example of the output from running https://github.com/jrowberg/i2cdevlib/blob/master/Arduino/L3G4200D/Examples/L3G4200D_raw/L3G4200D_raw.ino (excluding Serial.print("angular velocity:\t"); ) Does anyone know if this is correct? Initializing I2C devices... Testing device connections... L3G4200D connection successful 183 213 32 8 253 19 9 255 23 11 0 26 8 252 17 11 255 24 11 253 16 7 252 20 8 253 17 12 254 17 8 1 18 10 255 17 12 250 19 5 251 19 13 0 22 10 254 19 13 254 18 10 254 18 13 254 15 13 1 25 10 254 20 14 255 17 13 250 20 18 255 21 11 0 19 14 1 14 14 255 16 12 0 17 7 255 19 10 252 19 13 254 18 10 248 14 7 254 15 10 252 20 8 253 19 10 251 14 11 254 18 11 3 19 10 255 12 9 252 18 13 3 20 9 255 18 9 4 24 13 1 18 8 4 17 16 0 16 10 0 22 7 1 12 15 255 16 10 1 21 11 255 23 6 0 19 9 252 23 11 4 15 7 252 20 8 1 20 5 1 20 11 254 15 7 252 16 15 255 15 11 254 18 14 250 20 14 254 20 6 255 25 8 250 21 7 255 22 12 253 23 11 0 14 11 252 20 8 253 24 10 251 16 5 251 18 12 254 20 18 254 18 15 254 24 3 255 22 5 251 15 9 0 18 7 249 20 12 255 22 7 252 21 12 3 19 11 253 22 13 253 17 13 1 15 13 1 21 8 251 16 7 255 16 13 250 23 8 255 16 10 252 18 9 1 20 10 255 17 14 252 18 9 251 13 11 254 19 12 253 22 9 1 15 13 251 19 9 255 20 6 249 16 8 253 17 10 1 24 8 253 18 9 253 16 10 248 22 7 251 21 8 3 21 10 253 19 10 0 23 10 250 19 5 255 19 11 250 20 11 252 26 10 250 19 11 251 12 10 254 15 12 0 18 10 255 23 7 0 21 9 250 22 13 251 16 8 248 22 9 0 18 9 255 24 15 254 17 7 255 25 10 255 19 14 253 19 13 252 25 11 2 17 9 255 18 12 5 21 13 254 20 13 254 17 13 0 20 12 0 20 11 250 25 6 255 16 16 1 17 14 253 19 10 255 19 11 255 19 9 254 24 10 1 17 12 250 18 7 5 13 9 255 21 4 249 20 15 255 15 9 245 16 7 248 18 9 1 17 9 252 21 7 0 16 14 252 17 9 255 18 10 1 20 12 251 17 14 253 19 10 1 17 12 255 13 10 252 14 10 254 16 11 255 17 7 255 21 10 0 21 10 254 21 9 0 20 9 254 16 10 0 15 12 254 13 8 250 16 14 0 11 12 255 16 12 3 19 7 251 25 11 255 18 10 255 22 9 255 15 11 254 19 12 251 17 13 255 18 8 253 19 14 0 17 9 254 19 16 250 19 7 1 20 11 1 17 8 255 20 7 1 16 11 0 15 17 1 19 11 0 22 12 254 20 13 253 17 12 255 17 12 254 28 11 252 21 13 252 20 14 254 18 12 251 18 11 251 22 10 253 18 9 0 23 15 248 20 13 0 15 10 254 20 10 255 19 10 254 18 7 249 21 10 251 21 7 1 23 7 252 15 6 253 19 9 254 18 13 253 18 8 246 21 11 255 14 12 0 13 7 254 22 12 252 20 7 254 20 13 251 18 12 254 13 9 249 17 8 253 20 13 255 20 11 253 17 14 254 21 16 2 19 12 255 15 10 255 17 11 0 20 9 253 17 12 0 21 11 247 16 11 0 22 8 0 15 8 254 17 13 253 20 9 1 14 13 253 17 8 252 19 13 255 18 11 252 23 9 252 18 14 253 16 9 4 24 18 253 25 9 251 18 6 0 18 12 1 21 18 254 17 10 2 19 14 254 17 10 255 24 9 251 18 10 0 16 11 3 18 7 254 24 8 1 16 7 255 18 10 1 16 9 254 20 15 249 20 6 0 14 13 252 23 10 253 18 7 254 20 10 254 19 10 1 19 11 255 20 13 250 17 17 253 15 13 251 18 6 255 19 7 249 15 11 253 16 12 252 16 9 254 18 10 2 19 7 3 23 10 252 19 8 2 12 6 255 17 14 254 15 11 251 16 14 2 14 7 1 22 9 253 17 14 0 17 15 252 16 11 250 21 5 255 16 8 253 18 8 253 25 11 253 18 10 253 13 9 252 15 7 0 20 11 255 19 11 253 21 5 255 16 13 251 15 13 254 19 10 5 9 9 1 17 4 254 15 12 254 11 9 1 17 10 254 19 11 254 22 13 254 16 12 5 20 11 1 20 13 252 21 13 252 18 8 254 22 16 253 20 10 253 22 8 252 17 9 253 15 14 255 17 11 0 14 8 252 14 11 0 17 8 249 20 8 247 17 12 1 20 9 255 21 11 0 26 10 255 22 10 3 15 9 0 18 8 253 17 10 252 14 6 255 15 11 248 21 10 255 25 5 254 20 8 254 17 13 252 21 13 254 17 9 254 17 7 1 23 4 253 20 13 254 20 9 254 18 5 251 21 10 2 17 9 2 21 16 252 16 15 253 16 6 255 15 12 254 20 11 0 19 10 254 17 13 1 19 11 255 17 11 251 21 10 0 19 9 2 21 10 0 21 14 249 18 14 250 16 14 250 18 12 1 14 13 254 16 9 254 16 10 252 19 9 250 13 6 255 17 7 251 16 16 2 23 13 253 20 8 2 20 9 3 22 12 0 27 16 255 94 11 1 120 13 3 104 238 88 101 0 226 240 52 142 52 242 158 234 66 128 179 137 235 17 234 154 7 117 1 152 25 76 231 189 157 44 1 121 104 122 198 127 102 126 232 216 201 119 95 174 108 255 122 49 115 129 78 108 56 218 140 135 143 121 206 161 61 187 0 13 216 107 80 45 51 165 187 158 69 135 29 44 97 142 9 171 119 6 49 157 81 109 232 41 185 148 5 232 242 146 242 217 20 252 146 103 211 101 27 135 253 235 202 30 173 252 118 41 127 59 203 43 63 102 45 105 189 218 142 121 158 213 15 190 44 39 82 34 173 69 128 239 221 38 13 123 193 110 170 216 114 32 34 144 115 36 17 76 104 251 224 5 1 240 197 74 61 36 166 236 64 3 59 236 163 120 138 123 107 236 192 27 0 147 51 196 118 125 191 9 227 224 220 170 24 61 189 61 13 249 96 143 116 131 21 32 56 15 3 44 18 10 40 25 3 52 23 251 148 18 249 88 18 250 64 136 168 78 9 250 170 19 238 162 12 247 52 6 220 15 10 15 19 12 17 16 7 1 20 8 247 20 8 248 23 15 253 16 12 12 18 10 255 17 9 254 18 13 2 19 14 249 17 9 0 18 11 252 16 10 4 18 13 251 14 11 0 18 6 0 20 12 0 24 8 255 17 14 252 22 12 252 20 11 0 21 8 255 19 11 252 19 8 0 14 6 0 19 5 6 19 11 254 16 4 250 207 13 0 25 9 250 26 13 252 25 9 254 20 17 7 40 10 0 246 15 2 245 12 248 18 5 249 25 10 0 20 11 3 35 10 6 251 8 255 62 11 0 75 10 245 95 9 238 47 11 249 18 14 245 23 40 225 47 128 229 66 224 64 96 196 252 72 41 230 164 162 125 48 227 241 27 226 245 249 237 230 232 120 96 120 162 100 67 7 9 241 112 172 13 30 224 140 102 162 244 63 53 56 89 228 166 248 173 152 14 94 190 153 6 96 137 227 199 124 199 77 56 146 228 68 250 158 3 5 135 165 210 67 13 13 78 32 17 225 150 208 168 129 112 69 184 240 152 236 231 29 42 129 193 207 8 32 70 206 85 57 223 14 111 228 242 176 6 141 121 130 167 55 103 163 245 62 71 133 246 243 69 210 46 51 182 4 118 126 223 14 60 213 223 71 224 237 16 252 10 13 11 29 66 20 Samellanak 1 Quote Link to comment Share on other sites More sharing options...
deamonata Posted August 28, 2013 Report Share Posted August 28, 2013 it sounds like you are using a unsigned short type variable, It would be strange for you to be getting such a perfect range otherwise. I would assume that you would be better of using a signed int data type that would give you a range of -32768 to 32767. Quote Link to comment Share on other sites More sharing options...
ger Posted August 28, 2013 Author Report Share Posted August 28, 2013 it sounds like you are using a unsigned short type variable, It would be strange for you to be getting such a perfect range otherwise. I would assume that you would be better of using a signed int data type that would give you a range of -32768 to 32767. Hi Deamonata, Thanks for the reply, I've tried changing the variable type to a number of different ones and nothing seems to change. From http://www.nongnu.org/avr-libc/user-manual/group__avr__stdint.html it looks like int16_t (what's currently being used) is a signed integer. Since posting this I've tried using the L3G library (https://github.com/pololu/L3G/tree/master/L3G) and that seems to be giving a more reasonable range. (I thought it was -65,535 to 65536, which is a bit strange so I'll check when I get home, I'm probably mistaken). Quote Link to comment Share on other sites More sharing options...
deamonata Posted August 29, 2013 Report Share Posted August 29, 2013 -65,535 to 65536 would be the range of a 32 bit int (long). hmm bit strange that it is capping out at 255 do you have a logic analyser, it would be useful to sniff the data line and see what the data is that you are getting from the L3G4200D Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.