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 172 : |
Ligne 174 : |
| * '''Running''' indique que le robot est en court de fonctionnement.... et ce dernier est affiché continuellement | | * '''Running''' indique que le robot est en court de fonctionnement.... et ce dernier est affiché continuellement |
| | | |
− | ==== Un seul message 'Running' ====
| + | === Un seul message 'Running'! === |
− | Si vous ne voyez qu'un seul message '''Running''' 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. | + | 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'''. | | 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! | | 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}} |