Paso 12: Caja Bot en acción
Aquí está algún código de ejemplo para el proyecto boxbot que se puede utilizar para empezar y un vídeo demostrativo de lo que hace.Nota: Durante el curso de hacer el bot corre que me enteré de algunas cosas.
1. es más seguro para atar la caja de cambios mediante el uso de algunos del gancho encima del alambre.
2. Asegúrese de que las ruedas estén centradas en el video mi bot arrastra un poco hacia la derecha y creo que es porque al tener una rueda centrada en off.
Puede copiar y pegar el código siguiente (intenté adjuntar el archivo de que varias maneras y no demostraría para arriba.):
/*
* Código de arduino simple
* para mostrar las capacidades de
de la del robot
* Comentario al lado de cualquier código es
* "Si nunca han usado arduino antes,..."
*/
Definir datamembers
definir un pin para el photoresitor y su umbral de
Apagado de int = 0;
umbral de int = 750; //In la sala trabajaba en 1000 estaba realmente oscuro
y 525 era realmente brillante, puede que tenga que jugar
alrededor de este valor dependiendo de la configuración.
Definir e inicializar variables de motor
Rango de velocidad del motor es de 0 a 255 (más lento a más rápido)
Motor izquierda
int speedPin1 = 9;
int motor1APin = 4;
int motor2APin = 3;
int speed_value_motor1 = 64; velocidad del casco
Motor adecuado
int speedPin2 = 10;
int motor4APin = 12;
int motor3APin = 11;
int speed_value_motor2 = 64; velocidad del casco
configuración inicial antes de que comience el bucle
void setup() {}
Serial.Begin(9600); Empezar comunicación serial
Esto sólo afectará el arduino
Cuando esté conectado a la PC
Configurar los pines digitales como salidas para el motor izquierdo y derecho
pinMode (speedPin1, salida);
pinMode (motor1APin, salida);
pinMode (motor2APin, salida);
pinMode (speedPin2, salida);
pinMode (motor4APin, salida);
pinMode (motor3APin, salida);
}
Esto es lo que realmente funciona
void loop() {}
Serial.println(analogRead(lightPin));
if(analogRead(lightPin) > umbral) //Reads en el valor de serie si es oscuro hacer el código dentro de los soportes de abajo
{
Serial.println("Dark"); Sólo aparece cuando se conecta a PC utilizado para propósitos de prueba
fullStop();
}
//Otherwise otra cosa (si no es oscuro) hacer el código dentro de los soportes de abajo
{
Serial.println("Bright"); Sólo aparece cuando se conecta a PC utilizado para propósitos de prueba
moveForward();
}
Delay(1000);
}
Este método llama a los métodos apropiados para
hacer que ambos motores girar de tal manera
avanza el bot
void moveForward() {}
leftMotorForward();
rightMotorForward();
}
Este método hace que sólo el derecho
motor gire en una dirección hacia adelante
void leftMotorForward() {}
pone el motor en el movimiento hacia adelante
digitalWrite (motor1APin, bajo);
digitalWrite (motor2APin, HIGH);
analogWrite (speedPin1, speed_value_motor1);
}
Este método hace que sólo la izquierda
motor gire en una dirección hacia adelante
void rightMotorForward() {}
digitalWrite (motor4APin, bajo);
digitalWrite (motor3APin, HIGH);
analogWrite (speedPin2, speed_value_motor2);
}
Este método hace que ambos motores llegar a un punto
void fullStop() {}
stopLeftMotor();
stopRightMotor();
}
Ajusta la velocidad a 0 haciendo que el motor izquierdo deje de girar
void stopLeftMotor() {}
analogWrite (speedPin1, 0);
}
Ajusta la velocidad a 0 haciendo que el motor derecho deje de girar
void stopRightMotor() {}
analogWrite (speedPin2, 0);
}