Software Design Considerations. Abstract  Design and build a compact robot to traverse a maze  Use the robot to generate an ASCII representation of.

Slides:



Advertisements
Similar presentations
EMS1EP Lecture 9 Analog to Digital Conversion (ADC) Dr. Robert Ross.
Advertisements

Liter Liquid Tending Robot Julie Lam Kevin Chang Jason Smith Andrew Jenkins.
Programmable Interval Timer
I/O Unit.
Robotics Club, Snt Council2 The 3 Schools of Robotics: Mechanical Design – Types of motors – Material selection –
MICRO-CONTROLLER: A microcontroller is the brain of the robot: These are: 1. Integrated Circuits (ICs) 2. Programmable.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
Senior Computer Engineering Project
Index  INTRODUCTION  HARDWARE DESCRIPTION  BLOCK DIAGRAM  COMPONENT LIST  ADVANTAGES AND APPLICATIONS  CONCLUSION.
Schematic Overview. Abstract  Design and build a compact robot to traverse a maze  Use the robot to generate an ASCII representation of the entire maze.
Cartographic Order Specified Task Robot. Overview  Design and build a compact robot to traverse a maze.  Perform tasks located throughout the maze in.
Design Constraints. Abstract  Design and build a compact robot to traverse a maze.  Use the robot to generate an ASCII representation of the entire.
GPSBot08 System Overview.
Technion-Israel Institute of Technology Electrical Engineering Department High Speed Digital Systems Laboratory Project subject: wireless biofeedback system.
Fall Senior Project Presentation Rev :22.00 By: Salem, Ray M. Date: December Title: Micro Mouse Control Systems Topics: Robotics, System.
LED Light Show Critical Design Review Team Lit Michael Hatt Scott Butler Kristin Haeusler Brock Smith.
Sensors And Micro-Controllers
X96 Autonomous Robot Design Review Thursday, May 6, 2004 By John Budinger Francisco Otibar.
Patent Liability Analysis Andrew Loveless. Potential Patent Infringement Autonomous obstacle avoidance 7,587,260 – Autonomous navigation system and method.
Introduction.
Twitch Plays ECE477 ECE 477 Design Review Team 1 − Spring 2015 Hannan Harlan Root Tornquist.
 Main Components:  Sensors  Micro controller  Motor drivers  Chasis.
