16º Encontro - Controle de direção com potenciômetro - 2ª parte
Olá turma, neste encontro do dia 31/08/2018 demos continuidade ao nosso estudo de programação para controlar 2 motoresAlém da programação virtual iniciamos o controle de motor físico do Kit Atto
Nossas atividades
Eletrônica
Montagem com fiação do kit Atto; instalação de potenciômetro
Testes
Programação no simulador tinkercad
Conhecer a estrutura de decisão if...else;
Rever a função map( );
Testar e alterar o código abaixo no circuito da aula anterior:
int motorD = 5; //motor Direito
int motorE = 6; //motor Esquerdo
int pos;
int pinoPOT = A0; //PINO ANALÓGICO usado pelo Potenciômetro
int leituraA0; //VARIÁVEL QUE ARMAZENA O valor lido na porta analogica
void setup()
{
pinMode(motorD, OUTPUT);
pinMode(motorE, OUTPUT);
pos=90; //inicializa em 90
}
void loop()
{
// avancar(240);
// parar();
leituraA0= analogRead(pinoPOT);//analogRead(pinPOT);
pos= map(leituraA0, 0, 1023, 180, 0); //EXECUTA A FUNÇÃO "map" DE ACORDO COM OS
controle(pos);
}
//====COMANDOS DE CONTROLE DO MOTOR================
void avancar(int vel){
analogWrite(motorD,vel);
analogWrite(motorE,vel);
}
void parar()
{
digitalWrite(motorD, 0);
digitalWrite(motorE,0);
//delay(t);
}
void direita(int vel){
analogWrite(motorD,0);
analogWrite(motorE,vel);
}
void esquerda(int vel){
analogWrite(motorD,vel);
analogWrite(motorE,0);
}
void controle(int control){
/*valor de 0 a 80 motor esquerdo para
valor de 100 a 180 motor direito para
valor de 81 a 99 os dois motores giram
*/
if(control>81 && control<100 ){
avancar(200);
}
else if(control<81)
{
esquerda(200);
}
else
{
direita(200);//if(control>99)direita(200);
}
}
Caso tenham dificuldade para copiar e colar usem este link aqui
Abraço a todos!!


Nenhum comentário:
Postar um comentário