Difference between revisions of "S14: Anti-Crash Car"
Proj user22 (talk | contribs) (→Hardware Design) |
Proj user22 (talk | contribs) (→Implementation) |
||
Line 173: | Line 173: | ||
=== Implementation === | === Implementation === | ||
This section includes implementation, but again, not the details, just the high level. For example, you can list the steps it takes to communicate over a sensor, or the steps needed to write a page of memory onto SPI Flash. You can include sub-sections for each of your component implementation. | This section includes implementation, but again, not the details, just the high level. For example, you can list the steps it takes to communicate over a sensor, or the steps needed to write a page of memory onto SPI Flash. You can include sub-sections for each of your component implementation. | ||
+ | |||
+ | ====GPS Communication==== | ||
+ | =====UART===== | ||
+ | The GPS Receiver communicates with the SJ One board through UART via NMEA sentences. | ||
+ | |||
+ | Examples: | ||
+ | *The user can configure the update (baud) rate of the GPS module with the following example commands: | ||
+ | **38400bps - <i>$PMTK251,38400*27<CR><LF></i> | ||
+ | **57600bps - <i>$PMTK251,57600*2C<CR><LF></i> | ||
+ | *The user can filter out unwanted NMEA sentences with the following example commands: | ||
+ | **Only RMC at 1Hz - <i>$PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29<CR><LF></i> | ||
+ | **Only GGA at 1Hz - <i>$PMTK314,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29<CR><LF></i> | ||
+ | |||
+ | =====Pin Configuration===== | ||
+ | [[File:Cmpe146_S14_ACCAR_GPS_Pin_assignment.JPG]] | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! scope="col"| Pin | ||
+ | ! scope="col"| Name | ||
+ | ! scope="col"| Description | ||
+ | |- | ||
+ | ! scope="row"| 1 | ||
+ | | VCC | ||
+ | | Power input | ||
+ | |- | ||
+ | ! scope="row"| 2 | ||
+ | | RX | ||
+ | | Power input | ||
+ | |- | ||
+ | ! scope="row"| 3 | ||
+ | | TX | ||
+ | | Power input | ||
+ | |- | ||
+ | ! scope="row"| 4 | ||
+ | | GND | ||
+ | | Power input | ||
+ | |- | ||
+ | ! scope="row"| 5 | ||
+ | | GND | ||
+ | | Power input | ||
+ | |- | ||
== Testing & Technical Challenges == | == Testing & Technical Challenges == |
Revision as of 03:02, 22 May 2014
Contents
Grading Criteria
- How well is Software & Hardware Design described?
- How well can this report be used to reproduce this project?
- Code Quality
- Overall Report Quality:
- Software Block Diagrams
- Hardware Block Diagrams
- Schematic Quality
- Quality of technical challenges and solutions adopted.
Anti-Crash Car
Abstract
The project involves a GPS controlled car that drives to a user determined destination and automatically stops or slows down when an obstacle is in its way in order to prevent itself from crashing. Any command that can potentially damage the car is disabled (e.g. moving forward when the obstacle is in front).
Objectives & Introduction
Show list of your objectives. This section includes the high level details of your project. You can write about the various sensors or peripherals you used to get your project completed.
Team Members & Responsibilities
- Geff Lozano
- Infrared Sensor Module
- GPS Module
- Parser
- Information Processing
- System State Machine
- Koko Maung
- Car Kit Assembly
- Infrared Sensor Module
- Sonar Sensor Module
- Compass Module
- Servo / Wheels Motor
- State Machine
- Matthew Pham
- GPS Module
- UART Interface
- Parser
- Information Processing
- System State Machine
- GPS Module
Schedule
Show a simple table or figures that show your scheduled as planned before you started working on the project. Then in another table column, write down the actual schedule so that readers can see the planned vs. actual goals. The point of the schedule is for readers to assess how to pace themselves if they are doing a similar project.
Week# | Date | Task | Description |
---|---|---|---|
1 | 3/23 | Planning | Top-Level System Drafting |
2 | 3/30 | Top-Level System Design | Went through many drafts |
3 | 4/6 | Order Parts | |
4 | 4/13 | Assign peripheral responsibilities | |
5/6 | 4/20 | Peripheral Interfacing | GPS, Infrared, Sonar; No communication with GPS; Burned GPS; |
7 | 4/27 | System State Machine Implementation | Redrafted Original State Machine |
8 | 5/4 | Testing | |
8 | 5/11 | Testing | |
8 | 5/18 | Testing | |
8 | 5/22 | Testing |
Parts List & Cost
Qty | Part | Price |
---|---|---|
1 | RC Rock Crawler | $200.86 |
1 | SRF08 Ultrasonic Range Finder | $54.30 |
4 | Sensor Housing MPSH-01 | $4.95 |
3 | GP2Y0A21YK0F IR Sensor - 10cm to 80cm | $9.95 |
3 | SIRC-01 Sensor Cable | $1.95 |
1 | |
|
1 | Battery | $25.00 |
2 | Shipping | $10.22 |
1 | GPS Receiver - LS20031 5Hz (66 Channel) | $59.95 |
1 | Compass Module 3-Axis HMC5883L | $15.99 |
Total | $432.04 |
Design & Implementation
The design section can go over your hardware and software design. Organize this section using sub-sections that go over your design and implementation.
Hardware Design
Discuss your hardware design here. Show detailed schematics, and the interface here. File:Anti crash Schematic.png
Hardware Interface
In this section, you can describe how your hardware communicates, such as which BUSes used. You can discuss your driver implementation here, such that the Software Design section is isolated to talk about high level workings rather than inner working of your project.
Software Design
Design Flow
File:Anti crash State diagram.png
Implementation
This section includes implementation, but again, not the details, just the high level. For example, you can list the steps it takes to communicate over a sensor, or the steps needed to write a page of memory onto SPI Flash. You can include sub-sections for each of your component implementation.
GPS Communication
UART
The GPS Receiver communicates with the SJ One board through UART via NMEA sentences.
Examples:
- The user can configure the update (baud) rate of the GPS module with the following example commands:
- 38400bps - $PMTK251,38400*27<CR><LF>
- 57600bps - $PMTK251,57600*2C<CR><LF>
- The user can filter out unwanted NMEA sentences with the following example commands:
- Only RMC at 1Hz - $PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29<CR><LF>
- Only GGA at 1Hz - $PMTK314,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29<CR><LF>
Pin Configuration
Pin | Name | Description |
---|---|---|
1 | VCC | Power input |
2 | RX | Power input |
3 | TX | Power input |
4 | GND | Power input |
5 | GND | Power input |