3 488 octets ajoutés
, 13 décembre 2024 à 12:59
{{P2E-NAV}}
== Introduction ==
En première utilisation, un signal PWM est un signal particulier permettant de moduler la puissance moyenne d'une sortie en activant/désactivant régulièrement (et rapidement) l'état d'une broche. Ce sujet a été traité dans le tutoriel [[P2E-PWM-Output-FR|Sortie PWM]] qui mettait en évidence la possibilité de changer la fréquence d'un signal PWM.
D'autre part, il existe de Piezo Buzzer, un dispositif constitué de deux éléments métalliques collés côte-à-côte.
=== Usages ===
les signaux PWM sont utilisés dans de très nombreux cas. Il est parfois nécessaire de passer l'intermédiaire d'un dispositif amplificateur pour contrôler des périphériques plus puissants:
* Contrôle de luminosité (ex: LED)
* Contrôle de vitesse (ex: d'un moteur, ventilateur, pompe)
* Contrôle de {{cl|74|servo-moteur}} (signal PWM particulier)
* Production de son/beep
* reproduction de contenu audio (faible qualité, procédé très technique complexe).
== Cas pratique ==
review: La luminosité d'une LED dépend du courant qui la traverse. En modifiant la résistance, il est possible d'altérer sensiblement la luminosité de la LED mais impossible de contrôler la luminosité de 0 à 100%.
review: Par contre, en utilisant un signal PWM, il est possible d'altérer la luminosité d'une LED de 0 à 100% en modifiant le cycle utile de 0 à 100%. De la sorte, cette LED sera allumée d'une fraction du temps, plus ou moins longue, en fonction du pourcentage de cycle utile. La rémanence de l'oeil effectuera une sorte de moyenne du flux lumineux. En effet, avec une fréquence PWM de 500 Hz, l'oeil n'a absolument pas l'occasion de se rendre compte que, dans les faits, cette LED clignote!
L'exemple ci-dessous se propose de tester la génération d'un son à partir signal PWM.
=== Branchement simplifié ===
Dans cet exemple, nous allons brancher un potentiomètre sur l'entrée analogique A0 (GP26) pour contrôler la luminosité d'une LED branchée sur GP2 avec un signal PWM.
Si vous n'êtes pas encore familiarisé avec l'utilisation des entrées analogiques alors vous pouvez consulter [[P2E-Analog-Input-FR|le tutoriel sur les entrées analogiques]].
[[Fichier:P2E-PWM-LED.png|800px]]
=== Code ===
Le code ci-dessous peut être saisi dans une session REPL ou dans Thonny IDE.
Cet exemple est également disponible dans le dépôt [https://github.com/mchobby/pico-2-explorer/tree/main/buzzer pwm-buzzer.py] .
<syntaxhighlight lang="python" line highlight="1,8,9,12">
Du code pour le peuple</syntaxhighlight>
Il ne reste plus qu'à tourner le potentiomètre pour modifier la luminosité de la LED.
Voici quelques explications:
* '''Ligne x''': bla {{fname|PWM}} cla.
* '''Lignes x à x''': xxx
=== Un problème? ===
xxxx
La luminosité de la LED ne varie pas lorsque le potentiomètre est tourné ?
# Est ce que la valeur affichée dans REPL varie lorsque le potentiomètre est tourné ?
## OUI: vérifier le raccordement entre le GP2 et la LED
## NON: vérifier le raccordement entre le GP26 et le potentiomètre
# La luminosité change par ac-coup ? Cela peut être provoqué par la pause de 1/10 de seconde à chaque tour de boucle. Diminuer le délai à 20 millisecondes augmente la réactivité du script.
# La LED scintille ?!?! cela peut être provoqué par un contact électrique imparfait... vérifier les divers branchement sur les connecteurs.
== Le défi ==
xxxx
== Truc et astuce ==
{{P2E-TRAILER}}