Virtual 3D Device Port – SU15-23-Gyroscoopmeter (GY-521)
In het vorige hoofdstuk heb je gezien hoe je de ADXL345 (GY-291) module aansluit, deze pagina behandeld de GY-521 “gyroscoop” module, er veranderd voor SketchyPhysics helemaal niets, echter wel de Arduino aansluiting en code.
Sluit de gyroscoop meter aan volgens onderstaand schema (zwart en blauw zijn NIET nodig):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
#include "I2Cdev.h" #include "MPU6050.h" #if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #include "Wire.h" #endif MPU6050 accelgyro; int16_t ax, ay, az; int16_t gx, gy, gz; bool blinkState = false; int xc, yc; int a=0; void setup() { // koppel de I2C bus (I2Cdev library doesn't do this automatically) #if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin(); #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire::setup(400, true); #endif // Start de seriele poort. Serial.begin(9600); // Module intialiseren (i2c) accelgyro.initialize(); } void loop() { // lees de waarden accel/gyro uit de module. accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); // Deze IF loop slaat de allereerste gemeten waarde van de coordinaten op, // om zo een correctie uit te voeren en in horizontale stand op 0 te beginnen. if (a < 1) { xc = ax; yc = ay; a = 1; } else { int x = ax; int y = ay; // MAP de getallen van X en Y MAX en MIN van 0 t/m 1000. float xval = map(x - xc, -16000, 16000, 0, 1000); float yval = map(y - yc, -16000, 16000, 0, 1000); // Deze correctie is nodig omdat de gegevens soms net // iets buiten het bereik kunnen komen. if (xval > 1000) {xval = 1000;} if (xval < 0) {xval = 0;} if (yval > 1000) {yval = 1000;} if (yval < 0) {yval = 0;} // Print de gegevens X en Y met als scheidingsteken een komma. // Ps. vergeet niet af te sluiten met een nieuwe lijn. Serial.print(xval / 1000); Serial.print(","); Serial.println(yval / 1000); // Lees de module uit elke 0,05 seconden. delay(50); } } |
- SketchyPhysics - SU15-33-LED aan-uit schakelen (sketchup).skp.7z 225,84 kb
- SketchyPhysics - SU15-33-LED aan-uit schakelen (ruby script).rb.7z 1,09 kb
- SketchyPhysics - SU15-33-LED aan-uit schakelen (arduino script).ino.7z 0,69 kb
- SketchyPhysics - SU15-32-RGB LED aansturen (sketchup).skp.7z 61,30 kb
- SketchyPhysics - SU15-32-RGB LED aansturen (ruby-python scripts).ino.7z 1,76 kb
- SketchyPhysics - SU15-32-RGB LED aansturen (arduino script).ino.7z 0,80 kb
- SketchyPhysics - SU15-31-Servo aansturen (SG90) (arduino script).ino.7z 0,82 kb
- SketchyPhysics - SU15-30-Hendel status voorbeeld compleet naar Arduino (ruby script).rb.7z 1,70 kb
- Sketchyphysics - SU15-30-Hendel status naar Arduino (sketchup).skp.7z 31,52 kb
- SketchyPhysics - SU15-23-Gyroscoopmeter (GY-521) (arduino script).ino.7z 1,02 kb
- SketchyPhysics - SU15-22-Accelerometer (ADXL345) (sketchup).skp.7z 74,49 kb
- SketchyPhysics - SU15-22-Accelerometer (ADXL345) (ruby script).rb.7z 1,14 kb
- SketchyPhysics - SU15-22-Accelerometer (ADXL345) (arduino script).ino.7z 1,50 kb
- SketchyPhysics - SU15-21-Virtuele Potmeter (sketchup).skp.7z 51,62 kb
- SketchyPhysics - SU15-21-Virtuele Potmeter (ruby-python script).rb.7z 1,03 kb
- SketchyPhysics - SU15-21-Virtuele Potmeter (arduino script).ino.7z 0,60 kb
- SketchyPhysics - SU15-21-Potmeter orgineel model (sketchup).skp.7z 91,66 kb
- Sketchyphysics - SU15-20-Communicatie naar SU (sketchup).skp.7z 22,37 kb
- SketchyPhysics - SU15-20-Communicatie naar SU (ruby script).rb.7z 1,03 kb
- SketchyPhysics - SU15-20-Communicatie naar SU (arduino script).ino.7z 0,33 kb
- SketchyPhysics - SU15-12-Waarde uitlezen van object voorbeeld van forum (sketchup).7z 71,97 kb
- SketchyPhysics - SU15-10-Basis oefening (sketchup).skp.7z 19,25 kb
- SketchyPhysics - SU14&15 - Library FFI+RubySerial.7z 167,31 kb