6.10.c  PWM (Internal) 

Sous Flowcode pour gérer une sortie en mode MLI, il faut ajouter au "Panneau tableau de bord" un composant de type "PWM"


Image PWM (Internal)

Pulse Width Modulation, a versitile way of generating a digital pulse using mark / space modulation. Uses the capture compare peripherals onboard most Microcontrollers to generate accurate waveforms without any intervention from the processor.Useful for generating audio, controlling the speed of motors, brightness of LED etc.

Image PWM (Internal)

Modulation de largeur d'impulsion, un moyen de générer une impulsion numérique à rapport cyclique variable. Utile pour générer de l'audio, contrôler la vitesse des moteurs, la luminosité de DEL etc...

Flowcode_328P_PWM.fcfx


Sous Arduino

La fonction en langage C permettant de piloter une sortie en MLI (PWM) du microcontrôleur est: analogWrite()


Description

Writes an analog value (PWM wave) to a pin. Can be used to light a LED at varying brightnesses or drive a motor at various speeds. After a call to analogWrite(), the pin will generate a steady rectangular wave of the specified duty cycle until the next call to analogWrite() (or a call to digitalRead() or digitalWrite()) on the same pin.


Syntax

analogWrite(pin, value)


Parameters

pin: the Arduino pin to write to. Allowed data types: int.

value: the duty cycle: between 0 (always off) and 255 (always on). Allowed data types: int.


Returns

Nothing


See also: analogWriteResolution()


Exemple

https://www.arduino.cc/en/Tutorial/BuiltInExamples/Fade


/*
  Cet exemple montre comment faire varier la luminosité d'une DEL sur la broche 9 à l'aide de la fonction analogWrite().

  La fonction analogWrite() utilise le PWM, donc si vous voulez changer de broche assurez-vous d'utiliser une autre 
  broche compatible PWM. 
  Sur la plupart des Arduino, les broches PWM sont identifiés par un signe "~", comme ~3, ~5, ~6, ~9, ~10 et ~11.

  Cet exemple de code est dans le domaine public.
  https://www.arduino.cc/en/Tutorial/BuiltInExamples/Fade
*/

int led = 9;           // la broche PWM à laquelle la DEL est reliée
int brightness = 0;    // luminosité de la DEL
int fadeAmount = 5;    // de combien de points estomper la DEL

// la routine de configuration s'exécute une fois lors du Reset
void setup() {
  pinMode(led, OUTPUT); // configure la broche 9 comme une sortie :
}

// boucle principale:
void loop() {
  analogWrite(led, brightness);                // régler la luminosité de la broche 9 :
  brightness = brightness + fadeAmount;        // changer la luminosité pour la prochaine fois dans la boucle :
  if (brightness <= 0 || brightness >= 255) {  
    fadeAmount = -fadeAmount;                           // inverser le sens du fondu aux extrémités du fondu :
  }
   delay(50);                                 // attendre 50 millisecondes pour voir l'effet
}



Circuit

Connect the anode (the longer, positive leg) of your LED to digital output pin 9 on your board through a 220 ohm resistor. Connect the cathode (the shorter, negative leg) directly to ground.

simplefade bb

Simulation sous Proteus 8

Téléchargement du schéma structurel sous Proteus 8: Arduino 328_fade.pdsprj

Créé avec HelpNDoc Personal Edition: Rationalisez votre processus de documentation avec le modèle HTML5 de HelpNDoc