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