SlideShare a Scribd company logo
02   General Purpose Input -  Output on the Arduino
Signals
0 Information is transferred in the digital/analogue world by
 signals.

0 Electrical Signals are given a logic equivalency to enable
 control and sensing from the physical universe.

0 1 == High == True == 3-5V

0 0 == Low == False == 0-2V

0 And thus the binary number system was born.
Digital and Analogue
            information
0 Signals can be defined as any time varying quantity
 that can be said to represent information.

0 Digital signals, at any given point of time take up only
 one of a few discrete predefined states.

0 Analogue signals are not restricted to any particular
 state but continuously changes itself w.r.t. time.
Hardware communication
0 Every electronic system will have two logic levels called
 VCC and GND.

0 Analogue signals in this can take any value between VCC
 and GND.

0 Digital Signals can only take the states of VCC and GND
 states.

0 Digital devices either control or respond to either VCC or
 GND.
Ports
0 A microcontroller can digitally communicate with the
 outside world through Ports.

0 Every microcontroller has its own PORTs controlled
 by specific port registers.

0 Ports are a collection of PINS on the microcontroller.

0 Each pin can be controlled digitally by the
 microcontroller.
PORTS on the arduino
0 The atmega328 has three ports
   0 B (digital pin 8 to 13)
   0 C (analog input pins)
   0 D (digital pins 0 to 7)


0 Each Port has a
   0 PORTx register that controls the value of the port.
   0 DDRx register that controls the port from output/input
     mode.
Digital Pins
0 Numbered 1 – 13 on the ardiono.


0 Can be set to Input/Output by pinMode(pin) function.


0 Can be set to output by digitalwrite(pin, state)
 function.

0 digitalread(pin) returns the state of the pin.
Digital PIN as output
0 The pin is in a state of low impedance.

0 This means the pin can supply current to other
 circuits. (40mA)

0 Shorts or attempting to draw more current can
 damage the transistors on that pin (or fry the board).

0 Use resistors to limit current from the pins. (1-
 10kohms)
LEDs
0 Light Emitting diode.

0 Use R = (VS - VL) / I to calculate the
  resistor value to put in series.
  0 Vs = 5V; VL = 2V (depends on color)
  0 I = 40mA (max current required)

0 Do not connect LEDs in parallel!!

0 The longer end is VCC and the shorter end
  is GND.
PIN13 on the Arduino
0 The arduino has an LED + resistor mounted on the
 board.

0 Open the program in folder 1. Blink in the arduino IDE.
0 Upload that program onto the board.
0 Watch blinky!


0 Can you make it blink faster?
0 Then slower?
Connecting External LED
0 Open folder 2.LED Breadboard


0 Connect LEDs as shown in the circuit diagram.


0 Avoid connecting multiple LEDs to a single PIN.


0 If the PIN is HIGH the LED will light up.
02   General Purpose Input -  Output on the Arduino
Digital Input
0 Digital Input can be sensed by all digital pins of the
  arduino.

0 Pins when set up as inputs are said to be in a High
  impedance state.
0 Which means they tend to draw very little current from the
  circuit they are sensing and that means that small changes
  in current are enough to change the state of the PIN.

0 If an input pin is left unconnected:
   0 State may change randomly
   0 Pin may capacitively couple & report the state of a nearby pin.
Switches
0 Switches are mechanical devices that “switch”
 between VCC and GND states.
Switching states
0 We need to switch between VCC and GND to use with
  digitalread().

0 But, tactile switches can only open and close circuits.

0 In each of the cases, if switch is pressed, the PIN goes into a
  state, when released the PIN is disconnected or in a random
  state.
Enter Pull-down resistors
0 Using these resistors (10kohms) provide both
 states with a single push button switch.

0 When unpressed, the PIN state will read the GND
 state through the pull-down resistor. (the
 Resistor pulls the pin to GND when no i/p is
 present)

0 When pressed, the switch will read the VCC
 because it is the path of least resistance.

0 If VCC and GND are swapped in the diagram, the
 resistor is called a Pull-up resistor with reversal
 in logic levels.
Reading a switch
0 Open 3. LED_Switch folder.


0 Connect switch + resistor and LED + resistor circuits
 from the breadboard as shown.

0 Run Switch 1.pde on the arduino IDE and upload it
 onto the arduino.
02   General Purpose Input -  Output on the Arduino
Code
0 Switch is read using digital read. This will return either 1
  or 0. (HIGH / LOW).

0 This is stored in a variable.

0 LED is set to that variable.

0 So if switch is pressed, 1 is sensed and LED is set to 1.
0 When switch is released, 0 is sensed and LED turns off.

0 Voila!! LED is controlled by a switch.
Interrupts
0 Interrupts are signals that indicate to the
 microcontroller that a particular event has occurred.

0 Internal
   0 Divide by 0 interrupts
   0 Timer interrupts
   0 ADC interrupts

0 External
   0 Pin 2 & 3
External Interrupt
0 Pin 2 and 3 are set up for external interrupts.


