MLI/PWM

La Bibliothèque WiringPi dispose de fonctions de gestion de la PWM.

Mais on ne peut dans ce cas pas utiliser la carte PiFace

Programme exemple (sources :https://projects.drogon.net/raspberry-pi/examples)

Remarque préliminaire : Avec la bibliothèque WiringPi, seule la sortie 1-WiringPi - (BCM18) c'est-à-dire  la patte 12 du connecteur - permet de disposer d'une PWM.

/*

* test2.c:

*      Simple test program to test the wiringPi functions

*      PWM test

*/


#include <wiringPi.h>


#include <stdio.h>

#include <stdlib.h>

#include <stdint.h>


int main (void)

{

 int pin ;

 int l ;

 printf ("La sortie PWM est obtenue sur la patte 1 WiringPi, patte 12 du connecteur\n") ;


 if (wiringPiSetup () == -1)

   exit (1) ;


 for (pin = 0 ; pin < 8 ; ++pin)

 {//On place les sortie à 0

   pinMode (pin, OUTPUT) ;

   digitalWrite (pin, LOW) ;

 }

  //La patte 1 est la sortie PWM

 pinMode (1, PWM_OUTPUT) ;


 while(1)

 { //on module le rapport cyclique : montant

   for (l = 0 ; l < 1024 ; ++l)

   {

     pwmWrite (1, l) ;

     delay (1) ;

   }


   for (l = 1023 ; l >= 0 ; --l)

   {//on module le rapport cyclique : descendant

     pwmWrite (1, l) ;

     delay (1) ;

   }

 }


 return 0 ;

}

Remarque : il faut bien sûr avoir rajouté la bibliothèque wiringPi dans le fichier de configuration (.pro) : LIBS += -L/usr/local/lib -lwiringPi