MThardPWM en détail
Gestion par événements pour UNO, Nano, Mega

Génère un PWM avec un timer 16 bits.

Include à rajouter

#include <MTobjects.h> // Voir http://arduino.dansetrad.fr/MTobjects

Je conseille fortement de laisser le commentaire, si une autre personne voulait essayer le programme, elle aurait directement un lien de téléchargement. C'est valable pour toutes les bibliothèques que vous utilisez.

Commentaires utiles

micro_seconde
micro_secondes
impulsion_de
impulsions_de
periode_de
periodes_de
pour_cent

Ces commentaires sont des mots que l'on peut rajouter n'importe où et qui sont ignorés par le compilateur.

Constructeur

MThardPWM(pin, 
          periodMicrosecond = 20000 μs,
          pulseMicrosecond = 10000 μs);

Fonctions utiles

void setPulse(float pulseMicrosecond);
void setDutyCycle(float dutyCycle);
void setPeriod(float periodMicrosecond);
void detach(void);
void attach(void);

setPulse: change la durée de l'impulsion
setPulse: sans paramètres choisit des impulsions de 10ms
setDutyCycle: change la durée de l'impulsion grâce au rapport cyclique
setDutyCycle: sans paramètres choisit un rapport cyclique de 50%
setPeriod: change la période
setPeriod: sans paramètres choisit une période de 20ms (50Hz)
detach: déconnecte la broche, elle redevient "normale" en entrée (n'efface pas les temps programmés)
attach: reconnecte la broche, si elle a été "détached"

Fonctions bonus

float getPulse(void);
float getPeriod(void);
float getDutyCycle(void);
float getResolution(void);

getPulse: retourne la durée de l'impulsion
getPeriod: retourne la durée de la période
getDutyCycle: retourne la valeur du rapport cyclique
getResolution: retourne la résolution en μs (entre 62,5ns à 64μs)

Exemples