Paso 3: Arduino
Imagen 1
No me las cabeceras para el Ardumotor cuando lo adquirí de Sparkfun y sería altamente te recomiendo hacerlo ya que permite depurar el sistema mucho más fácil. Lo que hice fue soldar algunos pernos de cabecera recta a la Junta "boca abajo" para que la Junta encaja en el Arduino.
Imagen 2
Soldado un pulsador para el sentido de 5V cuando está presionado. Cuando se está deprimido, pin 2 recibe una señal y cuenta cuántas veces se haya pulsado el botón. Si se trata de una prensa incluso, pin 12 se ilumina la parte verde de un LED azul verde rojo. Si es un número impar, el pin 13 enciende la parte roja del LED.
Imagen 3
Realmente no tuve ningún deseo adjuntar el circuito en una caja debido a la pereza y ya que no tenía uno ahí. Por lo tanto, sólo pegué el Arduino y Ardumoto en un disco viejo con algunos espaciadores. La fuente de alimentación que estoy usando es clasificada en 12 VDC a 1,9 amperios.
Código
El debajo de código es lo esta cosa para trabajar.
const int buttonPin = 2;
const int ledPin1 = 13;
const int ledPin2 = 12;
const int motorPWM = 11;
const int motorDirection = 10;
int buttonPushCounter = 0;
int buttonState = 0;
int lastButtonState = 0;
void setup() {}
pinMode (buttonPin, entrada);
pinMode (ledPin1, salida);
pinMode (ledPin2, salida);
pinMode (motorPWM, salida);
pinMode (motorDirection, salida);
}
void loop() {}
buttonState = digitalRead(buttonPin);
digitalWrite (ledPin1, LOW);
digitalWrite (ledPin2, LOW);
digitalWrite (motorDirection, bajo);
Si (buttonState! = lastButtonState) {}
Si (buttonState == HIGH) {}
buttonPushCounter ++;
}
lastButtonState = buttonState;
}
Si (buttonPushCounter % 2 == 0) {}
digitalWrite (ledPin1, LOW);
digitalWrite (ledPin2, HIGH);
Si (digitalRead(buttonPin) == HIGH) {}
digitalWrite (motorDirection, HIGH);
}
}
Else {}
Si (buttonPushCounter % 2! = 0) {}
digitalWrite (ledPin2, LOW);
digitalWrite (ledPin1, HIGH);
Si (digitalRead(buttonPin) == HIGH) {}
digitalWrite (motorDirection, HIGH);
}
}
}
Delay(50);
}