Acelerador Banco Motor - V4 2024

 /* Engenharia Experimental

 * Wilson R. Bueno 09/03/2022
 * V3 - Funcional - Sem PULL_UP, por causa da indução no cabo
 * Baseado no acelerador do banco 2 - movimento proporcional à tensão em A0
 */

#define leitura A0      //Entrada analógica conectado no ECAT
#define zeramento 2     //Sensor de posição Zero do motor
#define passoah 10      //Saida digital - passo antihorário
#define passoh 11       //Saida digital - passo horário

int statusleitura = 0;  //Status da entrada leitura
int posicao = 0;        //Variável
int outputValue = 0;    //value output to the PWM (analog out)

void setup() {
   
    pinMode(leitura, INPUT);
    pinMode(zeramento, INPUT);
    pinMode(passoah, OUTPUT);
    pinMode(passoh, OUTPUT);
    Serial.begin(9600);
   
    //para trazer o motor no zero - sentido antihorário
      while(digitalRead(zeramento) == HIGH){
            digitalWrite(passoah, HIGH);
            delayMicroseconds(500);
            digitalWrite(passoah, LOW);
            delayMicroseconds(500);
            Serial.println("Loop while");
            }
     posicao = 0;
}


void loop(){

    statusleitura = analogRead(leitura);
   
    outputValue = map(statusleitura, 0, 1023, -10, 150); //Mapear o movimento 0 a 90° - qto menor o 255, menor o ângulo. 85 para acelerador Etorque
    //-10 para voltar no sensor  - 150 para motor GSE T3 em 25/03/24
    //outputValue = map(statusleitura, 0, 500, 0, 255); //Mapear o movimento - Qto menor o 1023, maior o ângulo: 500 = 180°
   
    Serial.println("Teste");
   
      if(outputValue >= (posicao +10)){
           digitalWrite(passoh, HIGH);
           delayMicroseconds(500);
           digitalWrite(passoh, LOW);
           delayMicroseconds(500);
           posicao = posicao +1;
           Serial.println("H:");
           }
     
      if(outputValue < (posicao -10)){
           digitalWrite(passoah, HIGH);
           delayMicroseconds(500);
           digitalWrite(passoah, LOW);
           delayMicroseconds(500);
           posicao = posicao -1;
           Serial.println("AH:");
           }
}

Comentários