Étape 12 : Boîte Bot en Action
Voici des exemples de code pour le projet boxbot, que vous pouvez utiliser pour commencer et une vidéo de démonstration de ce qu’il fait.Remarque : Au cours de la fabrication le bot course autour, j’ai découvert quelques choses.
1. il est effectivement plus sûr à arrimer la boîte de vitesses à l’aide de certains du branchement du fil.
2. Assurez-vous que les roues sont centrées dans la vidéo mon bot fait glisser un peu vers la droite et je crois que c’est du fait d’avoir une arrêt roue centrée.
Vous pouvez copier/coller le code ci-dessous (j’ai tenté de joindre le fichier de que plusieurs façons et il ne seraient pas apparaître.) :
/*
* Simple arduino code
* pour montrer les capacités
* du robot
* Commentaires sur le côté de n’importe quel code est
* "Si vous n’avez jamais utilisé arduino avant,... »
*/
Définir datamembers
définir un code pin pour la photoresitor et son seuil
int lightPin = 0 ;
seuil d’int = 750 ; //In la salle, je travaillais en 1000 était vraiment sombre
et 525 était vraiment brillant, que vous devrez jouer
autour de cette valeur selon votre réglage.
Définir et initialiser des variables de moteurs
Gamme de vitesse du moteur est de 0 à 255 (Slowest au plus rapide)
Moteur gauche
int speedPin1 = 9 ;
int motor1APin = 4 ;
int motor2APin = 3 ;
int speed_value_motor1 = 64 ; Vitesse du trimestre
Moteur droit
int speedPin2 = 10 ;
int motor4APin = 12 ;
int motor3APin = 11 ;
int speed_value_motor2 = 64 ; Vitesse du trimestre
paramétrage initial avant le début de la boucle
void setup() {}
Serial.Begin(9600) ; Commencer la communication série
Cela n’affectera pas l’arduino
lorsqu’il est connecté au PC
Définir les broches numériques comme sorties pour le moteur gauche et droit
pinMode (speedPin1, sortie) ;
pinMode (motor1APin, sortie) ;
pinMode (motor2APin, sortie) ;
pinMode (speedPin2, sortie) ;
pinMode (motor4APin, sortie) ;
pinMode (motor3APin, sortie) ;
}
C’est ce qui va effectivement
void loop() {}
Serial.println(analogRead(lightPin)) ;
if(analogRead(lightPin) > seuil) //Reads dans la valeur de série si il fait sombre faire le code entre les crochets ci-dessous
{
Serial.println("Dark") ; N’apparaît que lorsqu’il est connecté au PC utilisé pour l’essai
fullStop() ;
}
//Otherwise d’autre (si elle n’est pas sombre) faire le code entre les crochets ci-dessous
{
Serial.println("Bright") ; N’apparaît que lorsqu’il est connecté au PC utilisé pour l’essai
moveForward() ;
}
Delay(1000) ;
}
Cette méthode appelle les méthodes appropriées pour
provoquer les deux moteurs faire tourner de manière
le bot qui va de l’avant
void moveForward() {}
leftMotorForward() ;
rightMotorForward() ;
}
Cette méthode ne fait que le droit
tourner vers le bas moteur
void leftMotorForward() {}
met le moteur en marche avant le
digitalWrite (motor1APin, basse) ;
digitalWrite (motor2APin, HIGH) ;
analogWrite (speedPin1, speed_value_motor1) ;
}
Cette méthode permet seulement la gauche
tourner vers le bas moteur
void rightMotorForward() {}
digitalWrite (motor4APin, basse) ;
digitalWrite (motor3APin, HIGH) ;
analogWrite (speedPin2, speed_value_motor2) ;
}
/ Cette méthode provoque les deux moteurs à venir à un arrêt complet
void fullStop() {}
stopLeftMotor() ;
stopRightMotor() ;
}
Définit la vitesse à 0, provoquant le moteur gauche s’arrête
void stopLeftMotor() {}
analogWrite (speedPin1, 0) ;
}
Définit la vitesse à 0, provoquant le moteur droit s’arrête
void stopRightMotor() {}
analogWrite (speedPin2, 0) ;
}