PWM

About: I'm a lover, I'm a fighter, I'm survivor, interested in music, electronic, robotics, automation, programming, alternative energy, survival, fishing, archery, cooking, skilled at welding and metalworking, wo...

PWM-Pulse with modulation, arduino uno has 6 pins with pwm (pins: 3, 5, 6, 9, 10, 11), they can be used to light a LED at varying brightnesses or drive a motor at various speeds.

"Pulse Width Modulation, or PWM, is a technique for getting analog results with digital means. Digital control is used to create a square wave, a signal switched between on and off. This on-off pattern can simulate voltages in between full on (5 Volts) and off (0 Volts) by changing the portion of the time the signal spends on versus the time that the signal spends off."-from https://www.arduino.cc/en/Tutorial/PWM

When the we select the pwm pin and call analogWrite () the pin will generate a square wave with the specified duty cycle (from 0-255) in volts that is from 0V-5V.

I made a program to see how pwm pin can change a speed of a motor or brightnesses of an LED,

the program is simple and you can see it on the arduino web site.

CODE:
int ledPin = 9; // LED connected to digital pin 9

int analogPin = 3; // potentiometer connected to analog pin 3

int val = 0;

void setup()

{

pinMode(ledPin, OUTPUT);

}

void loop() {

val = analogRead(analogPin); // read the input pin

analogWrite(ledPin, val / 4);

}

-----------------------------------------------------------------------------------------------------------

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: PWM Without Pot

It is possible to change brightness without a potentiometer, it is just change in code, led is connected to GND and to pin 3.

int ledPin=3;
int var=0; //initial value of variable

void setup()

{

pinMode (ledPin, OUTPUT); //setting pin to be output

}

void loop()

{

analogWrite(ledPin, var++);

delay (500);

}

Be the First to Share

    Recommendations

    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    Discussions

    None
    judas79

    3 years ago

    What I was looking for! In the "PWM without a pot code"; Wouldn't the number just continue to rise by 1 endlessly, without limit, using analogWrite(ledPin, var++);? Could the PWM be used to control a voltage control oscillator, to sweep through the frequency's from 0-5volts?