The human and physical interfaces
Download
1 / 56

- PowerPoint PPT Presentation


  • 89 Views
  • Updated On :

The human and physical interfaces. Chapter Eight 8.1 – 8.9. Outline. Introduction Keypads Seven-segment displays LCDs Sensors Actuators Summary. Introduction. A human interface is an important part of most embedded systems.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '' - minty


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
The human and physical interfaces l.jpg

The human and physical interfaces

Chapter Eight

8.1 – 8.9

Dr. Gheith Abandah


Outline l.jpg
Outline

  • Introduction

  • Keypads

  • Seven-segment displays

  • LCDs

  • Sensors

  • Actuators

  • Summary

Dr. Gheith Abandah


Introduction l.jpg
Introduction

  • A human interface is an important part of most embedded systems.

  • Users need to conveniently get information from the embedded system.

  • They also need to conveniently control the operation of this system.

  • Examples:

    • Domestic fridge

    • Photocopier

    • Car dashboard

Dr. Gheith Abandah


Human interface examples l.jpg
Human Interface - Examples

Dr. Gheith Abandah


Human interface examples5 l.jpg
Human Interface - Examples

Dr. Gheith Abandah


Human interface types l.jpg
Human interface types

  • Input:

    • Switch

    • Push button

    • Keypad

  • Output:

    • light-emitting diode (LED)

    • Seven-segment LED

    • Liquid crystal display (LCD)

Dr. Gheith Abandah




The keypad l.jpg
The Keypad

Dr. Gheith Abandah


Flow diagram l.jpg
Flow diagram

Reading a keypad with a microcontroller port

Dr. Gheith Abandah


Outputs for the keypad l.jpg
Outputs for the keypad

Dr. Gheith Abandah



Keypad example initialization l.jpg
Keypad Example – Initialization

;Initialize

bsf status,rp0 ;select memory bank 1

movlw B'11110000' ;Port B initially Row bits

;are input, column output

movwf trisb

bcf status,rp0 ;select bank 0

...

clrf portb ;initialize keypad value

bcf intcon,rbif ;enable interrupt

bsf intcon,rbie

bsf intcon,gie

loop

goto loop ;await keypad entries

Dr. Gheith Abandah


Keypad example isr l.jpg
Keypad Example – ISR

kpad_to_lcd

call kpad_rd

call kp_code_conv

bsf portc,lcd_RS ;set for character op

movwf lcd_op

call lcd_write

rel_test ;test now for keypad release

call kpad_rd

movf kpad_pat,0

andlw 0fe ;suppress lsb, not used

sublw 0fe ;test if inactive

btfss status,z

goto rel_test

bcf intcon,rbif ;clear interrupt flag

retfie

Dr. Gheith Abandah


Keypad example read keypad l.jpg
Keypad Example – Read keypad

kpad_rd

movf portb,w ;read portb value, row pattern

andlw B'11110000' ;suppress unwanted bits

movwf kpad_pat

bsf status,rp0 ;set row to op, column to ip

movlw B'00001110'

movwf trisb

bcf status,rp0

movlw 00

movwf portb ;ensure output values still 0

movf portb,w ;read portb value, col. pattern

andlw B'00001110' ;suppress unwanted bits

iorwf kpad_pat,1 ;OR results into the pattern

Dr. Gheith Abandah


Keypad example read keypad 2 l.jpg
Keypad Example – Read keypad 2

;reset keypad interface

bsf status,rp0 ;set row to ip, column to op

movlw B'11110000'

movwf trisb

bcf status,rp0

clrf portb ;ensure output values still 0

return

Dr. Gheith Abandah


Seven segment displays l.jpg
Seven-segment displays

Common Anode

Common Cathode

Dr. Gheith Abandah


Connecting multiple digits l.jpg
Connecting multiple digits

Need 1.2 kΩ line resistors

Dr. Gheith Abandah


Timing diagram l.jpg
Timing diagram

Dr. Gheith Abandah



7 seg display example page 2 l.jpg
7-seg. display example – page 2

;Initialise

bcf status,rp1

bsf status,rp0;bank 1

movlw B’00000000’ ;out

movwf trisa

movwf trisb

movwf trisc

bcf status,rp0;bank 0

;

loop

;set digit 1

movlw B'00011101' ;H

movwf porta

bcf portc,6 ;seg a

bsf portc,7 ;seg b

bsf portc,1 ;dig 1

call delay5

bcf portc,1

;set digit 2

goto loop

Dr. Gheith Abandah


Liquid crystal displays lcds l.jpg
Liquid crystal displays (LCDs)

  • Liquid crystal responds to an applied electric field by changing the alignment of its molecules, and in so doing changing the direction of the light polarization that it introduces.

  • Liquid crystal can be trapped between two parallel sheets of glass, with a matching pattern of transparent electrode on each sheet.

  • When a voltage is applied to the electrodes, the optical character of the crystal changes and the electrode pattern appears in the crystal.

Dr. Gheith Abandah


Interfacing with lcds l.jpg
Interfacing with LCDs

  • Hitachi developed a special microcontroller (HD44780) for interfacing LCDs.

  • This microcontroller is usually integrated with LCDs.

  • Features:

    • 8- or 4-bit data transfer

    • Simple instruction set to initialize, clear, display, and position cursor

    • Has instruction register and data register

Dr. Gheith Abandah


Hd44780 timing diagram l.jpg
HD44780 timing diagram

Dr. Gheith Abandah


Derbot s lcd l.jpg
Derbot’s LCD

