gostaria de uma ajuda para colocar dois fim de curso nesse codigo

#define sentido_horario digitalWrite(5, HIGH); // define comando para sentido horário
#define sentido_antihorario digitalWrite(5, LOW); // define comando para sentido anti-horário
#define habilita_motor digitalWrite(7, LOW); // define comando para habilitar motor
#define inibe_motor digitalWrite(7, HIGH); // define comando para desligar motor

int velocidade = 0; // Variável que informa a velocidade do motor
// 0 = motor parado e 1024 = velocidade máxima;

int habilita = 0; //Variável que guarda o resultado dos comando dos botões de liga e desliga
// Se 0 = Para Motor // Se 1 = Roda o Motor

int sentido = 1; // Variável que informa o sentido de giro do motor
// se 1 = Sentido Horário // Se 2 = Sentido anti-horário

int modo_de_operacao = 0; // Variável que guarda a combinação dos botões para o programa saber o que fazer#define sentido_horario digitalWrite(5, HIGH); // define comando para sentido horário
#define sentido_antihorario digitalWrite(5, LOW); // define comando para sentido anti-horário
#define habilita_motor digitalWrite(7, LOW); // define comando para habilitar motor
#define inibe_motor digitalWrite(7, HIGH); // define comando para desligar motor

int velocidade = 0; // Variável que informa a velocidade do motor
// 0 = motor parado e 1024 = velocidade máxima;

int habilita = 0; //Variável que guarda o resultado dos comando #define sentido_horario digitalWrite(5, HIGH); // define comando para sentido horário
#define sentido_antihorario digitalWrite(5, LOW); // define comando para sentido anti-horário
#define habilita_motor digitalWrite(7, LOW); // define comando para habilitar motor
#define inibe_motor digitalWrite(7, HIGH); // define comando para desligar motor

int velocidade = 0; // Variável que informa a velocidade do motor
// 0 = motor parado e 1024 = velocidade máxima;

int habilita = 0; //Variável que guarda o resultado dos comando dos botões de liga e desliga
// Se 0 = Para Motor // Se 1 = Roda o Motor

int sentido = 1; // Variável que informa o sentido de giro do motor
// se 1 = Sentido Horário // Se 2 = Sentido anti-horário

int modo_de_operacao = 0; // Variável que guarda a combinação dos botões para o programa saber o que fazer
// Essa variável pode ter 3 valores
// 0 -> desliga motor
// 1 -> Liga o Motor no Sentido Horário
// 2 -> Liga o Motor no sentido Anti-horário
void setup()
{
pinMode(5,OUTPUT);
pinMode(6,OUTPUT); // Configura pinos 5, 6 e 7 como saídas digitais
pinMode(7,OUTPUT);
}

void loop()
{
if (digitalRead(8)==1) // Verifica se o botão liga (primeiro botão) foi pressionado
habilita = 1; // Se sim altera a variável habilita para 1 = Liga motor

if( digitalRead(9) == 1) // Verifica se o botão desliga (segundo botão) foi pressionado
habilita = 0; // Se sim altera a variável habilita para 0 = Desliga motor

if (digitalRead(10)==1) // Verifica se o botão Horário (terceiro botão) foi pressionado
sentido = 1; // Se sim altera a variável sentido para 1 = Sentido Horário

if( digitalRead(11) == 1) // Verifica se o botão anti-Horário (quarto botão) foi pressionado
sentido = 2; // Se sim altera a variável sentido para 2 = Sentido anti-horário

modo_de_operacao = sentido * habilita; // Neste ponto cruzamos as informações das chaves
// e geramos 3 possíveis combinações:
// 2 x 1 = 2 \
// 1 x 1 = 1 \ Os resultados podem ser
// 1 x 0 = 0 / 0, ou 2
// 2 x 0 = 0 /

switch (modo_de_operacao) //Verifica o valor da variável modo_de_operacao
{
case 0: // Se for 0
inibe_motor // Para o motor
digitalWrite(6, LOW); // Para de enviar pulsos para o Driver
break;

case 1: // Se for 1
habilita_motor // Liga o motor
sentido_horario // Liga o sentido horário
velocidade = analogRead(A0); // Lê o valor do potenciômetro
tone(6, velocidade); // Envia o valor do potenciômetro em forma de frequencia para o driver
break;

case 2: // Se for 2
habilita_motor // Liga o motor
sentido_antihorario // Liga o sentido anti-horário
velocidade = analogRead(A0); // Lê o valor do potenciômetro
tone(6, velocidade); // Envia o valor do potenciômetro em forma de frequencia para o driver
break;
}

}dos botões de liga e desliga
// Se 0 = Para Motor // Se 1 = Roda o Motor

