Beamer Arduino

Download as pdf or txt
Download as pdf or txt
You are on page 1of 89

Outline

Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Innovative Experiments

Sandeep S Ghugre
UGC DAE CSR KC

Email : [email protected]

September 1, 2020

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Introduction
ARDUINO Microcontroller
What is a Microcontroller
Why Arduino
Variants of Arduino
Accessories
ARDUINO Uno
Getting Started
Hardware Connection to the host computer
The Hardware Real Estate
Software
Initial Conguration
First Program
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution
Read Analog Voltage
ADC on ARDUINO
Using the IDE
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Multivibrator
555 Timer
Arduino & Astable Multivibrator
Sketch for recording data
Analysis of the data
Pulse Width Modulation
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution
Introduction
Arduino & PWM

Precaution
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Preamble
UGC-DAE Consortium for Scientic Research, Kolkata Centre, is in
the process of developing a range of innovative, low cost experiments
based on the routinely available resources for the undergraduates.
These experiments are expected to be illustrative and contribute in
their understanding of the basics of the subject, apart from rejuve-
nating the fun factor in the learning process.
These experiments utilize the
1. Sound card in the PC
2. Open source micro-controller : ARDUINO
as the Data Acquisition System.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno What is a Microcontroller
Charging of a Capacitor Why Arduino
Time Period of Pendulum Variants of Arduino
Arduino & LDR Accessories
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

What is a Microcontroller

A microcontroller (self contained system with processor, memory &


peripherals combined on a single hardware real estate), which is an
open-source physical computing platform based on a simple i/o board
and a development environment

Innovative micro-controller based experiments can be developed which


would allow for open-ended experiments in the conventional labora-
tory.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno What is a Microcontroller
Charging of a Capacitor Why Arduino
Time Period of Pendulum Variants of Arduino
Arduino & LDR Accessories
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Why ARDUINO
The choice of Arduino was essentially due to
1. It being an Open Source , both in terms of hardware and
software.
2. The hardware is cheap and can also be built from the
components using the information available in public domain.
3. It can be powered from either a USB or a standalone DC power
4. It can run standalone from a computer (chip is programmable)
and it has a decent memory.
5. It can communicate with the computer via
5.1 Serial , Bluetooth , Ethernet
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno What is a Microcontroller
Charging of a Capacitor Why Arduino
Time Period of Pendulum Variants of Arduino
Arduino & LDR Accessories
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

1. It can work with both Digital and Analog signals, Sensors and
Actuators
2. Various shields, ie. boards that can be plugged on top on the
Arduino or it's variants, that enhance it's capabilities are easily
available.
3. Ready made boards such as IR transmitter and receiver, Ultra
sonic distance sensor, to name a few are available which can
be easily integrated with the Arduino microcontroller, allowing
us the exibility to congure experiments as per user
requirement and specications.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno What is a Microcontroller
Charging of a Capacitor Why Arduino
Time Period of Pendulum Variants of Arduino
Arduino & LDR Accessories
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Variants of ARDUINO

Mega
UNO
And at the heart of the Arduino development board is the Atmel ARV
Atmega 328 , a modied Harvard architecture 8-bit RISC single chip mi-
crocontroller which was developed by Atmel in 1996.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno What is a Microcontroller
Charging of a Capacitor Why Arduino
Time Period of Pendulum Variants of Arduino
Arduino & LDR Accessories
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Accessories
To eectively use the Arduino, we require the following
1. USB printer cable : Essential
2. Breadboards
2.1 Mini Breadboard
2.2 Small Breadboard
3. Breadboard Power supply , this has to be used with a small
breadboard.
4. Connectors : Essential
5. Breakout Boards
6. Components : : As per the requirement of expt.
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno What is a Microcontroller
Charging of a Capacitor Why Arduino
Time Period of Pendulum Variants of Arduino
Arduino & LDR Accessories
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Breadboards

