21
The Digital Doorman The Digital Doorman ECE 511, Group 5 Jeremy Trimble Russell Lovell Russell Lovell Douglass Glidden Mahmoud El Ali

The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise

Embed Size (px)

Citation preview

Page 1: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise

The Digital DoormanThe Digital Doorman

ECE 511, Group 5

Jeremy TrimbleRussell LovellRussell Lovell

Douglass GliddenMahmoud El Ali

Page 2: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise

The Digital Doorman

• Allows user to unlock a door with a

Never again be locked out of your home!

• Allows user to unlock a door with a special "knock rhythm."• Keeps door locked otherwise.

• System is invisible from the outside.• Alerts after three failed entry attempts. • User programmable knock pattern

• Echoes knock pattern after programming

• Inside:o Microphone detects knockso Solenoid deadbolt secures door

Page 3: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise

Block Diagram

Wall WartWart

Page 4: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise
Page 5: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise

SchematicPower Regulation

Signal Conditioning

Output

Page 6: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise

Test Platform

Page 7: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise

PCB Layout Fit Check

Page 8: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise

Printed Circuit Board

Page 9: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise

Final Design

Page 10: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise

Final Design

Page 11: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise

Firmware (Timers)

• Written in C• Timer A0• Timer A0

• delay_microseconds(unsigned int duration_usec)– Block code execution for input duration

• delay_milliseconds(unsigned int duration_milliseconds)– Calls above function repeatedly if necessary

• Watchdog timer• Interval mode

– Used for the delayed alarm– Used for the delayed alarm– Used to reset recognition after a period of silence

Page 12: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise

Firmware (Detection)

• Detection algorithmo Receives ADC interrupts with microphone voltage o Receives ADC interrupts with microphone voltage

samples at a constant frequency (based on the ADC clock)

o Determines when an actual knock has occurredo Compares against threshold

o Knock de-bounce is implemented in softwareo Notifies recognition algorithm of each knock and its timingo Notifies recognition algorithm of each knock and its timing

o Between ADC samples the microcontroller goes into low power mode 0o CPU is disabledo Clocks are enabled

Page 13: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise

Firmware (Recognition)

• Recognition algorithmo Determines if each detected knock matches the knock

pattern, within tolerance (Delta)pattern, within tolerance (Delta)o Provides feedback outputs

o Pattern Acceptance: Door unlocks, happy sound playso Pattern Denial: Red LED lights, Alarm sounds after three failures

o Provides lock control outputs

o Tempo independence o Measure the time between the first two knocks and compute a

fixed-point scaling factor which we apply to subsequent knocks

Page 14: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise
Page 15: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise

Firmware (Pattern Learning)

• Learning Mode• External toggle switch places microcontroller in a “learning mode”• External toggle switch places microcontroller in a “learning mode”

– Used edge triggered port interrupts to detect switch – #include “skynet.h”

• Knock pattern can consist of up to 64 knocks– Allows creation of very complex patterns.

• Buzzer plays programmed knock pattern when exiting programming mode.– Allows user to confirm intended pattern

Page 16: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise

Firmware (Diagnostics/Outputs)• Back Channel UART

• Implemented in software• 9600 8-N-1 • Outputs status and debugging information to virtual COM port• Outputs status and debugging information to virtual COM port• bc_printf();

– Prints text and simple integers (decimal or hex)• bc_getchar();

– Allows reception of characters from attached PC (unused, but works)

• Buzzer• Interfaced to GPIO• Implemented in software• Implemented in software

– Run_buzzer()» Specify the half-period in microseconds» Specify the duration in half-periods» Toggles the output once per half-period» Utilizes delay functions

Page 17: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise

Software Development

• Subversion.• Is a revision control system used to maintain current and

historical versions of Digital Doorman source code.historical versions of Digital Doorman source code.• Kept a track record of versions and bugs.• Current revision is #83• 1158 lines

• Google's Repository and file sharing.• http://code.google.com/p/ece511-fall2011-group5/

• Divided project into tasks and assigned them to members.• Determined issues and assigned them to members.

– 14 issues/enhancements defined in the tracker (all resolved)

Page 18: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise

Questions?

Page 19: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise

Demonstration

Page 20: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise
Page 21: The Digital Doorman - Welcome to the GMU ECE Departmentjkaps/courses/ece511-f11/project/Team5-Final.pdf · The Digital Doorman ... special "knock rhythm." • Keeps door locked otherwise