La fonction analogWrite() dans Arduino est utilisée pour envoyer une tension analogique à une broche spécifiée. Cette fonction peut être utilisée pour contrôler la luminosité d’une LED, la vitesse d’un moteur, etc.
L’argument de analogWrite() est un entier compris entre 0 et 255, qui représente une tension de 0 à 5 volts. Plus la valeur est élevée, plus la tension sur la broche sera élevée.
Matériel nécessaire
- Un Arduino Uno – Disponible ici
- Des câbles de prototypage rapide – Disponible ici
- Une platine de prototypage rapide – Disponible ici
Syntaxe de la fonction analogWrite()
Syntaxe
analogWrite(pin, valeur)
Paramètres
- pin : la broche Arduino sur laquelle écrire. Types de données : int.
- valeur: le rapport cyclique : entre 0 (toujours éteint) et 255 (toujours allumé). Types de données : int.
Exemple d’utilisation de la fonction analogWrite()
int ledPin = 9; // Led connectée à la pin 9
int analogPin = A3; // Potentiomètre connecté à la pin analogique 3
int val = 0;
void setup() {
pinMode(ledPin, OUTPUT); // défini les pin en sorties
}
void loop() {
val = analogRead(analogPin); // Lit l'entrée analogique
analogWrite(ledPin, val / 4); // Converti la valeur de l'entrée analogique de vers à 1023 en 0 à 255
}
Dans ce code, nous avons défini deux variables, ledPin
et analogPin
, qui représentent respectivement la broche numérique connectée à une LED et la broche analogique connectée à un potentiomètre. Nous avons également défini une variable val
qui sera utilisée pour stocker la valeur lue depuis le potentiomètre.
Dans la fonction setup()
, nous définissons la broche ledPin
en sortie, ce qui signifie que nous pourrons envoyer des signaux pour allumer ou éteindre la LED.
Dans la fonction loop()
, nous utilisons la fonction analogRead(analogPin)
pour lire la valeur provenant du potentiomètre. Cette valeur peut varier de 0 à 1023, où 0 correspond à 0 volt et 1023 correspond à 5 volts. Nous convertissons cette valeur en une valeur comprise entre 0 et 255 avec val / 4
. Ensuite, nous utilisons analogWrite(ledPin, val / 4)
pour envoyer la valeur convertie à la broche ledPin
. Cela aura pour effet de contrôler la luminosité de la LED en fonction de la position du potentiomètre.
En conclusion, ce code permet de contrôler la luminosité de la LED avec un potentiomètre en lisant la valeur du potentiomètre et en l’utilisant pour contrôler la sortie de la LED.
0 commentaires