Ligne 220 : |
Ligne 220 : |
| | | |
| == Faire encore mieux == | | == Faire encore mieux == |
− | {{traduction}} | + | === Contrôler la vitesse === |
| + | Par le passé, nous avons joué avec la possibilité qu'avait notre PyBoard de contrôler la luminosité d'une LED. |
| + | |
| + | Maintenant, nous allons utiliser cette même capacité pour contrôler la vitesse de notre moteur. PyBoard fait cela en utilisant une technique appelée « modulation de longueur d'impulsion » (PWM). |
| + | |
| + | Plutôt que de contrôler directement la tension de sortie d'une broche, PyBoard va activer et désactiver la broche très rapidement. Dans le monde informatique c'est passer de 0 à 3.3 volts plusieurs fois par secondes, mais dans notre monde humain, nous percevons cela comme une tension plus ou moins forte. |
| + | |
| + | Par exemple si un PyBoard module à 50% nous voyons la LED éclairée à 50% parce que nos yeux ne sont pas assez rapides pour voir qu'elle s'allume et s'éteint constamment plusieurs centaines de fois par seconde. |
| + | |
| + | Vous ne le croyez pas ? Alors essayez le. |
| + | |
| + | Nous pouvons modifier la fin du programme pour changer la fonction appelée |
| + | <nowiki># motorOff() |
| + | # motorOnThenOff() |
| + | motorOnThenOffWithSpeed() |
| + | # motorWithAcceleration()</nowiki> |
| + | |
| + | Ensuite charger le programme. Vous pouvez modifier les vitesses en modifiant les variables onSpeed et offSpeed dans la fonction {{fname|motorOnThenOffWithSpeed()}}. |
| + | |
| + | === Accélérer et décélérer === |
| + | Pourquoi s'arrêter à deux vitesses ? Pourquoi ne pas accélérer et décélérer la vitesse du moteur ? |
| + | |
| + | Nous pouvons modifier la fin du programme pour changer la fonction appelée |
| + | <nowiki># motorOff() |
| + | # motorOnThenOff() |
| + | # motorOnThenOffWithSpeed() |
| + | motorWithAcceleration()</nowiki> |
| + | |
| + | Chargez ensuite le programme et regardez votre moteur accélérer lentement jusqu'à plein régime puis ralentir. |
| + | |
| + | Si vous voulez modifier l'acceleration, modifiez la variable {{fname|delayTime}} (une valeur plus grande implique une accélération plus lente) |
| + | |
| | | |
| {{MicroPython-Hack-Prepare-TRAILER}} | | {{MicroPython-Hack-Prepare-TRAILER}} |