Advertisement
ace_ventura

pwm

Aug 31st, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.68 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <wiringPi.h>
  3.  
  4. #define PWM 7   //Define a porta 7 do wiringPi como a entrada do PWM
  5.  
  6. int main(void){
  7.  
  8.     printf("Leitura do sinal PWM através do RasPi\n\n");
  9.  
  10.     wiringPiSetup();
  11.     pullUpDnControl(PWM, PUD_DOWN); //Define que a porta PWM vá a 0 quando não houver sinal na entrada
  12.     pinMode(PWM, INPUT);    //Configura a porta PWM como entrada
  13.  
  14.     int high = 0;
  15.     float dutyCycle = 0;
  16.     int i;
  17.  
  18.     for(i=0;i<100;i++){
  19.         if(digitalRead(PWM)){
  20.             high++;
  21.         }
  22.         delay(1);
  23.     }
  24.     dutyCycle = (float)high/i;
  25.  
  26.     printf("Tensão Analógica = %.2fV\n", 5.0*dutyCycle);
  27.     printf("Duty Cycle = %.1f %%\n\n", dutyCycle/100);
  28.  
  29.     return 0;
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement