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 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}}
29 918

modifications

Menu de navigation