Download presentation
Presentation is loading. Please wait.
Published byAbner Shelton Modified over 9 years ago
1
Pulse Width Modulation (PWM)
2
100%
3
Pulse Width Modulation (PWM) 0% On the chipKIT there are 490 periods per second. Use analogWrite(pin, value) to control the duty cycle on a pin. The value must be between 0 and 255. The pin must be one of the underlined pins.
4
Pulse Width Modulation (PWM) If you take the average value over one period, you can think of the voltage as being between 0 V (0% duty cycle) and 3.3 V (100% duty cycle). There are 256 different voltage levels (0 to 255).
5
Conversion of Analog to Digital Obtain “analog” input using analogRead(). analogRead() returns a value between 0 (if pin at ground) and 1023 (if pin at 3.3 V). Argument of analogRead() is the pin to read (only pins labeled ANALOG IN can be used). Used this to read setting of a potentiometer.
6
Pulse Width Modulation (PWM) Wrote led_with_potentiometer for this circuit.
7
Dimmable LED Program int potPin = 0; // Pin for potentiometer. int ledPin = 9; // Pin for LED. int pwmValue = 0; void setup() { Serial.begin(9600); // To see potentiometer setting. } void loop() { // Read potentiometer value and set PWM value. pwmValue = analogRead(potPin) / 4; Serial.println(pwmValue, DEC); analogWrite(ledPin, pwmValue); // Set PWM duty cycle. delay(15); // Waits 15 ms. }
8
Different Circuit; Same Result
9
Transistor: Electrically Controlled Switch If “base” of the transistor is high, then current can flow freely.
10
Transistor: Electrically Controlled Switch If “base” of the transistor is low, then current cannot flow.
11
Variable Speed Motor
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.