Modifications

Sauter à la navigation Sauter à la recherche
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 157 : Ligne 159 :     
Cela est expliqué plus en détail dans notre tutoriel [[hack-micropython-Robot2Wheel|Robot 2 roues]]  
 
Cela est expliqué plus en détail dans notre tutoriel [[hack-micropython-Robot2Wheel|Robot 2 roues]]  
 +
 +
=== Activer les commentaires de debug ===
 +
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 dans le programme:
 +
<nowiki>#DEBUG: print( 'Running' )
 +
#DEBUG: print( 'Wait' )</nowiki>
 +
 +
Que vous pouvez transformer en:
 +
<nowiki>print( 'Running' )
 +
print( 'Wait' )</nowiki>
 +
 +
* '''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 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}}
29 918

modifications

Menu de navigation