0 Allow the arduino to continue doing tasks intstead of
 continuosly checking for external signal changes.

0 INT0 is on pin2 and INT1 is on pin3


0 Use attachinterrupt() to associate interrupts to a
 function.
attachInterrupt(interrupt, function, mode)

0 Interrupt: can be either 0 or 1 signifing which interrupt is
 being set up.

0 Function : is the name of the function to be called when
 the interrupt fires.

0 Mode:
  0 LOW to trigger the interrupt whenever the pin is low,
  0 CHANGE to trigger the interrupt whenever the pin changes
    value
  0 RISING to trigger when the pin goes from low to high,
  0 FALLING for when the pin goes from high to low.
The ISR
0 The interrupt service routine is the function that is
 called every time the interrupt fires.

0 Delay() and millis() are not supported inside an ISR.

0 Serial data received might be lost when the ISR
 returns.

0 All variables that get modified within the ISR must be
 volatile.
#include <avr/interrupt.h>

int ledPin = 12;
volatile int state = LOW;
void setup() {
  Serial.begin(9600);
  pinMode(12, OUTPUT);
  attachInterrupt(0, blink, FALLING);
}

void loop() {
  digitalWrite(ledPin,state);
}

void blink(){
  state = !state;
}
Remember
0 Make sure there are no loose connections on the
 breadboard.

0 Make sure you’ve gotten the upload successful
 message on the IDE.

0 Make sure switch GND, LED’s GND and arduino’s GND
 are one.

0 Don’t dismantle your circuits after completion.
Communication
0 Information is also transferred from arduino to
 computer by setting a pin HIGH or LOW in sucession
 to create a data waveform.

0 Each of this ‘1’s and ‘0’s are called as “bits”.


0 Because the data is transferred one after another on
 the same line, it is called serial transfer of data.

0 Kinda simillarish to morse code.
TX and RX pins
0 These pins light up when serial
  data is transmitted or received.

0 In the Arduino, the serial port
  goes through the FTDI chip and is
  converted to USB.

0 Pins 0 & 1 are the serial pins and
  serial data can be tapped from
  these pins.

0 Don’t use these pins for GPIO
  during serial transfers.
Baud rate
0 Baud rate is the unit of symbol rate.

0 A baud rate of 1 kBd = 1,000 Bd is synonymous to a
  symbol rate of 1,000 symbols per second.

0 In binary, a symbol is either a ‘1’ or ‘0’.

0 In serial communication systems, both the receiving
  machine and the transmitting system should be set to
  the same baud rate. (9600/11500 usually)
usage

0 In setup(){ } put serial.begin(9600);


0 In loop, use serial.println(data)


0 Open serial monitor to see data.
Serial Program
0 Open the folder 4. Serial and upload the arduino with
 the code.

0 The program prints numbers from 1-100 sequentially.

0 Use the serial monitor on the Arduino to see the
 stream.

0 Any program can open the COMx port associated with
 your arduino and read data transmitted by the
 arduino.
Question Time
Ad

More Related Content

What's hot (20)

RTL-Design for beginners
RTL-Design  for beginnersRTL-Design  for beginners
RTL-Design for beginners
Dr.YNM
 
Serial Peripheral Interface(SPI)
Serial Peripheral Interface(SPI)Serial Peripheral Interface(SPI)
Serial Peripheral Interface(SPI)
Dhaval Kaneria
 
Communication Interface of The Embedded Systems
Communication Interface of The Embedded Systems Communication Interface of The Embedded Systems
Communication Interface of The Embedded Systems
VijayKumar5738
 
Rs 232 interface
Rs 232 interfaceRs 232 interface
Rs 232 interface
PREMAL GAJJAR
 
Lesson sample introduction to arduino
Lesson sample   introduction to arduinoLesson sample   introduction to arduino
Lesson sample introduction to arduino
Betsy Eng
 
Arduino course
Arduino courseArduino course
Arduino course
Ahmed Shelbaya
 
Flag register 8086 assignment
Flag register 8086 assignmentFlag register 8086 assignment
Flag register 8086 assignment
Zia3130
 
Pull up & pull down resistors
Pull up & pull down resistorsPull up & pull down resistors
Pull up & pull down resistors
Ashutosh Sam
 
Slow peripheral interfaces (i2 c spi uart)
Slow peripheral interfaces (i2 c  spi uart)Slow peripheral interfaces (i2 c  spi uart)
Slow peripheral interfaces (i2 c spi uart)
PREMAL GAJJAR
 
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I Core of Embedded Systems
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I   Core of Embedded SystemsSYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I   Core of Embedded Systems
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I Core of Embedded Systems
Arti Parab Academics
 
Unit 3 mpmc
Unit 3 mpmcUnit 3 mpmc
Unit 3 mpmc
tamilnesaner
 
Basic of MODBUS Communication/Protocol
Basic of MODBUS Communication/ProtocolBasic of MODBUS Communication/Protocol
Basic of MODBUS Communication/Protocol
Shivam Singh
 
Introduction to Embedded Systems a Practical Approach
Introduction to Embedded Systems a Practical ApproachIntroduction to Embedded Systems a Practical Approach
Introduction to Embedded Systems a Practical Approach
Amr Ali (ISTQB CTAL Full, CSM, ITIL Foundation)
 
Analog to Digital converter in ARM
Analog to Digital converter in ARMAnalog to Digital converter in ARM
Analog to Digital converter in ARM
Aarav Soni
 
Interfacing rs232
Interfacing rs232Interfacing rs232
Interfacing rs232
PRADEEP
 
Introduction to Embedded System I: Chapter 2 (5th portion)
Introduction to Embedded System I: Chapter 2 (5th portion)Introduction to Embedded System I: Chapter 2 (5th portion)
Introduction to Embedded System I: Chapter 2 (5th portion)
Moe Moe Myint
 
ARDUINO AND ITS PIN CONFIGURATION
 ARDUINO AND ITS PIN  CONFIGURATION ARDUINO AND ITS PIN  CONFIGURATION
ARDUINO AND ITS PIN CONFIGURATION
soma saikiran
 
8237 / 8257 DMA
8237 / 8257 DMA8237 / 8257 DMA
8237 / 8257 DMA
AJAL A J
 
Modbus introduction
Modbus introductionModbus introduction
Modbus introduction
Prem Sanil
 
ARM architcture
ARM architcture ARM architcture
ARM architcture
Hossam Adel
 
RTL-Design for beginners
RTL-Design  for beginnersRTL-Design  for beginners
RTL-Design for beginners
Dr.YNM
 
Serial Peripheral Interface(SPI)
Serial Peripheral Interface(SPI)Serial Peripheral Interface(SPI)
Serial Peripheral Interface(SPI)
Dhaval Kaneria
 
Communication Interface of The Embedded Systems
Communication Interface of The Embedded Systems Communication Interface of The Embedded Systems
Communication Interface of The Embedded Systems
VijayKumar5738
 
Lesson sample introduction to arduino
Lesson sample   introduction to arduinoLesson sample   introduction to arduino
Lesson sample introduction to arduino
Betsy Eng
 
Flag register 8086 assignment
Flag register 8086 assignmentFlag register 8086 assignment
Flag register 8086 assignment
Zia3130
 
Pull up & pull down resistors
Pull up & pull down resistorsPull up & pull down resistors
Pull up & pull down resistors
Ashutosh Sam
 
Slow peripheral interfaces (i2 c spi uart)
Slow peripheral interfaces (i2 c  spi uart)Slow peripheral interfaces (i2 c  spi uart)
Slow peripheral interfaces (i2 c spi uart)
PREMAL GAJJAR
 
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I Core of Embedded Systems
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I   Core of Embedded SystemsSYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I   Core of Embedded Systems
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I Core of Embedded Systems
Arti Parab Academics
 
Basic of MODBUS Communication/Protocol
Basic of MODBUS Communication/ProtocolBasic of MODBUS Communication/Protocol
Basic of MODBUS Communication/Protocol
Shivam Singh
 
Analog to Digital converter in ARM
Analog to Digital converter in ARMAnalog to Digital converter in ARM
Analog to Digital converter in ARM
Aarav Soni
 
Interfacing rs232
Interfacing rs232Interfacing rs232
Interfacing rs232
PRADEEP
 
Introduction to Embedded System I: Chapter 2 (5th portion)
Introduction to Embedded System I: Chapter 2 (5th portion)Introduction to Embedded System I: Chapter 2 (5th portion)
Introduction to Embedded System I: Chapter 2 (5th portion)
Moe Moe Myint
 
ARDUINO AND ITS PIN CONFIGURATION
 ARDUINO AND ITS PIN  CONFIGURATION ARDUINO AND ITS PIN  CONFIGURATION
ARDUINO AND ITS PIN CONFIGURATION
soma saikiran
 
8237 / 8257 DMA
8237 / 8257 DMA8237 / 8257 DMA
8237 / 8257 DMA
AJAL A J
 
Modbus introduction
Modbus introductionModbus introduction
Modbus introduction
Prem Sanil
 
ARM architcture
ARM architcture ARM architcture
ARM architcture
Hossam Adel
 

Similar to 02 General Purpose Input - Output on the Arduino (20)

04 Arduino Peripheral Interfacing
04   Arduino Peripheral Interfacing04   Arduino Peripheral Interfacing
04 Arduino Peripheral Interfacing
Wingston
 
Howtowinnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn).pptx
Howtowinnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn).pptxHowtowinnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn).pptx
Howtowinnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn).pptx
22026159HongAnhQuc
 
Arduino Workshop (3).pptx
Arduino Workshop (3).pptxArduino Workshop (3).pptx
Arduino Workshop (3).pptx
HebaEng
 
Robotics Session day 1
Robotics Session day 1Robotics Session day 1
Robotics Session day 1
Afzal Ahmad
 
03 analogue anrduino fundamentals
03   analogue anrduino fundamentals03   analogue anrduino fundamentals
03 analogue anrduino fundamentals
Wingston
 
