Difference between revisions of "F16: Pattern Detector"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Design & Implementation)
Line 132: Line 132:
  
 
== Design & Implementation ==
 
== 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.
+
Within the Design & Implementation section, we have included both the hardware design as well as the software design. We used a Pixy Camera and communicated with through UART protocol. We also show how we assembled and created the mount, so the camera can move. The software section includes the logical flow and a diagram of our algorithm.  
 
 
 
 
  
  
Line 157: Line 155:
 
=== 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.
 
 
 
  
 
== Testing & Technical Challenges ==
 
== Testing & Technical Challenges ==

Revision as of 17:52, 20 December 2016

Abstract

Camera with object identifying abilities, to find a unique object as well as track it. Once the unique object is recognized by the Pixy Camera, the Camera will then lock the object's position. This will be done by the Pixy Camera sending a signal to the servos, to tell them where the object is within its frame. The microcontroller will then call a different function and control the servos to lock onto the object and track it as well. Overall, the main idea of this project is to create the drivers for the Pixy Camera to find the object and to communicate with the SJOne Board.


Objectives & Introduction

The objective of this project was to create a stand and interface for the Pixy Camera along with SJOne Board to lock onto and track a object. We found the Pixy Camera online, which is created by Charmed Labs, which they made to recognize the outlines of colorful object with certain signatures. We went ahead and created a stand, along with servos so the camera can interface with the microcontroller to control the camera to follow the object. This project has many purposes for tracking objects.

1. Gather information about Pixy Camera and its functionality. 2. Created pins diagrams to connect the servos, Pixy Camera and SJOne Board. 3. Create and buy parts for the stand and servos. 4. Assemble the parts and connect all the elements together. 5. Implment the SPI Interface between the Pixy Camera and SJOne Board. 6. Implement the servos with the Pixy Camera. 7. Test for a different types of functionality. 8. Make sure it locks and tracks the object with 180 degrees of range with Pan or Tilt.


Team Members & Responsibilities

  • Mohit Bhasin
    • Make mount and configure Pixy Camera along with the SJOne Board
    • Develop SPI Driver to allow for communication between the micro-controller and Pixy Camera
    • Make communication between Pixy Camera and servos on the mount for movement
  • Nadim Sarras
    • Design and Create Hardware connections between micro-controller and external parts.
    • Develop SPI Driver to allow for communication between the micro-controller and Pixy Camera

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# Start Date End Date Task Completion
1 10/21/2016 10/28/2016 Finish Proposal and confirm idea Completed
2 10/29/2016 11/04/2016 Draw schematics of final product and determine the materials we need Completed
3 11/05/2016 11/11/2016 Write Drivers for Pixy camera to learn and recognize objects Completed
4 11/12/2016 11/18/2016 Make a mount for the camera that is able to move around and follow objects Completed
5 11/19/2016 11/25/2016 Program Microcontroller to interface with the Pixy Camera, using SPI communication. Completed
6 11/26/2016 11/02/2016 Finish Free RTOS tasks for the camera and movable mount Completed
7 12/03/2016 12/09/2016 Test and Configure Project Accordingly Completed
8 12/10/2016 12/16/2016 Final Tests Completed



Parts List & Cost

Qty Description Manufacturer Part Number Cost Links
1 SJ One Board [1] Preet SJ-one $80 http://www.socialledge.com/sjsu/index.php?title=SJ_One_Board
1 Pixy Camera Amazon CMUcam5 $69 https://www.amazon.com/Pixy-CMUcam5-Smart-Vision-Sensor/dp/B00IUYUA80
1 Jumper Wires Amazon Jumper Wires
1 Pan/Tilt Servo Motor Kit Amazon 2 Axis Robotic Camera Mount $39 https://www.amazon.com/gp/product/B00IVOEN1Y/ref=pd_sim_421_1?ie=UTF8&psc=1&refRID=A7PW5YB91E29JTAEV4TP

Design & Implementation

Within the Design & Implementation section, we have included both the hardware design as well as the software design. We used a Pixy Camera and communicated with through UART protocol. We also show how we assembled and created the mount, so the camera can move. The software section includes the logical flow and a diagram of our algorithm.


Hardware Design

Discuss your hardware design here. Show detailed schematics, and the interface here.



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

Show your software design. For example, if you are designing an MP3 Player, show the tasks that you are using, and what they are doing at a high level. Do not show the details of the code. For example, do not show exact code, but you may show psuedocode and fragments of code. Keep in mind that you are showing DESIGN of your software, not the inner workings of it.



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.

Testing & Technical Challenges

Describe the challenges of your project. What advise would you give yourself or someone else if your project can be started from scratch again? Make a smooth transition to testing section and described what it took to test your project.



Include sub-sections that list out a problem and solution, such as:



My Issue #1

Discuss the issue and resolution.



Conclusion

Conclude your project here. You can recap your testing and problems. You should address the "so what" part here to indicate what you ultimately learnt from this project. How has this project increased your knowledge?



Project Video

Upload a video of your project and post the link here.



Project Source Code



References

Acknowledgement

Professors

  • Preet
  • Dr Ozemek

Lab Assistants

  • Praveen Prabhakaran
  • Shilpa Srinivasan



References Used

List any references used in project.