Paso 3: Arduino
Después de todo ha sido 3D impreso, podemos pasar a los componentes que permiten a este bebé ejecutar. Tenemos un micro controlador, que es el arduino uno, así como nuestro protoboard y 9v de la batería.
He creado un esquema de cómo todo debe sentar hacia fuera en fritzing, así que revisa el siguiente enlace para ver cómo poner juntos. Asegúrese de que tener fritzing descargado por lo que eres capaz de ver el esquema. También he subido el código de arduino que se necesita para hacer todo funcionar, pero voy a entrar en más profundidad aquí.
http://Fritzing.org/projects/variable-speed-Tablet...
La batería de 9v tendrá su poder vaciarse si conectado a arduino, así que dejo inplugged hasta que sea necesario para propósitos de prueba.
A continuación es el código para el arduino con mis comentarios explicando que hace cada parte.
CÓDIGO DE ARDUINO:
Va controlando el motor del pin 9. Esto debe ser uno de los pines PWM-capaz que podemos variar la velocidad.
En primer lugar, establecer las constantes.
const int motorPin = 9; const int motorSpeedIn = 0; const int ledPin = 10; const int ledDial = 2; Estos son todos los valores de pin, cada número se asocia con una función de pin.
int ledBright; int motorSpeed; Estos son solo valores que serán designados posteriormente y sólo utilizados como marcadores de posición de aquí.
void setup() / / establecer el código. Esto permite que nuestros pins para leer y enviar los datos, dependiendo de cómo los Orientamos.
{
Configurar el conector de motor que una salida:
pinMode (motorPin, salida); pinMode (ledPin, salida); pinMode (ledDial, entrada); pinMode (motorSpeedIn, entrada);
Configurar el puerto serie:
Serial.Begin(9600); }
void loop() / / aquí está el código del bucle actual. Puesto que los potenciómetros envían señales digitales, tenemos convertir en un número análogo para nuestro motor y LED para leer, así que dividimos ese número por 4. PWM sólo puede leer 0-255
{
motorSpeed = analogRead(motorSpeedIn);
Serial.println(motorSpeed); Este código es comentado, pero si usted necesita comprobar los valores de número que ingresa, esto generará los números recibidos en el serial monitor para supervisar.
motorSpeed = motorSpeed/4;
Serial.println(motorSpeed);
analogWrite(motorPin,motorSpeed);
ledBright = analogRead(ledDial);
ledBright = ledBright/4;
analogWrite(ledPin,ledBright);
Delay(100); Añadido retardo de 100ms para no tener confusiones ocurren por alguna razón con un valor instantáneo.
}