alguém me ajuda a entender essa programação? ( arduino)

27/08/2018

1

int AIA = 9; // (pwm) pino 9 conectado ao pino A-IA do M�dulo
int AIB = 8; // (pwm) pino 8 conectado ao pino A-IB do M�dulo
int BIA = 7; // (pwm) pino 7 conectado ao pino B-IA do M�dulo
int BIB = 6; // (pwm) pino 6 conectado ao pino B-IB do M�dulo

byte frente=255;
byte voltar=200;
byte speed1 = 255;
byte speed2 = 255;// Mude este valor (0-255) para controlar a velocidade dos motores
byte speedv1 = 255;
byte speedv2 = 255;

byte sensor2 = 12;//Pino que deve se conectar a sa�da (out) do sensor
byte sensor1 = 11; //Pino que deve se conectar a sa�da (out) do sensor

void setup() {
pinMode(AIA, OUTPUT); // Colocando os pinos como sa�da
pinMode(AIB, OUTPUT);
pinMode(BIA, OUTPUT);
pinMode(BIB, OUTPUT);
}

void loop() {

if(!digitalRead(sensor2))
{
speed2=frente;
speedv2=0;
}else{
speed2=0;
speedv2=voltar;
}

if(!digitalRead(sensor1))
{

speed1=frente;
speedv1=0;
}else{
speed1=0;
speedv1=voltar;
}
fretenteroda1();
fretenteroda2();


}

void fretenteroda1()
{
analogWrite(AIA, speed1);
analogWrite(AIB, speedv1);

}
void fretenteroda2()
{

analogWrite(BIA, speed2);
analogWrite(BIB, speedv2);
}
Responder

Post mais votado

28/08/2018

// definição de variáveis do tipo 'inteiro' que indicam quais pinos do arduino serão conectados ao módulo
int AIA = 9; // (pwm) pino 9 conectado ao pino A-IA do Módulo
int AIB = 8; // (pwm) pino 8 conectado ao pino A-IB do Módulo
int BIA = 7; // (pwm) pino 7 conectado ao pino B-IA do Módulo
int BIB = 6; // (pwm) pino 6 conectado ao pino B-IB do Módulo

// variáveis do tipo 'byte' que indicam se o motor vai girar pra frente ou voltar
// e também indicam a velocidade de movimentação desses motores, quando indo pra frente ou voltando
byte frente = 255;// Mude este valor (0-255) para controlar a velocidade dos motores (indo pra frente)
byte voltar = 200;// Mude este valor (0-255) para controlar a velocidade dos motores (voltando)
byte speed1 = 255; 
byte speed2 = 255;
byte speedv1 = 255; 
byte speedv2 = 255;

// definição de variáveis do tipo 'byte' que indicam quais pinos do arduino serão conetados aos sensores
byte sensor2 = 12; //Pino que deve se conectar a saída (out) do sensor
byte sensor1 = 11; //Pino que deve se conectar a saída (out) do sensor

// função de 'configuração', que será executada assim que o arduino for energizado ou resetado
// esta função vai configurar os pino 9, 8, 7 e 6 como pinos de saída de dados (você manda informação/comandos pra eles)
void setup() {
  pinMode(AIA, OUTPUT); // Colocando os pinos como saída
  pinMode(AIB, OUTPUT);
  pinMode(BIA, OUTPUT);
  pinMode(BIB, OUTPUT);
}

// função que será chamada imediatamente após a execução da rotina setup(), e será executada 'eternamente', até que o arduino seja desligado
void loop() { 
  if(!digitalRead(sensor2)) // lê o valor do pino 12 (ON/OFF - TRUE/FALSE)
  { // se o pino 12 estiver OFF/FALSE
    speed2=frente; // atribui 255 à variável speed2
    speedv2=0; // atribui 0 à variável speedv2
  }else{ // se o pino 12 estiver ON/TRUE
    speed2=0; // atribui 0 à variável speed2
    speedv2=voltar; // atribui 200 à variável speedv2
  }

  if(!digitalRead(sensor1)) // lê o valor do pino 11 (ON/OFF - TRUE/FALSE)
  { // se o pino 11 estiver OFF/FALSE
    speed1=frente; // atribui 255 à variável speed1
    speedv1=0; // atribui 0 à variável speedv1
  }else{ // se o pino 11 estiver ON/TRUE
    speed1=0; // atribui 0 à variável speed1
    speedv1=voltar; // atribui 200 à variável speedv1
  }

  fretenteroda1(); // chama a função que manipula a roda1
  fretenteroda2(); // chama a função que manipula a roda2
}

// função que manipula a roda1
void fretenteroda1()
{
  analogWrite(AIA, speed1); // envia para o pino 9 o conteúdo de speed1 (que pode ser 0 ou 255)
  analogWrite(AIB, speedv1); // envia para o pino 8 o conteúdo de speedv1 (que pode ser 0 ou 200)
}

void fretenteroda2()
{
  analogWrite(BIA, speed2); // envia para o pino 7 o conteúdo de speed2 (que pode ser 0 ou 255)
  analogWrite(BIB, speedv2); // envia para o pino 6 o conteúdo de speedv2 (que pode ser 0 ou 200)
}


isto provavelmente é pra um robô/carrinho que possui dois sensores e será movimentado em função do estado de cada um desses sensores.
Responder