Microcontroller based system design
Microprocessors Tutorial 2: Arduino Robotics
Microcontroller Architecture PIC18F Family
BLDC MOTOR SPEED CONTROL USING EMBEDDED PROCESSOR
ECE 477 DESIGN REVIEW TEAM 7  SPRING 2013 COST ROBOT CAROLINE TRIPPEL, ANDREW LOVELESS, ERIC OSBORNE, BRYAN DALLAS.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
ARDUINO PROGRAMMING Working with the Arduino microcontroller.
ECE 477 FINAL PRESENTATION TEAM 7  SPRING 2013 COST ROBOT ERIC OSBORNE, BRYAN DALLAS, ANDREW LOVELESS, CAROLINE TRIPPEL.
Administrative Introduction Our goals for this project is for the two robots to work together intelligently using wireless communication Not only did.
Parallel Ports, Power Supply and the Clock Oscillator Material to be covered  Parallel I/O ports  Interfacing external switches and LEDs  Clock Oscillator.
Weston Schreiber & Joshua Gabrielse Robotics Summer Training Programming #1: EasyC Basics.
MICROPROCESSOR INPUT/OUTPUT
(More) Interfacing concepts. Introduction Overview of I/O operations Programmed I/O – Standard I/O – Memory Mapped I/O Device synchronization Readings:
© 2008 RoboRubik1 11 Technical Communication Skills Practicum Theory of Operation and Hardware Design Narrative.
Input-Output Organization
AVR Programming: Digital I/O September 10, What is Digital I/O? Digital – A 1 or 0 Input – Data (a voltage) that the microcontroller is reading.
CIS Humanoid Hand Team Members: Tom Billings, Mike Stock, Scott Shugh, Ananya Majumder, Kit Buckley.
Microprocessors Tutorial 2: Arduino Robotics. Agenda 1. Robot Anatomy 2. Sensor Review 3. PWM 4. MAKE: Fade 5. Motors 6. H Bridge 7. Robot Control library.
Team 6 DOODLE DRIVE Presenter: Jun Pan. PROJECT OVERVIEW  Android application as controller  Robot vehicle with microcontroller  Path will be drawn.
Grant Thomas Anthony Fennell Justin Pancake Chris McCord TABLEGAMES UNLIMITED.
ARDUINO 1. Basics  Comments  /* * Blink * * The basic Arduino example. Turns on an LED on for one second, * then off for one second, and so on... We.
Microcontroller Applications ELEC 421 Dr. Ron Hayne Images Courtesy of Ramesh Gaonkar and Delmar Learning.
Our Project Next generation communication system for vehicles ▫Simple, real-time visual communication Multi-touch input ▫Driver’s gestures produce an.
The “Drink Mixer” Design Constraints. Project Success Criteria An ability to digitally mix audio and adjust individual levels An ability to digitally.
Timer 1 and 2 operation, PWM Principles. Timer 1 Operation.
Software Narrative Autonomous Targeting Vehicle (ATV) Daniel Barrett Sebastian Hening Sandunmalee Abeyratne Anthony Myers.
Team01: Zelun Tie The design project Wall-E Prototype I is an intelligent automated trash collecting robot with obstacle detection capability. The robot.
Steve Andre Eric Glover Shaun Greene Russell Willmot.
Embedded Systems Lecture 4 January 20, 2016.
Solar Powered LED Blinds Group 28: Austin Estes and Kerr Oliva TA: Katherine O’Kane.
TV Remote As A Wireless Mouse For PC.
Module 8 Tutorial  An 8086 system is used for controlling the speed of a motor. The motor can operate at 5 different speeds (1- 5).  The speed.
Chapter 8 Sensors and Camera. Figure 08.01: The Accelerometer can gauge the orientation of a stationary device.
1. PIC ADC  PIC18F877 has 8 analog input channels i.e. port A pins(RA0 to RA5) and port E pins(RE1 and RE2). These pins are used as Analog input pins.
1 Microcontrollers. 2 Programmers work in the virtual world Machinery works in the physical world Microcontrollers connect the virtual and physical world.
CEng3361 CENG 336 INT. TO EMBEDDED SYSTEMS DEVELOPMENT Spring 2011 Recitation 06.
 Mini-Computer ◦ Microprocessor  The Brains  Arithmetic Logic Unit (ALU)  Control Unit  Program/ Data Storage  Peripherals (Input/Output)  Low-Cost.
For further information
Marble Maze Jordan Wagner
Introduction to Microprocessors and Microcontrollers
Interfacing Memory Interfacing.
ECE 354 Computer Systems Lab II
ECE 477 Team 18 - Timothy Brown
ECE 477 Digital Systems Senior Design Project  Spring 2013
PIC18F458 Analog-to-Digital
Introduction to Software Planning and Design
Basys 2 Wiring Diagram.
PIC Microcontroller ADC interfacing Prof. Ashvini Kulkarni
Presentation transcript:

Software Design Considerations

Abstract  Design and build a compact robot to traverse a maze  Use the robot to generate an ASCII representation of the entire maze  Mark light locations on map as they are discovered  Revisit lights intelligently throughout the maze in a user-defined order

Software Design Considerations  PIC18F4550 Microcontroller Interfaces General Purpose I/O A/D sensors PWM motor control Communication with compass via I2C Data transfer via USB  “Flag”-driven Design  Embedded C

General Purpose I/O  5 registers for general purpose I/O  PORTx registers refer to pin  TRISx registers: 0 – output 1 – input  3X Single-colored LEDs  1X RGB LED (3 pins)  2X Pushbuttons  4X Motor direction control

A/D Sensors  13 A/D Channels  Conversion process Set channel to corresponding ANx pin Set GO_DONE bit to 1 Conversion complete when GO_DONE bit = 0  1X RGB Color Sensor (3 pins)  3X Short-range sensor  1X Long-range sensor

PWM  PWM enable by setting bits 2 and 3 of the CCPxCON register CCP1 CCP2  Motor speed control  Alter duty cycle to change speed

I2C / USB  Communication between compass and microcontroller via I2C  Data transfer to computer with USB Byte-by-byte transfer of data Data structure decoded by PC

Flowchart for Main Loop

Power On / User Input

Maze Mapping

typedef struct _mazeNode { /* bits 7-5: 000 = normal node 001 = red 010 = green 011 = blue bits 4-0: location from -10 to 10 */ char locX; // holds X location char locY; // holds Y location // holds the path description /* bits 7 & 6: 00 = nothing 01 = entrance 10 = return 11 = unused bits 5-0: index of the next node in mazeNode array */ char Npath; char Spath; char Epath; char Wpath; } mazeNode;

Tremaux’s Algorithm

[1] Tremaux’s Algorithm

Revisit Lights / USB Transfer

Hierarchical Block Diagram of Code Organization

References  [1] David B Suits, “Playing With Mazes,” Rochester, NY, 1994