ARDUINO (1).pdf
ARDUINO (1).pdfARDUINO (1).pdf
ARDUINO (1).pdf
SoumikBanerjee43
 
Voltage Detection Sensor Module - Arduino, ARM and other MCU – TOMSON ELECTRO...
Voltage Detection Sensor Module - Arduino, ARM and other MCU – TOMSON ELECTRO...Voltage Detection Sensor Module - Arduino, ARM and other MCU – TOMSON ELECTRO...
Voltage Detection Sensor Module - Arduino, ARM and other MCU – TOMSON ELECTRO...
Tomsonelectronics
 
Arduino Hackday: Rebooting Computing
Arduino Hackday: Rebooting ComputingArduino Hackday: Rebooting Computing
Arduino Hackday: Rebooting Computing
rebooting_computing
 
Lecture Notes 2.2.3 (Debouncing-Led-sevengement display) (1).pptx
Lecture Notes 2.2.3 (Debouncing-Led-sevengement display) (1).pptxLecture Notes 2.2.3 (Debouncing-Led-sevengement display) (1).pptx
Lecture Notes 2.2.3 (Debouncing-Led-sevengement display) (1).pptx
itsmepulkitsharma
 
Rebooting Computing chalkwell
Rebooting Computing chalkwellRebooting Computing chalkwell
Rebooting Computing chalkwell
rebooting_computing
 
Bidirectional Visitor Counter with Automatic ON-OFF Switch2
Bidirectional Visitor Counter with Automatic ON-OFF Switch2Bidirectional Visitor Counter with Automatic ON-OFF Switch2
Bidirectional Visitor Counter with Automatic ON-OFF Switch2
DIPAN GHOSH
 
Arduino comic v0004
Arduino comic v0004Arduino comic v0004
Arduino comic v0004
DO!MAKERS
 
Arduino Comic-Jody Culkin-2011
Arduino Comic-Jody Culkin-2011Arduino Comic-Jody Culkin-2011
Arduino Comic-Jody Culkin-2011
ΚΔΑΠ Δήμου Θέρμης
 
Wireless humidity and temperature monitoring system
Wireless humidity and temperature monitoring systemWireless humidity and temperature monitoring system
Wireless humidity and temperature monitoring system
Sagar Srivastav
 
INTODUCTION OF IOT AND INTERFACING WITH ARDUINO UNO
INTODUCTION OF IOT AND INTERFACING WITH ARDUINO UNOINTODUCTION OF IOT AND INTERFACING WITH ARDUINO UNO
INTODUCTION OF IOT AND INTERFACING WITH ARDUINO UNO
vasankarponnapalli2
 
Arduino workshop
Arduino workshopArduino workshop
Arduino workshop
Jonah Marrs
 
Arduino workshop sensors
Arduino workshop sensorsArduino workshop sensors
Arduino workshop sensors
Jhonny Wladimir Peñaloza Cabello
 
Automation and Robotics 20ME51I_Week_2_Practicals.pdf
Automation and Robotics 20ME51I_Week_2_Practicals.pdfAutomation and Robotics 20ME51I_Week_2_Practicals.pdf
Automation and Robotics 20ME51I_Week_2_Practicals.pdf
Gandhibabu8
 
Physical prototyping lab2-analog_digital
Physical prototyping lab2-analog_digitalPhysical prototyping lab2-analog_digital
Physical prototyping lab2-analog_digital
Tony Olsson.
 
Physical prototyping lab2-analog_digital
Physical prototyping lab2-analog_digitalPhysical prototyping lab2-analog_digital
Physical prototyping lab2-analog_digital
Tony Olsson.
 
04 Arduino Peripheral Interfacing
04   Arduino Peripheral Interfacing04   Arduino Peripheral Interfacing
04 Arduino Peripheral Interfacing
Wingston
 
Howtowinnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn).pptx
Howtowinnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn).pptxHowtowinnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn).pptx
Howtowinnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn).pptx
22026159HongAnhQuc
 
Arduino Workshop (3).pptx
Arduino Workshop (3).pptxArduino Workshop (3).pptx
Arduino Workshop (3).pptx
HebaEng
 
Robotics Session day 1
Robotics Session day 1Robotics Session day 1
Robotics Session day 1
Afzal Ahmad
 
03 analogue anrduino fundamentals
03   analogue anrduino fundamentals03   analogue anrduino fundamentals
03 analogue anrduino fundamentals
Wingston
 
Voltage Detection Sensor Module - Arduino, ARM and other MCU – TOMSON ELECTRO...
Voltage Detection Sensor Module - Arduino, ARM and other MCU – TOMSON ELECTRO...Voltage Detection Sensor Module - Arduino, ARM and other MCU – TOMSON ELECTRO...
Voltage Detection Sensor Module - Arduino, ARM and other MCU – TOMSON ELECTRO...
Tomsonelectronics
 
Arduino Hackday: Rebooting Computing
Arduino Hackday: Rebooting ComputingArduino Hackday: Rebooting Computing
Arduino Hackday: Rebooting Computing
rebooting_computing
 
