<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://script.spoken-tutorial.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=Arduino%2FC2%2FPulse-Width-Modulation%2FEnglish</id>
		<title>Arduino/C2/Pulse-Width-Modulation/English - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=Arduino%2FC2%2FPulse-Width-Modulation%2FEnglish"/>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Arduino/C2/Pulse-Width-Modulation/English&amp;action=history"/>
		<updated>2026-05-14T00:12:42Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.17</generator>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Arduino/C2/Pulse-Width-Modulation/English&amp;diff=50475&amp;oldid=prev</id>
		<title>Nancyvarkey at 05:29, 3 January 2020</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Arduino/C2/Pulse-Width-Modulation/English&amp;diff=50475&amp;oldid=prev"/>
				<updated>2020-01-03T05:29:12Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://script.spoken-tutorial.org/index.php?title=Arduino/C2/Pulse-Width-Modulation/English&amp;amp;diff=50475&amp;amp;oldid=50306&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Nancyvarkey</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Arduino/C2/Pulse-Width-Modulation/English&amp;diff=50306&amp;oldid=prev</id>
		<title>Nirmala Venkat: Created page with &quot; {| style=&quot;border-spacing:0;&quot; | style=&quot;border-top:1.5pt solid #000000;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&quot;| ''...&quot;</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Arduino/C2/Pulse-Width-Modulation/English&amp;diff=50306&amp;oldid=prev"/>
				<updated>2019-12-20T11:15:47Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot; {| style=&amp;quot;border-spacing:0;&amp;quot; | style=&amp;quot;border-top:1.5pt solid #000000;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| &amp;#039;&amp;#039;...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border-top:1.5pt solid #000000;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| '''Visual Cue'''&lt;br /&gt;
| style=&amp;quot;border:1.5pt solid #000000;padding:0.176cm;&amp;quot;| '''Narration'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 1:&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Welcome to the '''Spoken Tutorial''' on '''Pulse Width Modulation.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 2:&lt;br /&gt;
&lt;br /&gt;
Learning Objectives&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| In this tutorial we will learn about:&lt;br /&gt;
&lt;br /&gt;
* '''PWM i.e Pulse Width modulation'''&lt;br /&gt;
* '''PWM Duty Cycle'''&lt;br /&gt;
* '''PWM Frequency'''&lt;br /&gt;
* '''L293D Motor Driver IC'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 3:&lt;br /&gt;
&lt;br /&gt;
Pre-requisites&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| To follow this tutorial, you should have basic knowledge of:&lt;br /&gt;
&lt;br /&gt;
* '''Electronics''' and&lt;br /&gt;
* '''C or C++''' programming language&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 4:&lt;br /&gt;
&lt;br /&gt;
System Requirements&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| To record this tutorial, I am using&lt;br /&gt;
&lt;br /&gt;
* '''Arduino Uno board'''&lt;br /&gt;
* '''Ubuntu Linux 16.04 OS'''&lt;br /&gt;
* '''Arduino IDE '''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 5(A):&lt;br /&gt;
&lt;br /&gt;
External Components Required&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| We will also require some external '''components''' such as:&lt;br /&gt;
&lt;br /&gt;
* '''Breadboard'''&lt;br /&gt;
* '''10K Ohm Potentiometer'''&lt;br /&gt;
* '''LED'''&lt;br /&gt;
* '''220 ohm Resistor'''&lt;br /&gt;
* '''Jumper Wires'''&lt;br /&gt;
* '''Push Button'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 5(B) :&lt;br /&gt;
&lt;br /&gt;
Image '''DC-motor.jpg'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| * '''DC Motor'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 5(C) :&lt;br /&gt;
&lt;br /&gt;
Image '''L293D.jpg'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| * '''L293D Motor Driver IC'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 6:&lt;br /&gt;
&lt;br /&gt;
Pulse Width Modulation&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| * '''PWM signal '''is a square wave signal which has a high frequency i.e (1KHz).&lt;br /&gt;
* '''PWM''' is a technique by which the width of the pulse is varied.&lt;br /&gt;
* It is done while keeping the frequency of wave constant.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 7:&lt;br /&gt;
&lt;br /&gt;
Pulse Width Modulation&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| * PWM signal consists of two main properties that define its behaviour.&lt;br /&gt;
* They are '''Duty Cycle''' and '''Frequency.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 8:&lt;br /&gt;
&lt;br /&gt;
Image '''duty_cycle.jpg'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| It is the percentage of time, a digital signal is on, over a period of time.&lt;br /&gt;
&lt;br /&gt;
Duty cycle can be varied from 0% to 100%..&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 9:&lt;br /&gt;
&lt;br /&gt;
Formula - Duty cycle &lt;br /&gt;
&lt;br /&gt;
Image''' duty_cycle_formula.jpg'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| The Formula to calculate the percentage of duty cycle is shown here.&lt;br /&gt;
* '''tON '''is equal to the''' '''duration of time when signal is high.&lt;br /&gt;
* '''tOFF '''is equal to the''' '''duration of time when signal is low.&lt;br /&gt;
* '''Time Period'''is''' tON + tOFF'''.&lt;br /&gt;
* i.e. It is equal to the sum of on time and off time of PWM signal.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 10:&lt;br /&gt;
&lt;br /&gt;
PWM frequency&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| * Frequency determines how fast the PWM completes a cycle.&lt;br /&gt;
* i.e. How fast it switches from HIGH to LOW states.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 11:&lt;br /&gt;
&lt;br /&gt;
Example - Duty Cycle&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| * We will perform one simple experiment by varying duty cycle.&lt;br /&gt;
* This will control the brightness of LED. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 12:&lt;br /&gt;
&lt;br /&gt;
Image '''Arduino_PWM_pins.png'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| * '''Arduino Uno''' has 6 '''PWM channels.'''&lt;br /&gt;
* Pins '''3,5,6,9,10,11 '''on '''Arduino Uno''' are '''PWM channels.'''&lt;br /&gt;
* '''PWM '''channels are denoted by''' tilde '''sign.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| narration&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Let us see the circuit connection now.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 13:&lt;br /&gt;
&lt;br /&gt;
Image '''LED_Connection.png'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| * Connect '''anode''' leg of the '''LED''' to '''pin 9 '''of Arduino through 220 ohm resistor.&lt;br /&gt;
* Connect '''cathode''' leg of the '''LED''' to ground.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Image Live Setup&lt;br /&gt;
&lt;br /&gt;
'''LED_connection_setup.png'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| This is the '''live setup''' of the connection, as shown in the image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do the connection as shown in the image.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Open Arduino IDE&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Let us open the''' Arduino IDE'''.&lt;br /&gt;
&lt;br /&gt;
We will write a program to change the brightness of '''LED''' using '''PWM''' pin.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| int LED_Pin = 9;&lt;br /&gt;
&lt;br /&gt;
int duty_cycle_value = 1; &lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Type the code as shown.&lt;br /&gt;
&lt;br /&gt;
We have assigned the '''PWM pin 9''' to the variable '''LED_Pin.'''&lt;br /&gt;
&lt;br /&gt;
We have initialized '''duty_cycle_value''' as 1 for an LED to turn ON.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| void setup()&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
pinMode( LED_Pin, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Inside void setup, we will write '''pinMode''' function.&lt;br /&gt;
&lt;br /&gt;
We have declared '''pin 9''' of the Arduino as output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Highlight according to narration&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Inside void loop function we will write this code.&lt;br /&gt;
&lt;br /&gt;
Let me explain the code.&lt;br /&gt;
&lt;br /&gt;
'''While''' loop executes the code till the '''duty_cycle_value''' is below 255.&lt;br /&gt;
&lt;br /&gt;
'''analogWrite'''() function is used to generate PWM signal.&lt;br /&gt;
&lt;br /&gt;
We are passing two parameters. i.e PWM pin number and the duty cycle value.&lt;br /&gt;
&lt;br /&gt;
The '''duty cycle''' '''value''' must be between''' 0 '''to '''255 '''i.e between (0v) and (5V)&lt;br /&gt;
&lt;br /&gt;
We will keep a delay of 3000 millisecond i.e. 3 seconds &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Compile and save the program&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Click on the '''compile button '''to verify your program.&lt;br /&gt;
&lt;br /&gt;
A pop up window will appear to save the current program.&lt;br /&gt;
&lt;br /&gt;
Let us save the program as '''LED_Brightness '''and click on the save button.&lt;br /&gt;
&lt;br /&gt;
Now click on '''upload button''' to upload the current program on '''Arduino'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Live Output Video&lt;br /&gt;
&lt;br /&gt;
'''LED_output.mp4'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| We can see, the brightness of '''LED''' increasing gradually.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Next, we will do an experiment to control the speed and direction of a '''DC motor.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 14:&lt;br /&gt;
&lt;br /&gt;
Image '''L293D_Pinout.png'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| This is the pinout diagram of '''L293D motor driver IC.'''&lt;br /&gt;
&lt;br /&gt;
The speed of the motor is controlled by '''EN 1''' and '''EN 2''' of the IC.&lt;br /&gt;
&lt;br /&gt;
The direction of the motor is controlled by '''IN1''', '''IN2''', '''IN3''', '''IN4''' of the IC.&lt;br /&gt;
&lt;br /&gt;
We can control 2 motors at a time using this IC.&lt;br /&gt;
&lt;br /&gt;
In our experiment, we will connect only one DC motor.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Let us see the circuit connection now.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 15:&lt;br /&gt;
&lt;br /&gt;
Image '''Speed-Direction-Control-Connection.png'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| * '''Pin 1, Pin 8 and Pin 16 '''of driver IC are connected to''' 5V.'''&lt;br /&gt;
* '''Pin 4 '''and''' pin 5 '''of driver IC are connected to ground.&lt;br /&gt;
* '''Pin 2 and Pin 7''' of driver IC are connected to''' Pin 11''' and '''Pin 10''' of Arduino.&lt;br /&gt;
* 2 push buttons are connected to '''pin12''' and '''pin13''' of arduino.&lt;br /&gt;
* These push buttons are used to control the direction of DC motor'''.'''&lt;br /&gt;
* '''10Kohm''' potentiometer is connected to control the speed of the DC motor.&lt;br /&gt;
* Middle pin of '''potentiometer''' is connected to analog '''pin A0.'''&lt;br /&gt;
* '''Pin 3''' and '''Pin 6''' of driver IC are connected to DC motor.&lt;br /&gt;
* Do the connection as shown in the image.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 16:&lt;br /&gt;
&lt;br /&gt;
Image Live Setup&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| This is the '''live setup''' of the connection, as shown in the image.&lt;br /&gt;
&lt;br /&gt;
I have fixed a wheel on the shaft of the motor.&lt;br /&gt;
&lt;br /&gt;
This will help to see the rotation and varying speed of motor clearly.&lt;br /&gt;
&lt;br /&gt;
Now we will write a program for this circuit to work&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Switch to Arduino IDE&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Let’s switch to '''Arduino IDE.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Highlight the code&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const int potPin = A0;&lt;br /&gt;
&lt;br /&gt;
const int fwdbuttonPin = 13;&lt;br /&gt;
&lt;br /&gt;
const int bckbuttonPin = 12;&lt;br /&gt;
&lt;br /&gt;
const int ICpin2 = 11;&lt;br /&gt;
&lt;br /&gt;
const int ICpin7 = 10;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Type the code as shown here.&lt;br /&gt;
&lt;br /&gt;
We have initialized the connection between Arduino and driver IC.&lt;br /&gt;
&lt;br /&gt;
Potentiometer pin is connected to '''analog pin A0'''.&lt;br /&gt;
&lt;br /&gt;
'''fwdbuttonPin '''is the variable for push button connected to pin 13 of Arduino. &lt;br /&gt;
&lt;br /&gt;
'''bckbuttonPin '''is the variable for push button connected to pin 12 of Arduino. &lt;br /&gt;
&lt;br /&gt;
'''ICpin2''' and''' ICpin7 '''are the variables which indicates '''Pin 2 and Pin 7''' of IC.&lt;br /&gt;
&lt;br /&gt;
They are connected to''' Pin 11''' and '''Pin 10''' of Arduino respectively.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| int potValue = 0;&lt;br /&gt;
&lt;br /&gt;
int motorValue = 0;&lt;br /&gt;
&lt;br /&gt;
int fwdbuttonState = 0;&lt;br /&gt;
&lt;br /&gt;
int bckbuttonState = 0;&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| First we make sure that the potentiometer, motor and push buttons are in LOW state.&lt;br /&gt;
&lt;br /&gt;
For that we have initialised it to 0.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| void setup()&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
pinMode(fwdbuttonPin, INPUT_PULLUP);&lt;br /&gt;
&lt;br /&gt;
pinMode(bckbuttonPin,INPUT_PULLUP);&lt;br /&gt;
&lt;br /&gt;
pinMode(ICpin2, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
pinMode(ICpin7, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| In the''' void setup''' function, we will write this code.&lt;br /&gt;
&lt;br /&gt;
pinMode function defines the pins as INPUT or OUTPUT.&lt;br /&gt;
&lt;br /&gt;
'''fwdbuttonPin''' and '''bckbuttonPin''' are set to '''INPUT_PULLUP '''mode. &lt;br /&gt;
&lt;br /&gt;
In this mode we are using arduino’s internal pull-up resistors.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Show the demo of the manual&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| To know about the '''INPUT_PULLUP''' mode, refer to the manual.&lt;br /&gt;
&lt;br /&gt;
Click on the '''Help menu''' in the '''Arduino IDE.'''&lt;br /&gt;
&lt;br /&gt;
Then click on '''reference.'''&lt;br /&gt;
&lt;br /&gt;
This opens an offline page in your browser. &lt;br /&gt;
&lt;br /&gt;
Scroll down.&lt;br /&gt;
&lt;br /&gt;
Click on '''INPUT_PULLUP. '''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Switch back to '''Arduino IDE.'''&lt;br /&gt;
&lt;br /&gt;
'''ICpin2 '''and''' ICpin7 '''are set to '''OUTPUT''' mode to drive the motor.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| void loop()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Next we will write the code in '''void loop''' function.&lt;br /&gt;
&lt;br /&gt;
'''analogRead''' command will read the analog value from the potentiometer.&lt;br /&gt;
&lt;br /&gt;
This value will be given to analog pin A0.&lt;br /&gt;
&lt;br /&gt;
Depending upon the potentiometer value, the speed of the motor will vary.&lt;br /&gt;
&lt;br /&gt;
'''map''' command will convert the analog value to digital.&lt;br /&gt;
&lt;br /&gt;
'''fwdbuttonState''' and '''bckbuttonState''' will fetch the signal if push button is pressed. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| The IF command checks, if the push button connected to pin12 or pin13 is pressed.&lt;br /&gt;
&lt;br /&gt;
This enables the motor to rotate in a clockwise or anti-clockwise direction.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| else&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
digitalWrite(ICpin2, LOW);&lt;br /&gt;
&lt;br /&gt;
digitalWrite(ICpin7, LOW);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Suppose we don’t press any of the two buttons.&lt;br /&gt;
&lt;br /&gt;
Then the else command ensures the motor is in '''OFF''' condition.&lt;br /&gt;
&lt;br /&gt;
This code is available in the code file link of this tutorial&lt;br /&gt;
&lt;br /&gt;
You can download and use it.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Click on the '''compile button'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Click on the '''compile button '''to verify the program.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Compile and save the program&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Let us save the program as '''PWM_Motor''' and click on the save button.&lt;br /&gt;
&lt;br /&gt;
Now click on '''upload button''' to '''upload''' the current program on '''Arduino'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Point to the output in the video &lt;br /&gt;
&lt;br /&gt;
'''DC_motor_output.mp4'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Now we will see the output of the above program.&lt;br /&gt;
&lt;br /&gt;
I’ll press the '''push button''' connected to '''pin13'''.&lt;br /&gt;
&lt;br /&gt;
We can see the motor rotating in the '''clockwise''' direction.&lt;br /&gt;
&lt;br /&gt;
Now I will release the push button.&lt;br /&gt;
&lt;br /&gt;
The motor will stop rotating and it will be in OFF state.&lt;br /&gt;
&lt;br /&gt;
Now again, I’ll press the '''push button''' connected to '''pin12'''.&lt;br /&gt;
&lt;br /&gt;
We can see the motor is rotating in '''anti-clockwise '''direction.&lt;br /&gt;
&lt;br /&gt;
We can change the speed of motor by adjusting the potentiometer connected at A0.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| This brings us to the end of this tutorial. Let us summarize.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 17:&lt;br /&gt;
&lt;br /&gt;
Summary&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| In this tutorial, we learnt about&lt;br /&gt;
&lt;br /&gt;
* '''Pulse Width modulation'''&lt;br /&gt;
* '''PWM Duty Cycle'''&lt;br /&gt;
* '''PWM Frequency '''and&lt;br /&gt;
* How to control speed and direction of '''DC motor.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 18:&lt;br /&gt;
&lt;br /&gt;
Assignment&lt;br /&gt;
&lt;br /&gt;
'''Buzzer_output.mp4'''&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| As an '''assignment''':&lt;br /&gt;
&lt;br /&gt;
* Connect a '''Buzzer''' instead of '''LED''' in the above circuit connection.&lt;br /&gt;
* Upload the same program and check the output.&lt;br /&gt;
* You would hear a noise with different frequencies.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Here is the output of the assignment .&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 19:&lt;br /&gt;
&lt;br /&gt;
About Spoken Tutorial project&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| The video at the following link summarizes the '''Spoken Tutorial''' project.&lt;br /&gt;
&lt;br /&gt;
Please download and watch it.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 20:&lt;br /&gt;
&lt;br /&gt;
Spoken Tutorial workshops&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| The''' Spoken Tutorial Project''' Team:&lt;br /&gt;
&lt;br /&gt;
* conducts '''workshops''' and&lt;br /&gt;
* gives '''certificates'''.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 21:&lt;br /&gt;
&lt;br /&gt;
Forum for specific questions&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| Please post your timed queries in this '''forum'''. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| Slide 22:&lt;br /&gt;
&lt;br /&gt;
Acknowledgement&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| '''Spoken Tutorial''' project is funded by '''MHRD, Government of India'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:none;padding:0.176cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border-top:none;border-bottom:1.5pt solid #000000;border-left:1.5pt solid #000000;border-right:1.5pt solid #000000;padding:0.176cm;&amp;quot;| This tutorial has been contributed by FOSSEE and Spoken Tutorial Project, IIT Bombay. &lt;br /&gt;
&lt;br /&gt;
And this is saurabh''' '''signing off. &lt;br /&gt;
&lt;br /&gt;
Thanks for joining.&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	</feed>