Header dos motores do seguidor de linha

Files at this revision

API Documentation at this revision

Comitter:
lucalm
Date:
Sat Sep 19 18:42:59 2020 +0000
Parent:
1:c32f37416338
Commit message:
Header dos motores

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
motors.cpp Show annotated file Show diff for this revision Revisions of this file
motors.h Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Thu Sep 17 15:10:20 2020 +0000
+++ b/main.cpp	Sat Sep 19 18:42:59 2020 +0000
@@ -288,8 +288,6 @@
     
     wait(2); //Delay para estabilizar
     
-    PulsoInicial(); // Pulso inicial para os motore
-    
     END.attach(&ParadaFinal, 24.5); //Chama a funcao ParadaFinal em x segundos
     
     while(1){
--- 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);
  }
--- a/motors.h	Thu Sep 17 15:10:20 2020 +0000
+++ b/motors.h	Sat Sep 19 18:42:59 2020 +0000
@@ -6,8 +6,6 @@
 
 //------------------ FUNCOES ----------------------
 
-void PulsoInicial();// Pulso inicial para os motores
-
 void Setup_Motores(void);//Funcao de setup dos motores
 
 void ControleMotores (float VelocidadeEsquerda, float VelocidadeDireita );//Controle geral dos motores
@@ -19,3 +17,6 @@
 void VelocidadeBateria(); // Funcao de setup da velocidade base dos motores
 
 void ParadaFinal(); //Para o seguidor de linha
+
+//float ajustaVelocidade(float velocidadeEsperada, float velocidadeReal);//Ajusta a velocidade através da correcao PID das rodas
+