Small Breadboard
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno What is a Microcontroller
Charging of a Capacitor Why Arduino
Time Period of Pendulum Variants of Arduino
Arduino & LDR Accessories
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Breadboard Power Supply

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno What is a Microcontroller
Charging of a Capacitor Why Arduino
Time Period of Pendulum Variants of Arduino
Arduino & LDR Accessories
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Breadboard Power Supply

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno What is a Microcontroller
Charging of a Capacitor Why Arduino
Time Period of Pendulum Variants of Arduino
Arduino & LDR Accessories
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Connectors

Male-to-Male Connector
9V snap Connector
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno What is a Microcontroller
Charging of a Capacitor Why Arduino
Time Period of Pendulum Variants of Arduino
Arduino & LDR Accessories
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Prototype Shields , Breakout Boards

Prototype Shield
Prototype Shield for Nano
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Uno
The Arduino UNO is based on the ATmega328P chip.

The board has a power LED


and also a RESET button.
The board can be collected to
a host computer using a USB
cable.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Connection to the computer

Now all we need to do is connect the microcontroller to the system


via a USB and we are all set.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Hardware Real Estate

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

CPU
Heart of the Arduino development board is the Atmel ARV Atmega
328P (A) , 8-bit RISC single chip microcontroller which was devel-
oped by Atmel in 1996. It can be identied as a prominent black
rectangular chip with 28 pins. The components of relevance to
us are
1. 32 KB Flash memory.
2. 2KB of RAM.
3. CPU.
4. A non volatile Electrically Erasable Programmable Read Only
Memory (EEPROM).
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

I/O Pins :Analog


The Arduino Uno has 6 analog pins, which utilize a 10 bit ADC
(Analog to Digital converter).

They can accept a maximum voltage of 5 volt.

They are labelled as Pins A0-A5.

These pins just measure voltage and not the current because they
have very high internal resistance. Hence, only a small amount of
current ows through these pins.
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Pins labelled 0-13 of the Arduino Uno serve as digital input/output


pins.

Pin 13 of the Arduino Uno is connected to the built-in LED.

When digital pins are used as output pins, it is recommended to limit


the current to 20 milliamps.

In the Arduino Uno - pins 3,5,6,9,10,11 labelled by ∼ have Pule


Width Modulation capability which simulate an analog like output.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Misc.

1. Crystal Oscillator This is a quartz crystal oscillator which ticks


16 million times a second. On each tick, the microcontroller
performs one operation.
2. USB Connector This is a printer USB port used to load a
program from the Arduino IDE onto the Arduino board. The
board can also be powered through this port.
3. Power Port The Arduino board can be powered through an
AC-to-DC adapter or a battery using a conventional 2.1mm
center-positive plug into the power jack of the board.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Integrated Development Environment for Arduino


The IDE (Integrated Development Environment) can be downloaded
from http://arduino.cc/en/Main/Software .

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Congure the IDE


We need to congure the development environment, by providing,
the board details as well as the port to which it is connected. Most
of the time the software will prompt you the correct options :

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

COM port Selection

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Anatomy of a sketch
Having done this we are all set to write our rst program for the
micro-controller which is the equivalent of Hello World.

A program in Arduino is referred to as Sketch .

The anatomy of a sketch is


void setup() → initialization
executed only when the program begins
void loop() → code executed continously

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

To test if we have set it up correctly, we could try to blink the on-


board LED, which is connected to pin 13
LED_BUILTIN = 13;
void setup() { pinMode(LED_BUILTIN, OUTPUT); }
void loop() { digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN,LOW);
delay(1000); }

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Uploading the code to the computer


The procedure to transfer this code onto the Arduino is as follows :
1. The sketch, which is case sensitive, is typed in the program
area.
2. Press the Compile button, for compilation and any errors are
identied in this process and need to be rectied before the
code is compiled.
3. Press the Upload button, to program the Arduino board with
the sketch.
4. During the uploading, the TX/RX LED will ash, indicating
a communication between the Arduino and the PC.
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution
Once the code gets uploaded on to micro-controller, the onboard
LED which is connected to pin 13 will blink. The blinking rate can
be controlled by modifying the option parameter for delay . The
parameter is set in milli-seconds

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

ADC on the ARDUINO


An Analog-to- Digital Convertor, converts the analog voltage which
is provided as input into an equivalent digital number.

