Main

Référence : Fonctions Pyduino

analogWriteHardware()


Description

Variante de la fonction analogWrite() qui reçoit une numérique hors plage pré-définie pour exprimer la largeur d'impulsion d'une onde PWM. La fonction analogWrite() permet de générer une onde PWM dont la largeur du cycle est exprimée de 0 à 255, mais en pratique, l'échelle PWM matérielle peut être différente. C'est pourquoi cette fonction permet d'utiliser les valeurs de largeur PWM supportées nativement par le matériel de la carte mini-PC utilisée. Cette fonction est à considérer comme "technique" et n'est pas conseillée pour un usage courant.

Note technique :

pcDuino :

  • Sur la carte mini-PC pcDuino, le PWM hardware fonctionne sur les broches 3,5, 6, 9, 10 et 11, comme pour une carte Arduino UNO ou équivalent.
  • la largeur d'impulsion supportée nativement par le module PWM du AllWinner A10 est :
    • une largeur de cycle PWM (dutyCycle) de 33 000 / Fréquence PWM (approximation empirique par oscilloscope) pour les broches PWM0, PWM3, PWM4 et PWM5 (broches 6,9,10,11) soit par exemple une plage de 0 à 16 pour une fréquence de 2000 Hz et une plage de 0 à 240 pour une fréquence de 126 Hz... toutes les valeurs intermédiaires étant possibles. Noter que les fonctions analogWrite() et analogWritePercent() assure le calcul automatique de la largeur de cycle en fonction de la fréquence courante PWM utilisée, permettant ainsi d'appliquer la largeur voulue sur la plage 0-255 ou 0-100% : donc en pratique, utiliser plutôt les fonctions analogWrite() et analogWritePercent(). Pratique non ?
    • une largeur de cycle PWM de 255 pour les broches PWM1 et PWM2 (5 et 6)

RaspberryPi

  • Le Raspberry Pi, seule la broche 1 est disponible pour le PWM hardware !
  • la largeur d'impulsion supportée par le module PWM du RaspberryPi est 1023

Syntaxe

analogWriteHardware(brochePWM, largeur)

Paramètres

  • broche: la broche utilisée pour "écrire" l'impulsion. Cette broche devra être une broche ayant la fonction PWM. La librairie Pyduino autorise les identifiants de la forme PWMx pour désigner les broches PWM : ce qui donne PWM0, PWM1, etc... Sur le pcDuino, ce pourra être une des broches 3, 5 ,6 ,9 ,10 ou 11, comme Arduino. Sur le RaspberryPi, uniquement la broche I/O 1.
  • valeur: la largeur du "duty cycle" (proportion de l'onde carrée qui est au niveau HAUT) :
    • sur le pcDuino :
      • jusqu'à (33 000 / Fréquence PWM) pour les broches PWM0, PWM3, PWM4 et PWM5
      • jusqu'à 255 pour les broches PWM1, PWM2
    • sur le RaspberryPi :
      • jusqu'à 1023 pour l'unique broche PWM0

Pour stopper la génération PWM, simplement faire analogWrite(broche, 0)...

Valeur renvoyée

  • Aucune

Exemple


analogWriteHardware(PWM0,980) # genere une impulsion de largeur indiquée "hardware" sur la broche PWM0
 

Commentaires utilisateurs

Aucun commentaire

Voir également


Page d'accueil de la référence Pyduino en français

Corrections, suggestions et nouvelle documentation peuvent être postées à l'adresse suivante : support_at_mon-club-elec_point_fr

Cette page a été réalisée par Xavier HINAULT (2013) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.