int sentido = 1; // Variável que informa o sentido de giro do motor
// se 1 = Sentido Horário // Se 2 = Sentido anti-horário

int modo_de_operacao = 0; // Variável que guarda a combinação dos botões para o programa saber o que fazer
// Essa variável pode ter 3 valores
// 0 -> desliga motor
// 1 -> Liga o Motor no Sentido Horário
// 2 -> Liga o Motor no sentido Anti-horário
void setup()
{
pinMode(5,OUTPUT);
pinMode(6,OUTPUT); // Configura pinos 5, 6 e 7 como saídas digitais
pinMode(7,OUTPUT);
}

void loop()
{
if (digitalRead(8)==1) // Verifica se o botão liga (primeiro botão) foi pressionado
habilita = 1; // Se sim altera a variável habilita para 1 = Liga motor

if( digitalRead(9) == 1) // Verifica se o botão desliga (segundo botão) foi pressionado
habilita = 0; // Se sim altera a variável habilita para 0 = Desliga motor

if (digitalRead(10)==1) // Verifica se o botão Horário (terceiro botão) foi pressionado
sentido = 1; // Se sim altera a variável sentido para 1 = Sentido Horário

if( digitalRead(11) == 1) // Verifica se o botão anti-Horário (quarto botão) foi pressionado
sentido = 2; // Se sim altera a variável sentido para 2 = Sentido anti-horário

modo_de_operacao = sentido * habilita; // Neste ponto cruzamos as informações das chaves
// e geramos 3 possíveis combinações:
// 2 x 1 = 2 \
// 1 x 1 = 1 \ Os resultados podem ser
// 1 x 0 = 0 / 0, ou 2
// 2 x 0 = 0 /

switch (modo_de_operacao) //Verifica o valor da variável modo_de_operacao
{
case 0: // Se for 0
inibe_motor // Para o motor
digitalWrite(6, LOW); // Para de enviar pulsos para o Driver
break;

case 1: // Se for 1
habilita_motor // Liga o motor
sentido_horario // Liga o sentido horário
velocidade = analogRead(A0); // Lê o valor do potenciômetro
tone(6, velocidade); // Envia o valor do potenciômetro em forma de frequencia para o driver
break;

case 2: // Se for 2
habilita_motor // Liga o motor
sentido_antihorario // Liga o sentido anti-horário
velocidade = analogRead(A0); // Lê o valor do potenciômetro
tone(6, velocidade); // Envia o valor do potenciômetro em forma de frequencia para o driver
break;
}

}
// Essa variável pode ter 3 valores
// 0 -> desliga motor
// 1 -> Liga o Motor no Sentido Horário
// 2 -> Liga o Motor no sentido Anti-horário
void setup()
{
pinMode(5,OUTPUT);
pinMode(6,OUTPUT); // Configura pinos 5, 6 e 7 como saídas digitais
pinMode(7,OUTPUT);
}

void loop()
{
if (digitalRead(8)==1) // Verifica se o botão liga (primeiro botão) foi pressionado
habilita = 1; // Se sim altera a variável habilita para 1 = Liga motor

if( digitalRead(9) == 1) // Verifica se o botão desliga (segundo botão) foi pressionado
habilita = 0; // Se sim altera a variável habilita para 0 = Desliga motor

if (digitalRead(10)==1) // Verifica se o botão Horário (terceiro botão) foi pressionado
sentido = 1; // Se sim altera a variável sentido para 1 = Sentido Horário

if( digitalRead(11) == 1) // Verifica se o botão anti-Horário (quarto botão) foi pressionado
sentido = 2; // Se sim altera a variável sentido para 2 = Sentido anti-horário

modo_de_operacao = sentido * habilita; // Neste ponto cruzamos as informações das chaves
// e geramos 3 possíveis combinações:
// 2 x 1 = 2 \
// 1 x 1 = 1 \ Os resultados podem ser
// 1 x 0 = 0 / 0, ou 2
// 2 x 0 = 0 /

switch (modo_de_operacao) //Verifica o valor da variável modo_de_operacao
{
case 0: // Se for 0
inibe_motor // Para o motor
digitalWrite(6, LOW); // Para de enviar pulsos para o Driver
break;

case 1: // Se for 1
habilita_motor // Liga o motor
sentido_horario // Liga o sentido horário
velocidade = analogRead(A0); // Lê o valor do potenciômetro
tone(6, velocidade); // Envia o valor do potenciômetro em forma de frequencia para o driver
break;

case 2: // Se for 2
habilita_motor // Liga o motor
sentido_antihorario // Liga o sentido anti-horário
velocidade = analogRead(A0); // Lê o valor do potenciômetro
tone(6, velocidade); // Envia o valor do potenciômetro em forma de frequencia para o driver
break;
}

}

Exibições: 99

Responder esta

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço