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