We classify (specify) the given ADC based upon it's bits.

For example if we have a 10 bit ADC, then it will map Vmin to Vmax →
2 = 1024 digital numbers.
10

Arduino accepts analog signals upto 5 volt and hence has a resolution
of about 5 milli-Volt.
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

analogRead(pin_number)
We know that, the ADC after converting the input analog voltage
would return an integer value (channel number).

The inbuilt function analogRead(pin_number) , would help us ob-


tain the ADC value for the given input analog voltage.

int SensorValue = analogRead(A0);

The above command, would store the ADC channel number (as an integer) corresponding to the analog
voltage connected to Analog Pin Number 0.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

SerialMonitor
Now, the value obtained would have to be displayed to the user.

A simple solution would be to use the Serial Monitor for this pur-
pose.

Serial.begin(9600)

We need to congure the BAUD rate in the initialization routine


Setup, which in the present case is set to 9600 bits per second.
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Read Analog Voltage using IDE : Raw ADC value


1 // t h e s e t u p r o u t i n e r u n s once when you p r e s s r e s e t : / / `
2 void setup () {
3 // i n i t i a l i z e s e r i a l c o m m u n i c a t i o n a t 9600 b i t s p e r s e c o n d :
4 S e r i a l . begin (9600) ;
5 }
6
7 // t h e l o o p r o u t i n e r u n s o v e r and o v e r a g a i n f o r e v e r :
8 void loop () {
9 // r e a d t h e i n p u t on a n a l o g p i n 0 :
10 i n t s e n s o r V a l u e = a n a l o g R e a d ( A0 ) ;
11 // p r i n t o u t t h e v a l u e you r e a d :
12 S e r i a l . p r i n t l n ( sensorValue ) ;
13 // d e l a y i n t h e m i l l i −s e c o n d s i n between r e a d s f o r s t a b i l i t y
14 delay (1000) ; // d e l a y i n between r e a d s f o r s t a b i l i t y
15 }

Once the program is compiled and uploaded you can view the results
in the Serial Monitor
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Once the program is compiled and uploaded you can view the results
in the Serial Monitor , the commands of relevance are shown below.

Tools −→ Serial Monitor


−→ Autoscroll (O)
−→ Show timestamp (O)
−→ Carriage return
−→ 9600 baud

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

We know that the ADC converts the input into a channel number,
and we then need to map it or convert it to the quantity of our
relevance. This is referred to as Calibration .
For example, using the on-board 10 bit ADC, we have the following
relation
0V −→ 0 channel
5V −→ 1023 channel
volt 5
=
channel 1023
5
unknown voltage = × channel
1023

Ocourse we have to bear in mind, that while the ADC channel is an


integer , the mapped voltage would be a real number .

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Read Analog Voltage using IDE : Actual Voltage


The ADC Channel Numbers are Integer while the actual Voltages
are Real numbers
1 // t h e s e t u p r o u t i n e r u n s once when you p r e s s r e s e t :
2 void setup () {
3 // i n i t i a l i z e s e r i a l c o m m u n i c a t i o n a t 9600 b i t s p e r s e c o n d :
4 S e r i a l . begin (9600) ;
5 }
6
7 // t h e l o o p r o u t i n e r u n s o v e r and o v e r a g a i n f o r e v e r :
8 void loop () {
9 // r e a d t h e i n p u t on a n a l o g p i n 0 :
10 i n t s e n s o r V a l u e = a n a l o g R e a d ( A0 ) ;
11 // C o n v e r t t h e a n a l o g r e a d i n g ( w h i c h g o e s from 0 − 1 0 2 3 ) t o a v o l t a g e ( 0
− 5V) :
12 f l o a t voltage = sensorValue * (5.0 / 1023.0) ;
13 // p r i n t o u t t h e v a l u e you r e a d :
14 Serial . println ( voltage ) ;
15 }
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution
We have used the onboard 5 and 3.3 volt supply as the analog signal.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Time Stamped Data


Time stamped data, ie, we need to record the time along with the data.

