User Tools

Site Tools


raspberrypi:wiringpi:softpwm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
raspberrypi:wiringpi:softpwm [2017/01/27 19:43] – created aistisraspberrypi:wiringpi:softpwm [2017/02/11 13:51] (current) – aistis
Line 1: Line 1:
 +Impulso pločio moduliacija (Pulse-width modulation) PWM - skirta jeigu norime 
 +simuliuoti stiprėjantį arba silpstantį signalą. Tinka LED Šviesumui reguliuoti arba motoro
 +sukimosi greitumui reguliuoti
 +
 +Kodas žemiau didina intensyvumą nuo 0 iki 100
 <code c> <code c>
 #include <wiringPi.h> #include <wiringPi.h>
Line 5: Line 10:
 int main (void) int main (void)
 { {
-  //wiringPiSetup () ; 
   wiringPiSetupGpio();   wiringPiSetupGpio();
-  //pinMode(2,OUTPUT); +  softPwmCreate(2, 0, 100);
-  //digitalWrite(18,LOW); +
-  //pinMode (2, PWM_OUTPUT ) ; +
-  softPwmCreate(2, 100, 100); +
-  //softPwmCreate (21, 0, 1024) ;+
   for (int i=0;i<100;i++)   for (int i=0;i<100;i++)
   {   {
-    //pwmWrite(2, i) ; 
     softPwmWrite (2, i);     softPwmWrite (2, i);
     delay (20) ;     delay (20) ;
-    //digitalWrite (21,  LOW) ; delay (500) ; 
   }   }
   return 0 ;   return 0 ;
 } }
 +</code>
  
 +kodas zemiau spaudant q ir w galima reguliuoti intensyvumą
 +<code c>
 +#include<stdio.h>
 +#include <termios.h>            //termios, TCSANOW, ECHO, ICANON
 +#include <unistd.h>     //STDIN_FILENO
 +#include <wiringPi.h>
 +#include <softPwm.h>
 +
 +const int pin = 21;
 +
 +int main(void){   
 +    int c;   
 +    static struct termios oldt, newt;
 +    tcgetattr( STDIN_FILENO, &oldt);
 +    newt = oldt;
 +    newt.c_lflag &= ~(ICANON | ECHO);          
 +    tcsetattr( STDIN_FILENO, TCSANOW, &newt);
 +    
 +    wiringPiSetupGpio();
 +    pinMode(pin, OUTPUT);
 +    softPwmCreate(pin, 0, 100); 
 +    
 +    int p = 0;
 +
 +    printf("Press e to exit program\n");
 +    printf("press q and w to increase and decrease software pwm\n");
 +    while((c=getchar())!= 'e')
 +    {      
 +        if (c == 'q') {
 +            p ++;
 +            printf("%d  \r",p);
 +            softPwmWrite (pin, p);
 +        }
 +        if (c == 'w') {
 +            p --;
 +            printf("%d  \r",p);
 +            softPwmWrite (pin, p);
 +        }        
 +        delay (20) ;
 +    }                 
 +
 +    tcsetattr( STDIN_FILENO, TCSANOW, &oldt);
 +    return 0;
 +}
 </code> </code>
raspberrypi/wiringpi/softpwm.1485538992.txt.gz · Last modified: by aistis