Each digit is a liquid crystal dot matrix

Dr. Gheith Abandah


Lcd drive example page 1 l.jpg
LCD Drive Example – Page 1

lcd_write

call busy_check

bcf portc,lcd_rw

bcf status,c

rrf lcd_op,1

bcf portc,6

btfsc status,c

bsf portc,6

bcf status,c

rrf lcd_op,1

bcf portc,7

btfsc status,c

bsf portc,7

movf lcd_op,0

movwf porta

bsf portc,lcd_E

bcf portc,lcd_E

return

Dr. Gheith Abandah


Lcd drive example page 2 l.jpg
LCD Drive Example – Page 2

busy_check

bsf status,rp0 ;bank 1

movlw B'00111111' ;set port A all ip

movwf trisa

bcf status,rp0

bcf flags,0

btfsc portc,lcd_RS ;save RS in flags, 0

bsf flags,0

bcf portc,lcd_RS ;access instr register

bsf portc,lcd_RW ;set to read

Dr. Gheith Abandah


Lcd drive example page 3 l.jpg
LCD Drive Example – Page 3

busy_loop

bcf portc,lcd_E

bsf portc,lcd_E

btfsc porta,lcd_busy ;test the busy flag

goto busy_loop

bcf portc,lcd_E

bsf status,rp0 ;select memory bank 1

movlw B'00000000‘ ;set port A all op

movwf trisa

bcf status,rp0

bcf portc,lcd_RS

btfsc flags,0 ;reinstate RS bit

bsf portc,lcd_RS

return

Dr. Gheith Abandah


Sensors l.jpg
Sensors

  • Convert physical variables to electrical.

  • Examples:

    • The microswitch

    • Light-dependent resistor

    • Ultrasonic object sensor

Dr. Gheith Abandah


The microswitch l.jpg
The Microswitch

Dr. Gheith Abandah


Light dependent resistors l.jpg
Light-dependent resistors

  • A light-dependent resistor (LDR) is made from a piece of exposed semiconductor material. When light falls on it, it creates hole–electron pairs in the material, which improve the conductivity.

  • 20M Ω to a few hundred ohms

Dr. Gheith Abandah


Optical object sensing infrared led and phototransistor l.jpg
Optical object sensingInfrared LED and phototransistor

Dr. Gheith Abandah



Ultrasonic object sensor l.jpg
Ultrasonic object sensor

Dr. Gheith Abandah


Digital input l.jpg
Digital input

If a microcontroller is to receive logic signals, then it is essential that those signals are at voltage levels which are recognized by it as being either Logic 0 or Logic 1.

Dr. Gheith Abandah


Forms of signal corruption l.jpg
Forms of signal corruption

(a) Spikes in signal, potentially harmful to device input. (b) Spikes in signal.

(c) Excessively slow edges. (d) DC offset in signal.

Dr. Gheith Abandah


Input protection l.jpg
Input protection

  • For Rprot = 1KΩ and max. diode current =20 mA

  • What is the maximum voltage spike?

    Vmax =

    [(20mA × 1 k Ω) + 5.3]

    = 25V

Dr. Gheith Abandah


Ensuring legal logic levels l.jpg
Ensuring legal logic levels

  • Can use Schmitt trigger for speeding up slow logic edges.

  • Schmitt trigger with RC filter can be used to filter voltage spikes.

  • Digital filtering: sample the input three times and use a majority vote.

Dr. Gheith Abandah



Switch bouncing l.jpg
Switch bouncing

Dr. Gheith Abandah


Hardware switch debouncing l.jpg
Hardware switch debouncing

Dr. Gheith Abandah


Software switch debouncing l.jpg
Software switch debouncing

Typically 10 ms

Dr. Gheith Abandah


Actuators motors and servos l.jpg
Actuators: motors and servos

  • Often need to cause physical movement

  • For linear movement use solenoids

  • For angular movement, use ‘servos’

  • For angular or rotary, use DC or stepper motors

Dr. Gheith Abandah


Comparison l.jpg
Comparison

DC Motors

Stepper Motors

Simple interface with digital systems

Can control speed and position

Awkward start-up characteristics

Lose torque at high speed

Limited top speed

Less efficient

More complex to drive

  • Range from the extremely powerful to the very small

  • Wide speed range

  • Controllable speed

  • Good efficiency

  • Can provide accurate angular positioning with angular shafts

  • Only the armature winding needs to be driven

Dr. Gheith Abandah


Derbot dc motor l.jpg
Derbot DC Motor

Dr. Gheith Abandah



Interfacing to actuators l.jpg
Interfacing to actuators

  • Simple DC switching

    • Bipolar transistors

    • MOSFET transistors

  • Reversible switching

    • The H-bridge

Dr. Gheith Abandah






Driving piezo sounder and opto sensors l.jpg
Driving piezo sounder and opto-sensors

I = (5 − 3.4)/91

I = 17.6 mA

Dr. Gheith Abandah



The l293d dual h bridge l.jpg
The L293D dual H-bridge

Dr. Gheith Abandah



Summary l.jpg
Summary

  • An embedded microcontroller must be able to interface with the physical world and possibly the human world as well.

  • Much human interfacing can be done with switches, keypads and displays.

  • To interface with the physical world, the microcontroller must be able to interface with a range of transducers. The designer needs an understanding of the main sensors and actuators available.

  • Interfacing with sensors requires a reasonable knowledge of signal conditioning techniques.

  • Interfacing with actuators requires a reasonable knowledge of power switching techniques.

Dr. Gheith Abandah


ad