We could use the inbuilt millis() function, which records the number of
milliseconds that have elapsed since the program started running.

The value returned is an unsigned long.

start_tim = millis() in the initialization routine


current_tim = millis() in the main loop
elapsed_tim = current_tim - start_tim in the main loop

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Time Stamped Data


1 unsigned long s t a r t M i l l i s ;
2 unsigned long c u r r e n t M i l l i s ;
3 u n s i g n e d l o n g now ;
4 void setup () {
5 // i n i t i a l i z e s e r i a l c o m m u n i c a t i o n a t 9600 b i t s p e r s e c o n d :
6 S e r i a l . begin (9600) ;
7 // i n i t i a l i z e s t a r t t i m e :
8 s t a r t M i l l i s = m i l l i s () ;
9 }
10
11 // t h e l o o p r o u t i n e r u n s o v e r and o v e r a g a i n f o r e v e r :
12 void loop () {
13 c u r r e n t M i l l i s = m i l l i s () ;
14 now = c u r r e n t M i l l i s − s t a r t M i l l i s ;
15 i n t s e n s o r V a l u e = a n a l o g R e a d ( A0 ) ;
16 f l o a t voltage = sensorValue * (5.0 / 1023.0) ;
17 S e r i a l . p r i n t ( now ) ;
18 S e r i a l . p r i n t ( "\ t " ) ;
19 Serial . println ( voltage ) ;
20 delay (5000) ;
21 }
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno Getting Started
Charging of a Capacitor The Hardware Real Estate
Time Period of Pendulum Software
Arduino & LDR Read Analog Voltage
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Time Stamped Data

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Circuit : Charging of a capacitor


  t 
Q = C · V0 1 − e RC
  t 
V (t) = V0 1 − e RC

Figure: RC circuit.
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Arduino : Charging of a capacitor

Figure: Charging of a capacitor using Arduino.


Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Arduino : Charging of a capacitor

Figure: Charging of a capacitor using Arduino.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Sketch : Charging of a Capacitor

