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''' (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.
 
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.
   Ligne 178 : Ligne 180 :     
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 922

modifications

Menu de navigation