Ligne 57 : |
Ligne 57 : |
| Nous allons également utiliser la LED bleue {{fname|LED(4)}} pour indiquer l'activation du Robot. | | Nous allons également utiliser la LED bleue {{fname|LED(4)}} pour indiquer l'activation du Robot. |
| | | |
− | Voici un second code que vous pouvez placer dans votre fichier {{fname|main.py}} . | + | Voici un second code nommé {{fname|r2-uson-final.py}} que vous pouvez copier/coller dans votre fichier {{fname|main.py}} . |
| + | |
| + | {{download-box|Télécharger le script r2-uson-final.py|https://raw.githubusercontent.com/mchobby/pyboard-a-roulette/master/02-ultrason/r2-uson-final.py}} |
| | | |
| <nowiki>## | | <nowiki>## |
Ligne 142 : |
Ligne 144 : |
| l.off() | | l.off() |
| delay( 2000 ) | | delay( 2000 ) |
− | delay( 300 ) # ne rien faire </nowiki> | + | delay( 300 ) # ne rien faire </nowiki> |
| | | |
| == Cela ne marche pas == | | == Cela ne marche pas == |
Ligne 159 : |
Ligne 161 : |
| | | |
| === Activer les commentaires de debug === | | === Activer les commentaires de debug === |
− | Le programme contient deux commentaire vous permettant de suivre plus facilement son fonctionnement en mode REPL. | + | Le programme contient deux commentaire vous permettant de suivre plus facilement son fonctionnement [[MicroPython-Hack-Outil#pyboard.py|en téléversant le programme sur la PyBoard depuis votre PC}} en mode REPL à l'aide de {{fname|pyboard.py}}. |
| | | |
− | Vous trouverez donc les lignes suivantes: | + | Vous trouverez donc les lignes suivantes dans le programme: |
| <nowiki>#DEBUG: print( 'Running' ) | | <nowiki>#DEBUG: print( 'Running' ) |
| #DEBUG: print( 'Wait' )</nowiki> | | #DEBUG: print( 'Wait' )</nowiki> |
Ligne 170 : |
Ligne 172 : |
| | | |
| * '''Wait''' indique que le programme attend que vous pressiez le bouton utilisateur pour démarrer. Ce message Apparaît toutes les 1/3 de seconde. | | * '''Wait''' indique que le programme attend que vous pressiez le bouton utilisateur pour démarrer. Ce message Apparaît toutes les 1/3 de seconde. |
− | * '''Running''' indique que le robot est en court de fonctionnement.... et que | + | * '''Running''' indique que le robot est en court de fonctionnement.... et ce dernier est affiché continuellement |
| + | |
| + | === Un seul message 'Running'! === |
| + | Si vous ne voyez qu'un seul message '''Running''' (voir point précédent) puis que le programme semble planté... c'est qu'en fait il attend désespérément l'écho du senseur HC-SR04. Cela peut prendre jusqu'à 20 secondes. |
| + | |
| + | Nous avons surtout constaté ce problème parce que '''nous n'arrivions pas à arrêter le robot en pressant sur le bouton utilisateur'''. |
| + | |
| + | De fait, le régulateur de tension 5V n'était pas branché et, par conséquent, le senseur HC-SR04 ne pouvait pas répondre aux demandes de mesure de distance. Arf! |
| + | |
| + | === Tourne de trop === |
| + | Tourner sur place pendant 2.5s (2500ms) permet de faire plusieurs tours... si vos piles sont bien chargées. Oui, votre pyboard-a-roulette peut tourner aussi vite qu'un valseur ;-) |
| + | |
| + | <nowiki> r2.right() |
| + | delay( 2500 )</nowiki> |
| + | |
| + | Pour que cela tourne moins, il suffit de diminuer ce temps de rotation une valeur plus raisonnable... pour tourner moins longtemps. |
| + | |
| + | <nowiki> r2.right() |
| + | delay( 800 )</nowiki> |
| + | |
| + | Vous pouvez également opter pour une rotation à vitesse réduite |
| + | |
| + | <nowiki> r2.right() # Commencer à 100% pour vaincre l'inertie |
| + | delay( 20 ) |
| + | r2.right( speed=40 ) # 40% de cycle utile du signal PWM (40% de vitesse) |
| + | delay( 800 )</nowiki> |
| + | |
| + | |
| + | |
| + | Une autre option serait d'utiliser un magnétomètre (pour faire une rotation par rapport au nord) ou une centrale inertielle (IMU). |
| | | |
| {{Hack-micropython-Robot2Wheel-TRAILER}} | | {{Hack-micropython-Robot2Wheel-TRAILER}} |