Lecture Notes 2.2.3 (Debouncing-Led-sevengement display) (1).pptx
Lecture Notes 2.2.3 (Debouncing-Led-sevengement display) (1).pptxLecture Notes 2.2.3 (Debouncing-Led-sevengement display) (1).pptx
Lecture Notes 2.2.3 (Debouncing-Led-sevengement display) (1).pptx
itsmepulkitsharma
 
Bidirectional Visitor Counter with Automatic ON-OFF Switch2
Bidirectional Visitor Counter with Automatic ON-OFF Switch2Bidirectional Visitor Counter with Automatic ON-OFF Switch2
Bidirectional Visitor Counter with Automatic ON-OFF Switch2
DIPAN GHOSH
 
Arduino comic v0004
Arduino comic v0004Arduino comic v0004
Arduino comic v0004
DO!MAKERS
 
Wireless humidity and temperature monitoring system
Wireless humidity and temperature monitoring systemWireless humidity and temperature monitoring system
Wireless humidity and temperature monitoring system
Sagar Srivastav
 
INTODUCTION OF IOT AND INTERFACING WITH ARDUINO UNO
INTODUCTION OF IOT AND INTERFACING WITH ARDUINO UNOINTODUCTION OF IOT AND INTERFACING WITH ARDUINO UNO
INTODUCTION OF IOT AND INTERFACING WITH ARDUINO UNO
vasankarponnapalli2
 
Arduino workshop
Arduino workshopArduino workshop
Arduino workshop
Jonah Marrs
 
Automation and Robotics 20ME51I_Week_2_Practicals.pdf
Automation and Robotics 20ME51I_Week_2_Practicals.pdfAutomation and Robotics 20ME51I_Week_2_Practicals.pdf
Automation and Robotics 20ME51I_Week_2_Practicals.pdf
Gandhibabu8
 
Physical prototyping lab2-analog_digital
Physical prototyping lab2-analog_digitalPhysical prototyping lab2-analog_digital
Physical prototyping lab2-analog_digital
Tony Olsson.
 
Physical prototyping lab2-analog_digital
Physical prototyping lab2-analog_digitalPhysical prototyping lab2-analog_digital
Physical prototyping lab2-analog_digital
Tony Olsson.
 
Ad

More from Wingston (20)

OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012
Wingston
 
05 content providers - Android
05   content providers - Android05   content providers - Android
05 content providers - Android
Wingston
 
04 activities - Android
04   activities - Android04   activities - Android
04 activities - Android
Wingston
 
03 layouts & ui design - Android
03   layouts & ui design - Android03   layouts & ui design - Android
03 layouts & ui design - Android
Wingston
 
02 hello world - Android
02   hello world - Android02   hello world - Android
02 hello world - Android
Wingston
 
01 introduction & setup - Android
01   introduction & setup - Android01   introduction & setup - Android
01 introduction & setup - Android
Wingston
 
OpenCV with android
OpenCV with androidOpenCV with android
OpenCV with android
Wingston
 
C game programming - SDL
C game programming - SDLC game programming - SDL
C game programming - SDL
Wingston
 
C programming - Pointers
C programming - PointersC programming - Pointers
C programming - Pointers
Wingston
 
Introduction to Basic C programming 02
Introduction to Basic C programming 02Introduction to Basic C programming 02
Introduction to Basic C programming 02
Wingston
 
Introduction to Basic C programming 01
Introduction to Basic C programming 01Introduction to Basic C programming 01
Introduction to Basic C programming 01
Wingston
 
Linux – an introduction
Linux – an introductionLinux – an introduction
Linux – an introduction
Wingston
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linux
Wingston
 
Introduction to the Arduino
Introduction to the ArduinoIntroduction to the Arduino
Introduction to the Arduino
Wingston
 
4.content mgmt
4.content mgmt4.content mgmt
4.content mgmt
Wingston
 
8 Web Practices for Drupal
8  Web Practices for Drupal8  Web Practices for Drupal
8 Web Practices for Drupal
Wingston
 
7 Theming in Drupal
7 Theming in Drupal7 Theming in Drupal
7 Theming in Drupal
Wingston
 
6 Special Howtos for Drupal
6 Special Howtos for Drupal6 Special Howtos for Drupal
6 Special Howtos for Drupal
Wingston
 
5 User Mgmt in Drupal
5 User Mgmt in Drupal5 User Mgmt in Drupal
5 User Mgmt in Drupal
Wingston
 
3 Configuring Drupal
3 Configuring Drupal3 Configuring Drupal
3 Configuring Drupal
Wingston
 
OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012OpenCV @ Droidcon 2012
OpenCV @ Droidcon 2012
Wingston
 
05 content providers - Android
05   content providers - Android05   content providers - Android
05 content providers - Android
Wingston
 
04 activities - Android
04   activities - Android04   activities - Android
04 activities - Android
Wingston
 
