Welcome to
Two days Online Workshop on Arduino Programming
Workshop Agenda:
Date Session Timing Topics
Session-1
Introduction to Arduino Uno & Tinkercad, Working with LED & Switch
25/07/2022 (10 AM to 12PM)
(Day-1) Session-2
Working with Serial port, PWM and ADC
(2 PM to 4 PM)
Session-1
Working with LCD & keypad
26/07/2022 (10 AM to 12PM)
(Day-2) Session-2
Working with Ultrasonic sensor, Feedback & Assessment
(2 PM to 4 PM)
Eligibility for receiving certificate:
Attendance requirement: 75% (3 out of 4 sessions)
Must complete the Workshop Feedback form & Assessment on Day-2 Session-2
1
2
The open-source Software makes it
easy to write code and upload it to
the any Arduino board.
Drawback: You must always connect
with your Arduino board to Arduino
IDE for verifying your program logic.
But Tinkercad helps to you verify your
Arduino program logic without
physical hardware
Day-1 Session-1 Arduino Programming Workshop 3
Easy-to-use, open source online platform for designing and simulating
electronic circuits
Electronic components includes R, L, C, Digital ICs, Analog ICs, I/O
devices, sensors, actuators, AT Tiny, Arduino Uno board
Virtually create and program any Arduino projects without the need for
physical hardware using either code blocks or C++
In addition to exporting and sharing your work, you can download the
component list for PCB design using Eagle software
Day-1 Session-1 Arduino Programming Workshop 4
Features
An open-source microcontroller board
Microcontroller : ATmega328
Operating Voltage : 5V
Input Voltage (external) : 6-20V (7-12 recommended)
Digital I/O Pins : 14 (6 PWM output)
Analog Input Pins :6
DC Current per I/O Pin : 40 mA
DC Current for 3.3V Pin : 50 mA
Flash Memory : 32 KB (0.5 KB for bootloader)
Clock Frequency : 16 MHz
Programming Interface : USB (ICSP)
Day-1 Session-1 Arduino Programming Workshop 5
Arduino Uno - Board Details
Image credit: Pinrest, Ref. URL : https://in.pinterest.com/pin/817192294868619357/
Day-1 Session-1 Arduino Programming Workshop 6
Arduino Uno - Pin Details
Image credit: Wikimedia, Ref. URL : https://commons.wikimedia.org/wiki/File:Pinout_of_ARDUINO_Board_and_ATMega328PU.svg
Day-1 Session-1 Arduino Programming Workshop 7
Features Architecture
Instruction set Architecture : RISC
Data bus size : 8-bit
Address bus size : 16-bit
Program memory (ROM) : 32 KB
Data memory (RAM) : 2 KB
Data memory (EEPROM) : 1 KB
Input/output ports : 3 (B, C, D)
General purpose registers : 32
Timers : 3 (Timer0, 1 & 2)
Interrupts : 26 (2 Ext. interrupts)
ADC modules (10-bit) : 6 channels
PWM modules :6
Analog comparators :1
Serial communication : SPI, USART, TWI(I2C)
Image credit: Microchip, Ref. URL: http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061A.pdf
Day-1 Session-1 Arduino Programming Workshop 8
ATmega328 - Pin Details
Image credit: Wikimedia, Ref. URL : https://commons.wikimedia.org/wiki/File:Pinout_of_ARDUINO_Board_and_ATMega328PU.svg
Day-1 Session-1 Arduino Programming Workshop 9
Day-1 Session-1 Arduino Programming Workshop 10
• A breadboard is a device for holding the component of a circuit and
connecting them together
• We can build an electronic circuit on a breadboard without doing any
soldering
Day-1 Session-1 Arduino Programming Workshop 11
LED Blinking
Write a program to blink three LEDs (Green, Yellow, Red) interfaced with three
digital pins of Arduino Uno as per following sequence.
First turn ON Green LED for 5 Sec. while other LEDs in OFF state
Then turn ON Yellow LED for 3 Sec. while other LEDs in OFF state
Then turn ON Red LED for 1 Sec. while other LEDs in OFF state
Repeat this sequence continuously
Simulate and verify this logic on Arduino Uno using Tinkercad circuits simulator.
Day-1 Session-1 Arduino Programming Workshop 12
API required:
pinMode(pin, mode) - Configures the specified pin to either input or output.
- pin: the Arduino pin number to set the mode of.
- mode: INPUT, OUTPUT, or INPUT_PULLUP.
digitalWrite(pin, value) - Write a HIGH or a LOW value to a digital pin.
- pin: the Arduino pin number.
- value: HIGH or LOW.
delay(ms) - Pauses the program for the amount of time (in milliseconds)
- ms: the number of milliseconds to pause.
Day-1 Session-1 Arduino Programming Workshop 13
Program: Circuit Design:
Day-1 Session-1 Arduino Programming Workshop 14
Controlling LED blinking using Switch
Write a program to control two LEDs (Green, Red) state using a switch as per
following logic.
When switch is not pressed (LOW) turn ON Red LED continuously and
Green LED in OFF state
Whenever switch is pressed (HIGH) turn OFF Red LED and turn ON
Green LED for 5Sec.
After 5 Sec. delay turn OFF Green LED and proceed to turn ON Red LED
continuously
Simulate and verify this logic on Arduino Uno using Tinkercad circuits simulator.
Day-1 Session-1 Arduino Programming Workshop 15
API required:
pinMode(pin, mode) - Configures the specified pin to either input or output.
- pin: the Arduino pin number to set the mode of.
- mode: INPUT, OUTPUT, or INPUT_PULLUP.
digitalWrite(pin, value) - Write a HIGH or a LOW value to a digital pin.
- pin: the Arduino pin number.
- value: HIGH or LOW.
delay(ms) - Pauses the program for the amount of time (in milliseconds)
- ms: the number of milliseconds to pause.
digitalRead(pin) - Reads the value from a specified digital pin, either HIGH or LOW.
- pin: the Arduino pin number.
Day-1 Session-1 Arduino Programming Workshop 16
Program: Circuit Design:
Day-1 Session-1 Arduino Programming Workshop 17
Controlling LED glowing sequence using Switch
Write a program to blink four LEDs one at a time from left to right with 0.5 sec
delay between each LED. Whenever a switch is pressed, the LED blinking
happens from right to left with delay of 1s between each LED. When the Switch
is released again the sequence change to left to right with 0.5s delay.
Day-1 Session-1 Arduino Programming Workshop 18
Traffic Light Controller System
LED Display Boards (signs, billboards, road signs, etc)
Aviation Lighting System
Tail Light System in Automotive
TV Backlighting
Day-1 Session-1 Arduino Programming Workshop 19