Děkuji všem za odpovědi, jak jste se zeptali (slipstick), kód funguje pro mě, ale nevím, jak nastavit rychlost serva (chtěl jsem si na zádech rozsvítit světlo, aby se pohybovalo způsobem, jakým se pohybují s mojí hlavou). Tady je kód, je trochu upravený, ale nefunguje mi a nevím proč.
#include <VarSpeedServo.h>
#include „Wire.h“
#include „I2Cdev.h“
#include "MPU6050.h"
#include "Servo.h"
MPU6050 mpu;
int16_t ax, ay, az;
int16_t gx, gy, gz;
Servo servo1;
Servo servo2;
VarSpeedServo servo1;
VarSpeedServo servo2;
int val1;
int val2;
int prevVal1;
int prevVal2;
neplatné nastavení ()
{
Wire.begin ();
Serial.begin (38400);
Serial.println ("Inicializovat MPU");
mpu.initialize ();
Serial.println (mpu.testConnection ()? "Připojeno": "Připojení se nezdařilo");
servo1.attach (9);
servo2.attach (10);
}
neplatná smyčka ()
{
servo1.write (180, 30, true);
servo2.write (180, 30, true);
mpu.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);
val1 = mapa (ax, -17000, 17000, 0, 179);
if (val1! = prevVal1)
{
servo1.write (val1);
prevVal1 = val1;
}
val2 = mapa (ay, -17000, 17000, 0, 179);
if (val2! = prevVal2)
{
servo2.write (val2);
prevVal2 = val2;
}
zpoždění (50);
}
V souboru zahrnutém z C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ Servo \ src / Servo.h: 63: 0,
z C: \ Users \ PC-RTX2070 \ Downloads \ FVPKTDUIOK9O7SR \ FVPKTDUIOK9O7SR.ino: 5:
C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ Servo \ src / avr / ServoTimers.h: 57:16: error: redeclaration of '_timer1'
typedef enum {_timer1, _Nbr_16timers} timer16_Sequence_t;
^ ~~~~~~
V souboru zahrnutém z C: \ Users \ PC-RTX2070 \ Downloads \ FVPKTDUIOK9O7SR \ FVPKTDUIOK9O7SR.ino: 1: 0:
C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ VarSpeedServo-master / VarSpeedServo.h: 112: 16: poznámka: předchozí deklarace 'timer16_Sequence_t _timer1'
typedef enum {_timer1, _Nbr_16timers} timer16_Sequence_t;
^ ~~~~~~
V souboru zahrnutém z C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ Servo \ src / Servo.h: 63: 0,
z C: \ Users \ PC-RTX2070 \ Downloads \ FVPKTDUIOK9O7SR \ FVPKTDUIOK9O7SR.ino: 5:
C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ Servo \ src / avr / ServoTimers.h: 57:25: error: redeclaration of '_Nbr_16timers'
typedef enum {_timer1, _Nbr_16timers} timer16_Sequence_t;
^ ~~~~~~~~~~~~~
V souboru zahrnutém z C: \ Users \ PC-RTX2070 \ Downloads \ FVPKTDUIOK9O7SR \ FVPKTDUIOK9O7SR.ino: 1: 0:
C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ VarSpeedServo-master / VarSpeedServo.h: 112:25: poznámka: předchozí deklarace 'timer16_Sequence_t _Nbr_16timers'
typedef enum {_timer1, _Nbr_16timers} timer16_Sequence_t;
^ ~~~~~~~~~~~~~
V souboru zahrnutém z C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ Servo \ src / Servo.h: 63: 0,
z C: \ Users \ PC-RTX2070 \ Downloads \ FVPKTDUIOK9O7SR \ FVPKTDUIOK9O7SR.ino: 5:
C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ Servo \ src / avr / ServoTimers.h: 57: 41: chyba: konfliktní deklarace 'typedef enum timer16_Sequence_t timer16_Sequence_t'
typedef enum {_timer1, _Nbr_16timers} timer16_Sequence_t;
^ ~~~~~~~~~~~~~~~~~~
V souboru zahrnutém z C: \ Users \ PC-RTX2070 \ Downloads \ FVPKTDUIOK9O7SR \ FVPKTDUIOK9O7SR.ino: 1: 0:
C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ VarSpeedServo-master / VarSpeedServo.h: 112: 41: poznámka: předchozí deklarace jako 'typedef enum timer16_Sequence_t timer16_Sequence_t'
typedef enum {_timer1, _Nbr_16timers} timer16_Sequence_t;
^ ~~~~~~~~~~~~~~~~~~
V souboru zahrnutém z C: \ Users \ PC-RTX2070 \ Downloads \ FVPKTDUIOK9O7SR \ FVPKTDUIOK9O7SR.ino: 5: 0:
C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ Servo \ src / Servo.h: 97: 3: chyba: konfliktní deklarace 'typedef struct ServoPin_t ServoPin_t'
} ServoPin_t;
^ ~~~~~~~~~
V souboru zahrnutém z C: \ Users \ PC-RTX2070 \ Downloads \ FVPKTDUIOK9O7SR \ FVPKTDUIOK9O7SR.ino: 1: 0:
C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ VarSpeedServo-master / VarSpeedServo.h: 133: 3: poznámka: předchozí deklarace jako 'typedef struct ServoPin_t ServoPin_t'
} ServoPin_t;
^ ~~~~~~~~~
V souboru zahrnutém z C: \ Users \ PC-RTX2070 \ Downloads \ FVPKTDUIOK9O7SR \ FVPKTDUIOK9O7SR.ino: 5: 0:
C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ Servo \ src / Servo.h: 102: 3: chyba: konfliktní deklarace 'typedef struct servo_t servo_t'
} servo_t;
^ ~~~~~~
V souboru zahrnutém z C: \ Users \ PC-RTX2070 \ Downloads \ FVPKTDUIOK9O7SR \ FVPKTDUIOK9O7SR.ino: 1: 0:
C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ VarSpeedServo-master / VarSpeedServo.h: 141: 3: poznámka: předchozí deklarace jako 'typedef struct servo_t servo_t'
} servo_t;
^ ~~~~~~
FVPKTDUIOK9O7SR: 14:15: chyba: konfliktní deklarace 'VarSpeedServo servo1'
VarSpeedServo servo1;
^ ~~~~~
C: \ Users \ PC-RTX2070 \ Downloads \ FVPKTDUIOK9O7SR \ FVPKTDUIOK9O7SR.ino: 12: 7: poznámka: předchozí deklarace jako 'Servo servo1'
Servo servo1;
^ ~~~~~
FVPKTDUIOK9O7SR: 15:15: chyba: konfliktní deklarace 'VarSpeedServo servo2'
VarSpeedServo servo2;
^ ~~~~~
C: \ Users \ PC-RTX2070 \ Downloads \ FVPKTDUIOK9O7SR \ FVPKTDUIOK9O7SR.ino: 13: 7: poznámka: předchozí deklarace jako 'Servo servo2'
Servo servo2;
^ ~~~~~
C: \ Users \ PC-RTX2070 \ Downloads \ FVPKTDUIOK9O7SR \ FVPKTDUIOK9O7SR.ino: Ve funkci 'void loop ()':
FVPKTDUIOK9O7SR: 37: 29: error: no matching function for call to 'Servo :: write (int, int, bool)'
servo1.write (180, 30, true);
^
V souboru zahrnutém z C: \ Users \ PC-RTX2070 \ Downloads \ FVPKTDUIOK9O7SR \ FVPKTDUIOK9O7SR.ino: 5: 0:
C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ Servo \ src / Servo.h: 111: 8: note: candidate: void Servo :: write (int)
void write (hodnota int); // pokud je hodnota <200, považuje se to za úhel, jinak za šířku pulzu v mikrosekundách
^ ~~~~
C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ Servo \ src / Servo.h: 111: 8: poznámka: kandidát očekává 1 argument, 3 za předpokladu
FVPKTDUIOK9O7SR: 38: 29: error: no matching function for call to 'Servo :: write (int, int, bool)'
servo2.write (180, 30, true);
^
V souboru zahrnutém z C: \ Users \ PC-RTX2070 \ Downloads \ FVPKTDUIOK9O7SR \ FVPKTDUIOK9O7SR.ino: 5: 0:
C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ Servo \ src / Servo.h: 111: 8: note: candidate: void Servo :: write (int)
void write (hodnota int); // pokud je hodnota <200, považuje se to za úhel, jinak za šířku pulzu v mikrosekundách
^ ~~~~
C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ Servo \ src / Servo.h: 111: 8: poznámka: kandidát očekává 1 argument, 3 za předpokladu
Byly nalezené násobné knihovny "Wire.h"
Použitý: C: \ Users \ PC-RTX2070 \ Documents \ ArduinoData \ packages \ arduino \ hardware \ avr \ 1.8.3 \ libraries \ Wire
Nepoužitý: C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ Wire-master
Byly nalezené násobné knihovny "Servo.h"
Použitý: C: \ Users \ PC-RTX2070 \ Documents \ Arduino \ libraries \ Servo
Nepoužitý: C: \ Program Files \ WindowsApps \ ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt \ libraries \ Servo
stav ukončení 1
konfliktní prohlášení „VarSpeedServo servo1“