Étape 9: Dépannage et exploration du code
Tout d’abord, nous allons triez ce qui je pense sera votre seul problème ; le capteur à ultrasons ne semble pas fonctionner.
Nous devons savoir si nous obtenons tout ce que le capteur de première. Pour commencer le dépannage, assurez-vous tout d’abord tous les 4 fils sont correctement connectés à la fois le capteur lui-même et à l’arduino.
Toujours pas de joie ?
Essayez de regarder le code vous envoyées par le biais. Même si le capteur à ultrasons lit une valeur de variable, il déclenche 2 États différents pour le moteur : aussi bien à l’avenir ou une à l’avant et une marche arrière. Voici le code de l’État vers l’avant :
mémoire vide
{
avant @ pleine vitesse
digitalWrite (12, faible) ; Définir l’orientation du canal A
digitalWrite (9, faible) ; Débloquer le frein de chaîne A
analogWrite (3, 255) ; Fait tourner le moteur sur le canal A à pleine vitesse
digitalWrite (13, HIGH) ; Définir l’orientation du canal B
digitalWrite (8, faible) ; Débloquer le frein pour le canal B
analogWrite (11, 255) ; Fait tourner le moteur à pleine vitesse sur canal B
}
D’en haut, vous pouvez voir que les 3 variables sont définies pour chaque moteur. La direction peut être définie à basse ou haute pour chaque canal afin d’établir la direction avant. Il s’agit d’une codage alternative pour démêler l’état avant par défaut des moteurs plutôt que d’échanger les fils pour les canaux affectés physiquement.
Nous devons maintenant regarder le code pour le deuxième État. J’ai nommé cette turn_right mais vraiment cet arbitraire, selon la façon dont le moteur est branché et l’utilisation du haut et bas pour définir les directions de moteurs.
Comment est-ce important pour la mesure du capteur à ultrasons ? Si le code pour les deux États moteurs est exactement le même alors que le capteur à ultrasons pourrait être fait tout droit et appelant les bonnes commandes au bon temps. En regardant le code, cela ressortira (maintenant que vous savez ce que vous recherchez!). Il faudra rien plus de modifier le paramètre de direction pour broche 12 ou broche 13 de haut/bas à l’opposé.
Si cela ne résout votre problème, alors nous devons jeter un oeil à ce qui est de voir le capteur à ultrasons. Le morceau de code en question qu'ici est la suivante :
Sub oneSensorCycle()
{
pour (uint8_t i = 0; i < SONAR_NUM; i ++) {}
Serial.Print(i) ;
Serial.Print("=") ;
Serial.Print(cm[i]) ;
Serial.Print ("cm") ;
}
Serial.println() ;
}
Plus tôt dans le code, il y a un autre morceau connexe :
void setup() {}
Serial.Begin(9600) ;
Je mentionne ceci afin que vous pouvez vous assurer d’inclure dans les adaptations que vous pourriez apporter au code.
Cette série section du code est incluse afin que vous pouvez obtenir un affichage des valeurs de votre capteur. Cela est vrai pour n’importe quel code vous trouverez et le capteur (c’est assez facile de trouver le code pour pratiquement n’importe quel capteur compatible arduino).
Pour afficher les valeurs, vous devrez rebrancher votre arduino en USB et ouvrir l’IDE Arduino. Une fois ouvert, assurez-vous que votre arduino est considéré par votre ordinateur (outils > Serial Port > choisir le port). Aussi s’assurer à nouveau que le jury de l’Arduino Uno est sélectionné dans les outils > menu Board.
Nous voulons contrôler ce qui est de voir le capteur, et il y a 2 façons de lancer le Serial Monitor qui va nous permettre de le faire. Vous pouvez choisir « Serial Monitor » dans le menu outils ou vous pouvez la choisir à travers le bouton qui ressemble à une loupe en haut à droite de l’IDE Arduino. En choisissant un de ces, vous devriez voir le robot faire une pause pendant une seconde et puis donner une lecture dans la fenêtre de Serial Monitor. Si les valeurs lues ne fluctue de 0cm puis vous devrez re-vérifier les connexions à l’arduino et le capteur à nouveau. Vous mai ont mêlé GND/5V ou épingles de déclenchement/Echo.
Si ces suggestions ne résolvent pas votre problème, je serais très surpris et peut seulement suggérer qu’il est possible que quelque part le long du chemin vous pouvez avoir en quelque sorte retiré du code critique ou peut-être ne pas collé dans le code complet pour l’IDE Arduino ? Essayer de veiller à ce que vous avez copié et collé le code complet dans l’IDE avant de la charger à l’Arduino UNO.
Si vous avez d’autres questions, s’il vous plaît commentaire et je vais essayer de répondre à des problèmes dans une mise à jour.