Hi Guys,
I am creating a animatronic hand that is controlled by a glove that I am wearing. This is my first Arduino project so I am still getting to grips with everything. The compiler I am using often refuses to tell me what errors are in my code but at one point I poked it enough to tell me that in my sending code that "servo.h can't be found' and in my receiving code it told me that some things were not defined, but it won't tell me what...
Could you guys have a look at my code and help fix it?
Thanks in advance!!
Here is my receiving code..
#include <Servo.h>
#define MAX_FINGER 5
// #include
// create servo object to control a servo
typedef struct {
Servo myservo;
byte servoAng;
} SERVO;
SERVO servo[MAX_FINGER];
void setup() {
Serial.begin(9600);
int i = 0;
for (i = 0; i < MAX_FINGER; i++) {
servo[i].myservo.attach(i + 2);
}
}
void loop() {
if(Serial.available() >=5) {
int i = 0;
for (i = 0; i < MAX_FINGER; i++) {
servo[i].servoAng = Serial.read();
servo[i].myservo.write( servo[i].servoAng );
}
// Send the servo to the position read... (note: you get to make this happen)
}
}
And here is my sending code..
#define MAX_FINGER 5
typedef struct {
byte servoValue;
byte servoVal;
int iFinger;
} SERVO;
SERVO servo[MAX_FINGER];
const int ciDefault[] = { 200, 460};
void setup() {
Serial.begin(9600);
}
void init_default() {
int i = 0;
for (i = 0; i < MAX_FINGER; i++) {
servo[i].iFinger = analogRead(i);
if (servo[i].iFinger < ciDefault[0]) servo[i].iFinger = ciDefault[0];
else if (servo[i].iFinger > ciDefault[1]) servo[i].iFinger = ciDefault[1];
servo[i].servoVal = map(servo[i].iFinger, 460, 200, 255, 0);
Serial.print(servo[i].servoVal);
}
}
void loop() {
init_default();
delay(100);
}
Thanks again!!