03 layouts & ui design - Android
03   layouts & ui design - Android03   layouts & ui design - Android
03 layouts & ui design - Android
Wingston
 
02 hello world - Android
02   hello world - Android02   hello world - Android
02 hello world - Android
Wingston
 
01 introduction & setup - Android
01   introduction & setup - Android01   introduction & setup - Android
01 introduction & setup - Android
Wingston
 
OpenCV with android
OpenCV with androidOpenCV with android
OpenCV with android
Wingston
 
C game programming - SDL
C game programming - SDLC game programming - SDL
C game programming - SDL
Wingston
 
C programming - Pointers
C programming - PointersC programming - Pointers
C programming - Pointers
Wingston
 
Introduction to Basic C programming 02
Introduction to Basic C programming 02Introduction to Basic C programming 02
Introduction to Basic C programming 02
Wingston
 
Introduction to Basic C programming 01
Introduction to Basic C programming 01Introduction to Basic C programming 01
Introduction to Basic C programming 01
Wingston
 
Linux – an introduction
Linux – an introductionLinux – an introduction
Linux – an introduction
Wingston
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linux
Wingston
 
Introduction to the Arduino
Introduction to the ArduinoIntroduction to the Arduino
Introduction to the Arduino
Wingston
 
4.content mgmt
4.content mgmt4.content mgmt
4.content mgmt
Wingston
 
8 Web Practices for Drupal
8  Web Practices for Drupal8  Web Practices for Drupal
8 Web Practices for Drupal
Wingston
 
7 Theming in Drupal
7 Theming in Drupal7 Theming in Drupal
7 Theming in Drupal
Wingston
 
6 Special Howtos for Drupal
6 Special Howtos for Drupal6 Special Howtos for Drupal
6 Special Howtos for Drupal
Wingston
 
5 User Mgmt in Drupal
5 User Mgmt in Drupal5 User Mgmt in Drupal
5 User Mgmt in Drupal
Wingston
 
3 Configuring Drupal
3 Configuring Drupal3 Configuring Drupal
3 Configuring Drupal
Wingston
 
Ad

Recently uploaded (20)

Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
One Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learningOne Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learning
momer9505
 
Metamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative JourneyMetamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative Journey
Arshad Shaikh
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-3-2025.pptx
YSPH VMOC Special Report - Measles Outbreak  Southwest US 5-3-2025.pptxYSPH VMOC Special Report - Measles Outbreak  Southwest US 5-3-2025.pptx
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-3-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
03#UNTAGGED. Generosity in architecture.
03#UNTAGGED. Generosity in architecture.03#UNTAGGED. Generosity in architecture.
03#UNTAGGED. Generosity in architecture.
MCH
 
To study Digestive system of insect.pptx
To study Digestive system of insect.pptxTo study Digestive system of insect.pptx
To study Digestive system of insect.pptx
Arshad Shaikh
 
Kasdorf "Accessibility Essentials: A 2025 NISO Training Series, Session 5, Ac...
Kasdorf "Accessibility Essentials: A 2025 NISO Training Series, Session 5, Ac...Kasdorf "Accessibility Essentials: A 2025 NISO Training Series, Session 5, Ac...
Kasdorf "Accessibility Essentials: A 2025 NISO Training Series, Session 5, Ac...
National Information Standards Organization (NISO)
 
Engage Donors Through Powerful Storytelling.pdf
Engage Donors Through Powerful Storytelling.pdfEngage Donors Through Powerful Storytelling.pdf
Engage Donors Through Powerful Storytelling.pdf
TechSoup
 
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 AccountingHow to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
Celine George
 
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public SchoolsK12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
dogden2
 
How to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POSHow to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POS
Celine George
 
2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx
contactwilliamm2546
 
THE STG QUIZ GROUP D.pptx quiz by Ridip Hazarika
THE STG QUIZ GROUP D.pptx   quiz by Ridip HazarikaTHE STG QUIZ GROUP D.pptx   quiz by Ridip Hazarika
THE STG QUIZ GROUP D.pptx quiz by Ridip Hazarika
Ridip Hazarika
 
SPRING FESTIVITIES - UK AND USA -
SPRING FESTIVITIES - UK AND USA            -SPRING FESTIVITIES - UK AND USA            -
SPRING FESTIVITIES - UK AND USA -
Colégio Santa Teresinha
 
Operations Management (Dr. Abdulfatah Salem).pdf
Operations Management (Dr. Abdulfatah Salem).pdfOperations Management (Dr. Abdulfatah Salem).pdf
Operations Management (Dr. Abdulfatah Salem).pdf
Arab Academy for Science, Technology and Maritime Transport
 
Herbs Used in Cosmetic Formulations .pptx
Herbs Used in Cosmetic Formulations .pptxHerbs Used in Cosmetic Formulations .pptx
Herbs Used in Cosmetic Formulations .pptx
RAJU THENGE
 
"Basics of Heterocyclic Compounds and Their Naming Rules"
"Basics of Heterocyclic Compounds and Their Naming Rules""Basics of Heterocyclic Compounds and Their Naming Rules"
"Basics of Heterocyclic Compounds and Their Naming Rules"
rupalinirmalbpharm
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
How to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odooHow to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odoo
Celine George
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
One Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learningOne Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learning
momer9505
 
Metamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative JourneyMetamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative Journey
Arshad Shaikh
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
03#UNTAGGED. Generosity in architecture.
03#UNTAGGED. Generosity in architecture.03#UNTAGGED. Generosity in architecture.
03#UNTAGGED. Generosity in architecture.
MCH
 
To study Digestive system of insect.pptx
To study Digestive system of insect.pptxTo study Digestive system of insect.pptx
To study Digestive system of insect.pptx
Arshad Shaikh
 
Engage Donors Through Powerful Storytelling.pdf
Engage Donors Through Powerful Storytelling.pdfEngage Donors Through Powerful Storytelling.pdf
Engage Donors Through Powerful Storytelling.pdf
TechSoup
 
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 AccountingHow to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
How to Customize Your Financial Reports & Tax Reports With Odoo 17 Accounting
Celine George
 
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public SchoolsK12 Tableau Tuesday  - Algebra Equity and Access in Atlanta Public Schools
K12 Tableau Tuesday - Algebra Equity and Access in Atlanta Public Schools
dogden2
 
How to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POSHow to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POS
Celine George
 
2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx
contactwilliamm2546
 
THE STG QUIZ GROUP D.pptx quiz by Ridip Hazarika
THE STG QUIZ GROUP D.pptx   quiz by Ridip HazarikaTHE STG QUIZ GROUP D.pptx   quiz by Ridip Hazarika
THE STG QUIZ GROUP D.pptx quiz by Ridip Hazarika
Ridip Hazarika
 
Herbs Used in Cosmetic Formulations .pptx
Herbs Used in Cosmetic Formulations .pptxHerbs Used in Cosmetic Formulations .pptx
Herbs Used in Cosmetic Formulations .pptx
RAJU THENGE
 
"Basics of Heterocyclic Compounds and Their Naming Rules"
"Basics of Heterocyclic Compounds and Their Naming Rules""Basics of Heterocyclic Compounds and Their Naming Rules"
"Basics of Heterocyclic Compounds and Their Naming Rules"
rupalinirmalbpharm
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
How to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odooHow to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odoo
Celine George
 