1 i n t SensorValue = 0 ;
2 i n t l e d = 13 ; 1 }
3 f l o a t Voltage1 = 0 . 0 ; 2
4 l o n g u n s i g n e d now = 0 . 0 ; 3 void loop () {
5 long unsigned then = 0.0 ; 4 S e n s o r V a l u e = a n a l o g R e a d ( A0 ) ;
6 long unsigned elapsed = 0.0 ; 5 now = m i l l i s ( ) ;
7 6 Voltage1 = SensorValue * (
8 void setup () { 5.0/1023.0) ;
9 pinMode ( LED_BUILTIN , OUTPUT) ; 7 e l a p s e d = now − t h e n ;
10 S e r i a l . begin (9600) ; 8 // S e r i a l . p r i n t ( e l a p s e d ) ;
11 d i g i t a l W r i t e ( l e d , LOW) ; 9 // S e r i a l . p r i n t ( "\ t " ) ;
12 delay (9000) ; 10 S e r i a l . p r i n t l n ( Voltage1 ) ;
13 d i g i t a l W r i t e ( l e d , HIGH ) ; 11 }
14 then = m i l l i s () ;

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Procedure : Charging of a Capacitor


We wait suciently long enough (Line 11) for us to re up the serial
terminal, prior to commencing the charging.

We start the charging, by setting the Pin 13 to High State, (Line


12).

On the Serial Monitor we observe the time and the voltage across
the capacitor.

These values are seperated by a tab (Line 22).


Sandeep Sroutine,
Accordingly in the analysis Ghugre we
Innovative Experiments
will have to set the delimiter .
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Save the data in an ASCII le


The values from the Serial Monitor, are to be copied to an ASCII
le, which is achieved, by
1. Use the command CNTR+A , which selects all
2. Copy the selected contents using the familiar CNTR+C
command.
3. Open the Python GUI
4. Select the File option and the New File sub-menu
5. In the poped up empty window CNTR+V to copy the
contents
6. Save the le as a .txt le by choosing the option as txt in the
Save As sub-menu.
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Analysis : Charging of a Capacitor


1 i m p o r t numpy a s np
2 import m a t p l o t l i b . pyplot as p l t
3 import os
4
5 r = 100000
6 c = 220E−06
7 Vin =5.0
8 f 1 = open ( ' s s g 1 . t x t ' , ' r ' )
9 h e a d e r 1=f 1 . r e a d l i n e ( ) # s k i p the header
10 d a t a 1 = np . g e n f r o m t x t ( f1 , d e l i m i t e r= ' \ t ' )
11 #d a t a 1 = np . g e n f r o m t x t ( f1 , d e l i m i t e r = ' , ' )
12 y_vr = [ ] # a r r a y to s t o r e the v o l t a g e a c r o s s the r e s i s t o r
13 y_vc_theo =[ ] # a r r y t o s t o r e t h e c a l c u l a t e d v o l t a g e a c r o s s c a p a c i t o r
14 temp1 = 0 . 0 # temporary v a r i a b l e
15 temp2 = 0 . 0 # temporary v a r i a b l e
16 tau = r *c # tau of the c i r c u i t
17
18 x_time=d a t a 1 [ : , 0 ]
19 y_vc=d a t a 1 [ : , 1 ]

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

1 f o r i i n r a n g e ( l e n ( x_time ) ) :
2 temp1 = 5 . 0 − y_vc [ i ]
3 y_vr . append ( temp1 )
4 temp2 = Vin −Vin * ( np . exp (( − x_time [ i ] ) / ( r * c ) ) )
5 y_vc_theo . append ( temp2 )
6 temp1 =0.0
7 temp2 =0.0
8
9 f1 . close ()
10 X=[0 , tau , 1 0 * tau , 1 0 0 * t a u ]
11 Y= [ 0 . 6 3 * Vin , 0 . 6 3 * Vin , 0 . 6 3 * Vin , 0 . 6 3 * Vin ] # f o r o b s e r v i n g t a u
12 p l t . p l o t (X , Y , " r −−" )
13 p l t . p l o t ( x_time , y_vc , " go " , l a b e l=" Expt " )
14 p l t . p l o t ( x_time , y_vc_theo , "b* " , l a b e l=" T h e o r e t i c a l " )
15 p l t . l e g e n d ( l o c=" b e s t " )
16 p l t . x l a b e l ( ' Time ( s e c o n d ) ' )
17 p l t . y l a b e l ( ' Voltage across capacitor ' )
18 p l t . x l i m ( 0 , max ( x_time ) )
19 plt . grid ()
20 p l t . show ( )

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Plots : Charging of a capacitor

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Proximity Sensor
The IR Proximity sensor is based on the principle of IR reectance.

The IR transmitter emits Infra-Red radiations (λ ∼ 700 nm −


100 nm).

Infrared receivers detect the radiation from an IR transmitter, are


photo-diodes and they detect only infrared radiation.

This signal is processed by an Op-Amp operated as a Comparator.


When, the IR signal is interrupted due to the presence of an obstacle
in the line of sight, the comparator, produces a change in the output,
say for example a HIGH Sandeepsignal.
S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Commercial Proximity Sensors

Figure: Proximity Sensor.


Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Simple Proximity Receiver

Figure: IR Transmitter & Receiver coupled to Arduino.


Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Experimental Setup

The Sketch is identical to the one used for the charging of the capacitor.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Analysis

1 i m p o r t numpy a s np
2 import m a t p l o t l i b . pyplot as p l t
3
4 d a t a = np . g e n f r o m t x t ( " pendulum_data . t x t " )
5
6 time1 = data [ : , 0 ] / 1 0 0 0 . 0
7 v o l t a g e = data [ : , 1 ]
8
9 plt . p l o t ( time1 , v o l t a g e )
10 plt . x l a b e l ( ' Time ( s ) ' )
11 plt . y l a b e l ( ' V o l t a g e ( Arb . u n i t ) ' )
12 plt . t i t l e ( ' Measurement o f t i m e p e r i o d o f a pendulum ' )
13 plt . grid ()
14 plt . show ( )

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Time interval between three blips or change in level, would give us


the Time period for the given pendulum.
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Voltage Divider
The conguration comprises of two series resistors R & R across 1 2

which we apply the input voltage, Vi .


R2
Vo = Vi ·
R1 + R2
if R 1 = R2 = R then
R Vi
Vo = Vi · =
R+R 2
if R2 >> R1 then
R2
Vo ∼ Vi ·
R2
∼ Vi
if R2 << R1 then
0
Vo ∼ Vi · ∼0
R1

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Light Dependent Resistor


A Light Dependent Resistor is a component that is sensitive to
light.

LDRs are passive components, made from semiconductor materials


to enable them to have their light sensitive properties.

Interaction of light photons with the semiconductor lattice results in


the transfer of the photon energy, to the electrons.

These energetic electrons break free from crystal lattice and are avail-
able for conduction.
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Arduino and LDR

Sandeep
Figure: LDR connected in aSvoltage
Ghugre divider
Innovative(replacing
Experiments R ) and coupled
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Measure Resistance of LDR


1
2 // t h e s e t u p r o u t i n e r u n s once when you p r e s s r e s e t :
3 void setup () {
4 // i n i t i a l i z e s e r i a l c o m m u n i c a t i o n a t 9600 b i t s p e r s e c o n d :
5 S e r i a l . begin (9600) ;
6 }
7
8 // t h e l o o p r o u t i n e r u n s o v e r and o v e r a g a i n f o r e v e r :
9 void loop () {
10 // r e a d t h e i n p u t on a n a l o g p i n 0 :
11 i n t s e n s o r V a l u e = a n a l o g R e a d ( A0 ) ;
12 // C o n v e r t t h e a n a l o g r e a d i n g ( w h i c h g o e s from 0 − 1 0 2 3 ) t o a v o l t a g e
( 0 − 5V) :
13 f l o a t voltage = sensorValue * (5.0 / 1023.0) ;
14 float vratio = voltage /5.0;
15 f l o a t Rx = − 1000.0/( v r a t i o −1) ;
16 // p r i n t o u t t h e v a l u e you r e a d :
17 Serial . print ( voltage ) ;
18 S e r i a l . p r i n t ( "\ t " ) ;
19 S e r i a l . p r i n t l n ( Rx ) ;
20 delay (5000) ;
21 } Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Bipolar Junction Transistor

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

BJT as a Switch

Figure: BJT as a switch.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Arduino : Transistor as a switch

Figure: Transistor as a switch.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Determination of Planck's Constant

Figure: Determination of h.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Determination of h

Figure: Transistor as a switch.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Determination of h.
1 i n t ledPin = 13; // LED c o n n e c t e d t o d i g i t a l p i n 13
2 i n t S e n s o r V a l u e =0;
3 f l o a t Voltage =0.0;
4
5 void setup () {
6 pinMode ( LED_BUILTIN , OUTPUT) ;
7 S e r i a l . begin (9600) ;
8 }
9
10 void loop () {
11 d i g i t a l W r i t e ( l e d P i n , HIGH ) ;
12 S e n s o r V a l u e=a n a l o g R e a d ( A0 ) ;
13 Voltage = SensorValue *(5.0/1023.0) ;
14 S e r i a l . p r i n t l n ( Voltage ) ;
15 delay (5000) ;
16 d i g i t a l W r i t e ( l e d P i n , LOW) ;
17 S e n s o r V a l u e=a n a l o g R e a d ( A0 ) ;
18 Voltage = SensorValue *(5.0/1023.0) ;
19 S e r i a l . p r i n t l n ( Voltage ) ;
20 delay (5000) ;
21 }
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Now, we know that the


vg , is related to the
Color λg |nm Vg |volt h|j−s
Planck's Constant h
Red 665 1.84 6.36 × 10−34
as
Yellow 590 1.95 6.52 × 10−34
e × Vg × λg Green 560 1.94 6.13 × 10−34
h =
c Orange 635 1.88 5.79 × 10−34

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor Multivibrator
Time Period of Pendulum 555 Timer
Arduino & LDR Arduino & Astable Multivibrator
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Multivibrator

Multivibrator is an electronic switching circuit, which usually has


two states.

They are generally classied as


1. Mono-stable One stable state
2. Bi-stable Two stable states
3. A-stable
3.1 No stable state
3.2 Keeps on oscillating between the two states

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor Multivibrator
Time Period of Pendulum 555 Timer
Arduino & LDR Arduino & Astable Multivibrator
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

555 Timer

Figure: A simplied block diagram of the 555 timer.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor Multivibrator
Time Period of Pendulum 555 Timer
Arduino & LDR Arduino & Astable Multivibrator
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

1
Frequency =  
Thigh + Tlow
1.44
= 
R1 + 2 × R2

× C

The Duty Cycle , is given by

Thigh
 
Dugty Cycle =
(Thigh + Tlow )

Figure: 555 timer as Astable Multivibrator.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor Multivibrator
Time Period of Pendulum 555 Timer
Arduino & LDR Arduino & Astable Multivibrator
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Arduino Compatible 555 timer

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor Multivibrator
Time Period of Pendulum 555 Timer
Arduino & LDR Arduino & Astable Multivibrator
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution
1 i n t SensorValue = 0;
2 f l o a t Voltage1 = 0;
3 unsigned long s t a r t M i l l i s ;
4 unsigned long c u r r e n t M i l l i s ;
5 u n s i g n e d l o n g now ;
6 void setup () {
7 // i n i t i a l i z e s e r i a l c o m m u n i c a t i o n a t 9600 b i t s p e r s e c o n d :
8 S e r i a l . begin (9600) ;
9 // i n i t i a l i z e s t a r t t i m e :
10 s t a r t M i l l i s = m i l l i s () ;
11 }
12
13 // t h e l o o p r o u t i n e r u n s o v e r and o v e r a g a i n f o r e v e r :
14 void loop () {
15 c u r r e n t M i l l i s = m i l l i s () ;
16 now = c u r r e n t M i l l i s − s t a r t M i l l i s ;
17 S e n s o r V a l u e = a n a l o g R e a d ( A0 ) ;
18 Voltage1 = SensorValue * (5.0 / 1023.0) ;
19 S e r i a l . p r i n t ( now ) ;
20 S e r i a l . p r i n t ( "\ t " ) ;
21 S e r i a l . p r i n t l n ( Voltage1 ) ;
22 delay (10) ;
23 }

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor Multivibrator
Time Period of Pendulum 555 Timer
Arduino & LDR Arduino & Astable Multivibrator
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Waveform

Figure: Squarewave output from 555 timer.


Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor Multivibrator
Time Period of Pendulum 555 Timer
Arduino & LDR Arduino & Astable Multivibrator
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution
1 import numpy a s np
2 import m a t p l o t l i b . pyplot as p l t
3 import os
4 import s c i p y as sy
5 import s c i p y . f f t p a c k as s y f p
6 import pylab as p y l
7
8 f 1 = open ( ' 555 _timer . t x t ' , ' r ' )
9 h e a d e r 1=f 1 . r e a d l i n e ( ) # s k i p the header
10 d a t a 1 = np . g e n f r o m t x t ( f1 , d e l i m i t e r= ' \ t ' )
11
12 x_time=d a t a 1 [ : , 0 ] / 1 0 0 0 . 0
13 y_vc=d a t a 1 [ : , 1 ]
14 f1 . close ()
15
16 plt . p l o t ( x_time , y_vc , "g−−" )
17 plt . x l a b e l ( ' Time ( s e c o n d ) ' )
18 plt . y l a b e l ( ' Output V o l t a g e ' )
19 plt . t i t l e ( ' 555 Timer a s A s t a b l e M u l t i v i b r a t o r ' )
20 plt . x l i m ( 0 , max ( x_time / 2 . 0 ) )
21 plt . grid ()
22 plt . show ( )

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor Multivibrator
Time Period of Pendulum 555 Timer
Arduino & LDR Arduino & Astable Multivibrator
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor Introduction
Time Period of Pendulum Arduino & PWM
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Pulse Width Modulation


is a technique for mimicking analog results using digital signals.

Digital control is used to create a square wave.

This repetitive on-o pattern can simulate voltages in between full


on (5 Volts) and o (0 Volts) by changing the portion of the time
the signal spends ON versus the time that the signal spends OFF.

Ocourse, the response of the load which receives this signal is slower
than the frequency of the pulse.
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor Introduction
Time Period of Pendulum Arduino & PWM
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

The various terms of relevance


for PWM are
1. On-Time, the duration for
which the signal is HIGH τo .
2. Period, the time taken for
one complete oscillation.
3. Duty-Cycle, the percentage
of time for which the signal
remains ON, during the
period of the signal, τo/τc .

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor Introduction
Time Period of Pendulum Arduino & PWM
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

The two main operational parameters which describes a PWM signal


are the duty cycle and frequency.

By cycling a digital signal o and on at a fast enough rate, and with


a certain duty cycle, the output will appear to behave like a constant
voltage analog signal when providing power to devices.

Thus the output voltage is a function of the duty cycle, for a 100%
duty cycle, the output, would be 5 volt, whereas a 50% duty cycle
would result in an output of 2.5 volt.

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor Introduction
Time Period of Pendulum Arduino & PWM
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

PWM using Arduino


The output of a PWM channel is available on digital I/O pins 3, 5,
6, 9, 10 and 11.

These pins can be identied as they have the symbol ∼ before the
corresponding pin numbers.

When used, it appears as an eective voltage of


τ0
Veff = Vs
τc

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor Introduction
Time Period of Pendulum Arduino & PWM
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

analogWrite(PWM_pin_no, level)
analogWrite (PWM_pin_no, level) function can be used to PWM
, where the parameter level is an 8 bit integer, which can be set to
obtain the desired duty cycle

We know that since the parameter is a 8 bit integer, it's maximum


value is 255.

We can use the scaling of 5 V −→ 255, hence the desired voltage


could be set as Vo × 255, where Vo is the desired eective analog
5

voltage.
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor Introduction
Time Period of Pendulum Arduino & PWM
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution
1 int led = 9; // t h e PWM p i n t h e LED i s a t t a c h e d t o
2 int brightness = 0; // how b r i g h t t h e LED i s
3 i n t fadeAmount = 5 ; // how many p o i n t s t o f a d e t h e LED by
4
5 // t h e s e t u p r o u t i n e r u n s once when you p r e s s r e s e t :
6 void setup () {
7 // d e c l a r e p i n 9 t o be an o u t p u t :
8 pinMode ( l e d , OUTPUT) ;
9 }
10
11 // t h e l o o p r o u t i n e r u n s o v e r and o v e r a g a i n f o r e v e r :
12 void loop () {
13 // s e t t h e b r i g h t n e s s o f p i n 9 :
14 analogWrite ( led , b r i g h t n e s s ) ;
15 // chang e t h e b r i g h t n e s s f o r n e x t t i m e t h r o u g h t h e l o o p :
16 b r i g h t n e s s = b r i g h t n e s s + fadeAmount ;
17
18 // r e v e r s e t h e d i r e c t i o n o f t h e f a d i n g a t t h e e n d s o f t h e f a d e :
19 i f ( b r i g h t n e s s <= 0 | | b r i g h t n e s s >= 2 5 5 ) {
20 fadeAmount = −fadeAmount ;
21 }
22 // w a i t f o r 30 m i l l i s e c o n d s t o s e e t h e dimming e f f e c t
23 delay (30) ;
24 }

Sandeep S Ghugre Innovative Experiments


Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Precautions
Before commencing any experiment, run the Blink code to ensure
the board and the communications with the host computer are well
established.

The connectors are a major source of faults.

Before commencing any experiment please ensure the continuity of


the wires.

An improper connector would give us wrong voltages (or open con-


nections).
Sandeep S Ghugre Innovative Experiments
Outline
Introduction
ARDUINO Microcontroller
ARDUINO Uno
Charging of a Capacitor
Time Period of Pendulum
Arduino & LDR
Transistor as a Switch
Astable Multivibrator using 555 Timer
Pulse Width Modulation
Precaution

Thanks

Sandeep S Ghugre Innovative Experiments

You might also like