Header dos motores do seguidor de linha

Revision:
2:a68b0082faac
Parent:
1:c32f37416338
diff -r c32f37416338 -r a68b0082faac motors.cpp
--- a/motors.cpp	Thu Sep 17 15:10:20 2020 +0000
+++ b/motors.cpp	Sat Sep 19 18:42:59 2020 +0000
@@ -1,5 +1,6 @@
 #include "mbed.h"
 #include "motors.h"
+//#include "PID.h"
 
 /*=================================================
 --------------- CODIGO DOS MOTORES ----------------
@@ -14,13 +15,8 @@
 DigitalOut direcaoDireita (p23);
 AnalogIn batMeasure (p22);
 
-void PulsoInicial()
-{
-rodaEsquerda.period(0.00); 
-rodaDireita.period(0.00); 
-}
 
-void Setup_Motores(void)//Funcao de setup dos motores
+void Setup_Motores(void)//Funcao de setup dos motores, ajustando o periodo para inicializar o pwm
 { 
 rodaEsquerda.period(0.01); 
 rodaDireita.period(0.01); 
@@ -28,7 +24,7 @@
 
 void ControleMotores (float VelocidadeEsquerda, float VelocidadeDireita ){ //Função drive, controla a velocidade de cada roda
     
-    if (VelocidadeEsquerda <= 0){//
+    if (VelocidadeEsquerda <= 0){
         VelocidadeEsquerda = abs(VelocidadeEsquerda);//Utiliza o modulo da velocidade, pois esta nao pode ser negativa
         direcaoEsquerda = 0;//Muda a direcao da roda.
         rodaEsquerda.write(VelocidadeEsquerda);
@@ -50,7 +46,7 @@
     while(bandeira == 0)
     {
         novaVelocidade = novaVelocidade + 0.01;
-        wait(0.01);
+        wait(0.001);//Deve ser testado se e necessario esse wait
         if (novaVelocidade <= velocidadeMax)
         {
             bandeira = 1;
@@ -65,7 +61,7 @@
     while(bandeira == 0)
     {
         novaVelocidade = novaVelocidade - 0.01;
-        wait(0.01);
+        wait(0.001);//Deve ser testado se e necessario esse wait
         if (novaVelocidade <= velocidadeMin)
         {
             bandeira = 1;
@@ -75,18 +71,23 @@
 
 void VelocidadeBateria() // Funcao de setup da velocidade base dos motores
 {
-    float leituraBateria = batMeasure.read(); //Lendo a carga da bateria em um numero de 0 a 1
+    float leituraBateria = batMeasure; //Lendo a carga da bateria em um numero de 0 a 1
     float tensaoBateria = 12.6 * leituraBateria; // Carga atual da bateria em Volts
     float novaVelocidade = velocidadeBase * 8.4/tensaoBateria;// Calculando a nova velocidade de acordo com a medida de carga atual da bateria
     return;
 }
 
-void ParadaFinal()
+/*float ajustaVelocidade(float velocidadeEsperada, float velocidadeReal)
+{
+    Correcao_roda=PID_roda();
+    velocidadeEsperada=velocidadeReal + Correcao_roda
+    return velocidadeEsperada;
+}*/
+
+void ParadaFinal()//Para o seguidor de linha
 { 
 while(1) 
 { 
- direcaoEsquerda = 0;
- direcaoDireita = 0; 
  rodaEsquerda.write(0); 
  rodaDireita.write(0);
  }