02 General Purpose Input - Output on the Arduino

  • 2. Signals 0 Information is transferred in the digital/analogue world by signals. 0 Electrical Signals are given a logic equivalency to enable control and sensing from the physical universe. 0 1 == High == True == 3-5V 0 0 == Low == False == 0-2V 0 And thus the binary number system was born.
  • 3. Digital and Analogue information 0 Signals can be defined as any time varying quantity that can be said to represent information. 0 Digital signals, at any given point of time take up only one of a few discrete predefined states. 0 Analogue signals are not restricted to any particular state but continuously changes itself w.r.t. time.
  • 4. Hardware communication 0 Every electronic system will have two logic levels called VCC and GND. 0 Analogue signals in this can take any value between VCC and GND. 0 Digital Signals can only take the states of VCC and GND states. 0 Digital devices either control or respond to either VCC or GND.
  • 5. Ports 0 A microcontroller can digitally communicate with the outside world through Ports. 0 Every microcontroller has its own PORTs controlled by specific port registers. 0 Ports are a collection of PINS on the microcontroller. 0 Each pin can be controlled digitally by the microcontroller.
  • 6. PORTS on the arduino 0 The atmega328 has three ports 0 B (digital pin 8 to 13) 0 C (analog input pins) 0 D (digital pins 0 to 7) 0 Each Port has a 0 PORTx register that controls the value of the port. 0 DDRx register that controls the port from output/input mode.
  • 7. Digital Pins 0 Numbered 1 – 13 on the ardiono. 0 Can be set to Input/Output by pinMode(pin) function. 0 Can be set to output by digitalwrite(pin, state) function. 0 digitalread(pin) returns the state of the pin.
  • 8. Digital PIN as output 0 The pin is in a state of low impedance. 0 This means the pin can supply current to other circuits. (40mA) 0 Shorts or attempting to draw more current can damage the transistors on that pin (or fry the board). 0 Use resistors to limit current from the pins. (1- 10kohms)
  • 9. LEDs 0 Light Emitting diode. 0 Use R = (VS - VL) / I to calculate the resistor value to put in series. 0 Vs = 5V; VL = 2V (depends on color) 0 I = 40mA (max current required) 0 Do not connect LEDs in parallel!! 0 The longer end is VCC and the shorter end is GND.
  • 10. PIN13 on the Arduino 0 The arduino has an LED + resistor mounted on the board. 0 Open the program in folder 1. Blink in the arduino IDE. 0 Upload that program onto the board. 0 Watch blinky! 0 Can you make it blink faster? 0 Then slower?
  • 11. Connecting External LED 0 Open folder 2.LED Breadboard 0 Connect LEDs as shown in the circuit diagram. 0 Avoid connecting multiple LEDs to a single PIN. 0 If the PIN is HIGH the LED will light up.
  • 13. Digital Input 0 Digital Input can be sensed by all digital pins of the arduino. 0 Pins when set up as inputs are said to be in a High impedance state. 0 Which means they tend to draw very little current from the circuit they are sensing and that means that small changes in current are enough to change the state of the PIN. 0 If an input pin is left unconnected: 0 State may change randomly 0 Pin may capacitively couple & report the state of a nearby pin.
  • 14. Switches 0 Switches are mechanical devices that “switch” between VCC and GND states.
  • 15. Switching states 0 We need to switch between VCC and GND to use with digitalread(). 0 But, tactile switches can only open and close circuits. 0 In each of the cases, if switch is pressed, the PIN goes into a state, when released the PIN is disconnected or in a random state.
  • 16. Enter Pull-down resistors 0 Using these resistors (10kohms) provide both states with a single push button switch. 0 When unpressed, the PIN state will read the GND state through the pull-down resistor. (the Resistor pulls the pin to GND when no i/p is present) 0 When pressed, the switch will read the VCC because it is the path of least resistance. 0 If VCC and GND are swapped in the diagram, the resistor is called a Pull-up resistor with reversal in logic levels.
  • 17. Reading a switch 0 Open 3. LED_Switch folder. 0 Connect switch + resistor and LED + resistor circuits from the breadboard as shown. 0 Run Switch 1.pde on the arduino IDE and upload it onto the arduino.
  • 19. Code 0 Switch is read using digital read. This will return either 1 or 0. (HIGH / LOW). 0 This is stored in a variable. 0 LED is set to that variable. 0 So if switch is pressed, 1 is sensed and LED is set to 1. 0 When switch is released, 0 is sensed and LED turns off. 0 Voila!! LED is controlled by a switch.
  • 20. Interrupts 0 Interrupts are signals that indicate to the microcontroller that a particular event has occurred. 0 Internal 0 Divide by 0 interrupts 0 Timer interrupts 0 ADC interrupts 0 External 0 Pin 2 & 3
  • 21. External Interrupt 0 Pin 2 and 3 are set up for external interrupts. 0 Allow the arduino to continue doing tasks intstead of continuosly checking for external signal changes. 0 INT0 is on pin2 and INT1 is on pin3 0 Use attachinterrupt() to associate interrupts to a function.
  • 22. attachInterrupt(interrupt, function, mode) 0 Interrupt: can be either 0 or 1 signifing which interrupt is being set up. 0 Function : is the name of the function to be called when the interrupt fires. 0 Mode: 0 LOW to trigger the interrupt whenever the pin is low, 0 CHANGE to trigger the interrupt whenever the pin changes value 0 RISING to trigger when the pin goes from low to high, 0 FALLING for when the pin goes from high to low.
  • 23. The ISR 0 The interrupt service routine is the function that is called every time the interrupt fires. 0 Delay() and millis() are not supported inside an ISR. 0 Serial data received might be lost when the ISR returns. 0 All variables that get modified within the ISR must be volatile.
  • 24. #include <avr/interrupt.h> int ledPin = 12; volatile int state = LOW; void setup() { Serial.begin(9600); pinMode(12, OUTPUT); attachInterrupt(0, blink, FALLING); } void loop() { digitalWrite(ledPin,state); } void blink(){ state = !state; }
  • 25. Remember 0 Make sure there are no loose connections on the breadboard. 0 Make sure you’ve gotten the upload successful message on the IDE. 0 Make sure switch GND, LED’s GND and arduino’s GND are one. 0 Don’t dismantle your circuits after completion.
  • 26. Communication 0 Information is also transferred from arduino to computer by setting a pin HIGH or LOW in sucession to create a data waveform. 0 Each of this ‘1’s and ‘0’s are called as “bits”. 0 Because the data is transferred one after another on the same line, it is called serial transfer of data. 0 Kinda simillarish to morse code.
  • 27. TX and RX pins 0 These pins light up when serial data is transmitted or received. 0 In the Arduino, the serial port goes through the FTDI chip and is converted to USB. 0 Pins 0 & 1 are the serial pins and serial data can be tapped from these pins. 0 Don’t use these pins for GPIO during serial transfers.
  • 28. Baud rate 0 Baud rate is the unit of symbol rate. 0 A baud rate of 1 kBd = 1,000 Bd is synonymous to a symbol rate of 1,000 symbols per second. 0 In binary, a symbol is either a ‘1’ or ‘0’. 0 In serial communication systems, both the receiving machine and the transmitting system should be set to the same baud rate. (9600/11500 usually)
  • 29. usage 0 In setup(){ } put serial.begin(9600); 0 In loop, use serial.println(data) 0 Open serial monitor to see data.
  • 30. Serial Program 0 Open the folder 4. Serial and upload the arduino with the code. 0 The program prints numbers from 1-100 sequentially. 0 Use the serial monitor on the Arduino to see the stream. 0 Any program can open the COMx port associated with your arduino and read data transmitted by the arduino.