# EMS1EP Lecture 5 Digital Outputs Dr. Robert Ross.

## Presentation on theme: "EMS1EP Lecture 5 Digital Outputs Dr. Robert Ross."— Presentation transcript:

EMS1EP Lecture 5 Digital Outputs Dr. Robert Ross

Overview (what you should learn today) Hardware Connections What the pins on the LArduino board do Setting pin directions digitalWrite()

Hardware Microcontrollers need to interact with the real world (sensing, computing and outputting) Today we look at how the microcontroller can control or output data There are lots of things we might want to control: – LED – Motor – Servo – Linear Actuator – Relay – Speaker

Connecting hardware to the microcontroller The pins on the microcontroller can only supply a small amount of current (<20mA) Indicator LEDs are relatively low current (~5- 15mA) and so they can be driven directly – larger current devices need another way to drive them

Driving LEDs from an Arduino Datasheet gives current and voltage for LED For example: V f = 1.9V I f = 10mA Use KVL and ohms law to find the value of R

Driving LEDs from an Arduino V f = 1.9V I f = 10mA If Vcc = 5V R = 310Ω

Class Quiz As Vcc, V f and I f may change depending on the circuit, what current limiting resistor is needed for the following: Vcc = 3.3V V f = 2.1V I f = 15mA

Driving higher currents Use a transistor as a switch Transistor has small base current but much larger collector current – so it can switch a higher load For even higher loads use FETs as they have a lower on-resistance

Pins on the LArduino Select between USB supplied power and power on V+ pin Reset switch Analog input pins for ADC GND, 5V and V+ Digital I/O Pins Pins with a ‘P’ can be used for pulse width modulation

Driving a LED with the LArduino Use 5V pin as Vcc Use R = 330Ω Resistors Set power to USB

Driving a LED with the LArduino // PIN ASSIGNMENTS int ledPin = 10; // LED connected to digital pin10 // The setup() method runs once on startup void setup() { // initialize pin as output: pinMode(ledPin, OUTPUT); } // Infinite loop void loop() { digitalWrite(ledPin, HIGH);// LED OFF delay(1000); // Wait 1S digitalWrite(ledPin, LOW); // LED ON delay(1000); // Wait 1S }

Digital Inputs and Outputs The next two lectures will focus on the digital pins – the analog pins will come later Before using the digital pins we need to set them up as either inputs or outputs This is called setting the direction of the pins (input direction or output direction) To do this we use the pinMode() function Use pin assignments to refer to pins by name rather than number

pinMode() function Syntax: pinMode(, ) Normally some pins will be assigned at the top of your code e.g. – int LED1Pin = 10; – int switchPin = 11; These assignments are used for the pin number Direction should be OUTPUT or INPUT e.g. – pinMode(LED1Pin, OUTPUT); – pinMode(switchPin, INPUT);

Class Quiz Pins 5 and 9 have LEDs connected to them Pin 7 has a speaker connected to it Pins 6 and 12 have switches connected to them Write code to assign names to these pins and then code to set the direction of these pins inside the setup() function

digitalWrite() After the direction of the pins has been setup the pins can either be set to high (5V) or low (0V) digitalWrite() is used to set the value of each pin Syntax: – digitalWrite(, ); e.g. //Sets pin to 5V – LED off digitalWrite(LED1Pin, HIGH); //Sets pin to 0V – LED on digitalWrite(LED1Pin, LOW); (0 and 1 can also be used to assign low and high respectively)

Class Quiz Use the digitalWrite() function to do the following: – Set the pin LED1Pin to 5V – Set the pin Buzzer1Pin to a logical low – Set the pin LED3Pin to High – Turn on the LED at LED2Pin (the LED is in a sinking arrangement as shown earlier)

Class Challenge Write a full sketch to alternately flash two LEDs (like a railway crossing) LED flash period should be 1.5 seconds LEDs on pins 10 and 12 Write: – Pin assignments – Setup Function – Loop function

Summary (What you learnt in this session) How to interface an LED with an Arduino What the different pins on the LArduino do Setting up pins and inputs and outputs Setting pins high and low

Download ppt "EMS1EP Lecture 5 Digital Outputs Dr. Robert Ross."

Similar presentations