 		denominador = 1;
 	}
 
+	//Cálculo da média
 	return numerador/denominador;
 }
 
+//Ativa o motor direito com intensidade 'speed'
 void rightMotor(int speed) {
 	int newSpeedRightMotor = speed;
 	if(speed > maxSpeed) {

	}
}

int getCurrentPoint() {
	int i = 0;
	int numerador = 0, denominador = 0;
	for(i = 0; i < NUMSENSORS; i++) {
		if(!digitalRead(sensor[i]); {
			denominador++;
			numerador += error[i];


/******* CONFIGURAÇÃO PARA OS SENSORES *********/

	//Valores que representam os sensores em ordem nas portas do arduino
	int sensor[NUMSENSORS] = {22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42};
	//Valores atribuídos para cara sensor em ordem (o peso de cada um)
	//Para esquema 1, -9, -7, -5, -3, -1, 1, 3, 5, 7, 9; 
	//Para esquema 2, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90;
	int error[NUMSENSORS] = {-9, -7, -5, -3, -1, 0, 1, 3, 5, 7, 9};

/******** CONFIGURAÇÃO PARA OS MOTORES **********/
	
	//Portas do motor
	int leftMotor[2] = {2, 3};
	int rightMotor[2] = {4, 5};

/******** CONFIGURAÇÃO PARA O CONTROLE **********/
	
	int currentPoint = 0;  //Variável que vai armazenar o valor de posição atual do robô
	int setPoint = 0; //Para esquema 1, setPoint = 0; Para esquema 2, setPoint = 45;
	int err = 0; //Variável para armazenar o valor do erro
	int iErr = 0, prevErr = 0; //Respectivamente, erro integral e erro anterior
	int p = 0, i = 0, d = 0; //Valores p, i e d
	//Valores a serem testados
	int baseSpeed = 0;    //Velocidade base do robô
	int maxSpeed = 0;	  //Velocidade máxima atingível pelos motores
	unsigned long timeFlag = 0; //Sinal de tempo para aceleração

void setup() {
	//Definição das portas dos sensores como input e dos motores como output
	int i = 0;
	for(i = 0; i < NUMSENSORS; i++) {
		pinMode(sensor[i], INPUT); //Definição dos sensores como entrada
	}

	for(i = 0; i < 2; i++) {
		pinMode(leftMotor[i], OUTPUT); //Definição dos motores como saída
		pinMode(rightMotor[i], OUTPUT);
	}
}

void loop() {
	//Cálculo do erro: ponto atual subtraído do ponto de desejo
	err = getCurrentPoint() - setPoint;
	//Cálculo do P,I e D
	p = KP * err;
	i = KI * (iErr);
	d = KD * (err - prevErr);
