#define sentido_horario digitalWrite(7, HIGH); // define comando para sentido horário
#define sentido_antihorario digitalWrite(7, LOW); // define comando para sentido anti-horário
#define habilita_motor digitalWrite(9, LOW); // define comando para habilitar motor
#define inibe_motor digitalWrite(9, HIGH); // define comando para desligar motor
int velocidade = 900; // 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()
// put your setup code here, to run once:
{
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(2,INPUT_PULLUP);
pinMode(4,INPUT_PULLUP);
pinMode(6,INPUT_PULLUP);
}
void loop() {
if ( !digitalRead(2))
{
habilita_motor
sentido_horario
velocidade = 200;
tone(8, velocidade);
}
if ( !digitalRead(4))
{
habilita_motor
sentido_horario
velocidade = 500;
tone(8, velocidade);
}
if ( !digitalRead(6))
{
habilita_motor
sentido_antihorario
velocidade = 500;
tone(8, velocidade);
}
else
{
inibe_motor
digitalWrite(8, LOW);
}}