Arduino Robot SVANTE.

Buenos dias:
Soy nuevo en esto, y tengo una placa de arduino uno y un prototipo de robot creado para la colonia ETOPIA kids, en Zaragoza.Creo que hay pocos, pues si esta colonia lleva funcionando 3 años, solo se regaló (el robot) en el primero.Al enchufarlo y cargar un programa (creado para el) da error.¿alguien podria ayudarme ?

el programa es este

#include <Arduino.h>
#include "LineFollower.h"

void LineFollower::lineFollowCalibrate(int speed, int time){
for(int i=0;i<3;i++){
IRArray_Max[i]=0;
IRArray_Min[i]=1023;
}
doLineFollowCalibrate(-speed,speed,time);
doLineFollowCalibrate(speed,-speed,time*2);
doLineFollowCalibrate(-speed,speed,time);
stop();

/*
for(int i=0;i<3;i++){
Serial.print(IRArray_Min[i]);
Serial.print(" ");
Serial.print(IRArray_Max[i]);
Serial.print(" | ");
}
*/
}
void LineFollower::doLineFollowCalibrate(int speedL,int speedR,int time){
go(speedL,speedR);
unsigned long baseTime=millis();
while(millis()-baseTime<time){
for(int i=0;i<3;i++){
int IRVal=getIRArray(i);
if(IRVal<IRArray_Min[i])IRArray_Min[i]=IRVal;
if(IRVal>IRArray_Max[i])IRArray_Max[i]=IRVal;
}
}
}

void LineFollower::lineFollowConfig(int KP,int KD, int intergrationTime, int robotSpeed){
this->KP=KP;
this->KD=KD;
this->integrationTime=integrationTime;
this->robotSpeed=robotSpeed;
}


void LineFollower::startLineFollow(){
int lastError=getLineFollowError();
int resLimit=500;//*KP/100.0;
int speedFactor=100;
while(true){
getIRArraryVals();
if(isEndLineReached()){
stop();
return; //end of line reached, stop the robot
}
int error=getLineFollowError();

/*
if(abs(error)<10){
Serial.println("stop");
}*/

/*
Serial.print("error: ");
Serial.println(error);
*/
int result=error/100.0*KP+(error-lastError)*KD;


result=map(result,-resLimit,resLimit,-speedFactor,speedFactor);
//result=constrain(result,-100,100);
/*
Serial.print("result: ");
Serial.println(result);
*/


int speedL=constrain(robotSpeed-result,-100,100);
int speedR=constrain(robotSpeed+result,-100,100);
/*
Serial.print(speedL);
Serial.print("   ");
Serial.println(speedR);
*/
go(speedL,speedR);

lastError=error;
delay(integrationTime);

}
}
void LineFollower::getIRArraryVals(){
for(int i=0;i<3;i++){
IRArray_vals[i]=map(getIRArray(i),IRArray_Min[i],IRArray_Max[i],0,255);
Serial.print(IRArray_vals[i]);
Serial.print(" ");
}
Serial.println();

}
bool LineFollower::isEndLineReached(){
for(int i=0;i<3;i++){
if(IRArray_vals[i]>ENDLINE_VALUE){
return false;
}
}
return true;
}
int LineFollower::getLineFollowError(){
int * v=IRArray_vals;//left, middle, right
int error=v[2]-v[0];

if(error>0)
error=error+v[1];
else
error=error-v[1];
return error;
}

Y el robot este:

Recuerdo: casi no se programar y me limito a copiar programas de internet.
Tampoco se usar bien los foros :frowning:

Bueno edité tu post porque no usaste tag de código para colocar el mismo.
Ahora esta legible.

Como mucho lo que has posteado es una librería y no el código para hacer funcionar tu robot.
La librería Seguidora de linea o LineFollower.cpp ya que llama al LineFollower.h
Revista entre tus cosas porque falta algo o tendras un manual para su uso.

Bueno busqué tu robot y apareció la librería con ejemplos Svante Library

Este es uno de los ejemplos LineFollower.ino

/*
*
*  Line following
*  Make the robot follow a line.
*  First make a track, typically a black line on a 
*  white surface. Then place the robot along the line, 
*  and turn it on. The robot will first calibrate
*  itself, then start following the line.
*
*	This example is used together with Svante robot
*	arduino.cc 
*	(c) 2014 Arduino LLC
*
*/

#include <Svante.h>
#include <EEPROM.h>

void setup(){
  robot.begin();
  delay(1000);

  robot.lineFollowCalibrate();
  //parameters for lineFollowConfig can be improved.
  //They're KP, KD, integration time and speed.
  //The speed goes from 0 to 100, try make it go
  //faster

  robot.lineFollowConfig(40,8,10,30);
  delay(1000);
  robot.startLineFollow();
}
void loop(){
  
}

Debes instalar la librería correctamente.
Para ello descarga el archivo donde dice clone or download (verde), te consultará si deseas guardar un archivo con este nombre Svante-master.zip, le dices que si y lo guardas en Descargas por ejemplo
Luego de descargado vas a la carpeta
Lo descomprimes y creará una carpeta Svante-master. Cambia ese nombre a Solo Svante.
Lo cortas y lo pegas en Documentos\Arduino\librarie
Ahora abres el IDE, buscas la carpeta que te acabo de mencionar, y dentro de Svante dice examples, eliges el que quieres y prueba.
Robot alimentado, etc, etc.

Muchas gracias por tu respuesta.Ya lo probaré y te diré si funciona o no.