Subject Code : ENG06
Assignment Task :

ENG 06 Spring 2020 Final Project
Up to now in ENG6, we have focused on teaching you the “how” of programming. In the team project you will be taking your own ideas and bringing them to fruition through your knowledge of computer programming. Software development is rarely a one-person effort, so the project will be team-based. You will be randomly placed into a 3-4 person team with members from any section.
Beyond the core part of the final project, we ask you to implement a number of special features, called Reach elements, so as to make your project different from your classmates.
Important: We discourage the use of other Matlab code written by someone else, however, if you use it you must reference the code creator.
 

Project: Sensors
Project Description:

Implement a MATLAB computer program that makes use of sensor data collected by a phone using MATLAB mobile app anywhere in the world. There are two components in this project: core and reach. The core component, which must be completed by all teams, uses at least 2 sensors static data (i.e. data that was recorded and is now stored in a file). The reach component, which is a project of your choosing, must share this sensor data using ThingSpeak and use MATLAB to analyze and process it.

Project Restrictions:
1. MATLAB toolboxes:
Only MATLAB toolboxes included in the student license may be used.
In particular, the MATLAB Mapping Toolbox may not be used.

2. Graphical User Interface programming: All GUI implementations must be programmed using
App Designer. You are not allowed to implement the project using Guide, submissions programmed with Guide will receive zero points without exception.

3. Collaboration Policy: Once teams are formed you are only allowed to talk and collaborate with members within your team. Team members are expected to equally participate, and collaboratively work towards the completion of the project. Other than contacting the teaching assistants for clarification, you may not seek the assistance of other persons to complete your team's project. Of course, general discussions about how to implement GUI, OOP and other programming constructs could be discussed with other students, but your team must be totally responsible for the implementation of code used in your project.

 

Grading Criteria:
The projects are open ended. As long as your program can perform the assigned tasks, there will be no correct or incorrect approaches. Certainly there will be more acceptable and attractive solutions, and that will be judged in comparison with competing solutions submitted by your classmates. The final project will be graded in six parts:
 

1. Project proposal:  
Each team submits a 2-3 page via Canvas a project proposal describing the project, a general description of how you will implement the main components of your and a clear description of the Reach/Special features that your team proposes. Essentially, the scope of the project should be challenging enough to merit full credit and doable within the timeline. An Appendix should contain a breakdown of programming tasks, and who will be responsible for what, along with a timeline that will meet the submission deadline (we suggest you make use of a Gantt chart). The expectation is that each team member must take responsibility for a specific aspect of the project
and grading for each member will be adjusted according to how the project tasks were delegated and who was responsible for what aspects of the project. The more specific you can be in defining the programming tasks, what functions should exist, and what each function should accomplish, the better.

2. Core component: 
The objective is to collect sensor data from a phone and display that information using App Designer. At least two sets of different sensors from a phone should be recorded and displayed.
Data should be recorded in such a way that provides meaningful and dynamic information, e.g. if recording GPS position then different positions should be recorded, if signal strength then make sure that it varies among recordings.

Step 1: Data collection: Acquire data with a phone so as to get at least 10 data samples for each sensor. Remember, this data should provide meaningful and dynamic information, i.e. not the same data for each of the samples.
To use a phone to acquire sensor data locally on the device see Log Sensor Data Locally on Android Phone, or Log Sensor Data Locally on iOS or:

Process the collected data using MATLAB and store the information in a MATLAB table.

  • Then, using MATLAB, create a Comma Separated Value (CSV) file for all the data recorded.
  • The product for this part is the following: raw data files, the MLX file used to process the data, and  the CSV file.

 

Step 2: App Designer: create an app that will take the raw data from at least 2 sensors and display it using tables and a graph. The required functionalities for the app are the following:

  • Button to open a sensor data file anywhere within the computer.
  • Ability to process the data and store the information in a table.
  • Display the processed data using a Table making sure that the format is correct.
  • Display the process data using a graph making sure that the format and graph is readable.
  • Button to create a CSV file for all the data recorded

 

Note that you can reuse the code from step 1 for this part.
The product for this part is the following: MLAPP file containing the designed app. Fig.

App

 

 

3. Reach Component:  
The main Objective of Reach Component is to use ThinkSpeak as a medium of information exchange between the members of the team. The team should create at least 1 public

  • ThingSpeak channel. The core component should perform the following tasks:
  • Upload data to ThingSpeak channel: the data could be the same as Core Component data Reach or more data samples could be used.
  •  Retrieve data from ThingSpeak channel: the data of the other teammates should be used and analysed using ThinkSpeak.
  •  Analyze data in some way. Some options are: correlate data from different sources or combine them, create trend lines or extrapolate data to predict future values, show statistical information such as mean or standard deviation, modify data presented in tables, request new sets of data from different sensors.
  •  Additional functionalities are required. Some examples are: automatic information upload, communication with additional databases, interaction with external sources such as Twitter, etc.

Also you should propose further enhancements, which should have been described in your proposal. Your completion of the Reach Component and the creativity of your proposal will be taken into account during the grading process The product for this part is the following: MLAPP file containing the designed app, information on the public ThingSpeak channel.

4. YouTube Video: 15% of grade.
Youtube has several examples of ENG6 videos (search ENG6). The format of the video is entirely up to your team as long as the following criteria are met:

  • The maximum length of the video is 10 minutes,
  • Each team member must be seen in the video to present their work and contributions.
  • A clear and easy to follow demonstration that shows the correct functionality of your program (show your program actually working in the video – not screen shots of before and after).

Use visual aides to help explain your steps (whiteboard, markers, poster, etc.). The video does not have to be fancy, just effective in relaying the most important information.

5. Team Evaluations:
Each member must provide a brief personal summary of her/his involvement and contributions.
Each team member is required to submit evaluations of her/his teammates’ contribution, one for each of Core and Reach. For example, if your team has members A, B, C, your evaluation can be similar to the following for a single member.
Team Member A: was in charge of writing the code to execute the equalizer filters. For the Reach, A was in charge of adding 2 different analysis plots that could show power spectral density plot and frequency content of audio file. Team Members B, C agree that A performed these tasks for the project.
Project Deadlines

Deadline #1: Sunday, May 24, 5:00 PM: Submit the Project Proposal: A team member must submit your team name to canvas with the project proposal. Only one team member should do this!
The submission should also contain an image of the design view with the main components of your game. The image must show the buttons, axes, images, edit fields, etc.
 

Deadline #2: Sunday, May 31, 5:00 PM: Submit the core. Each team will submit all relevant code files. Each team will submit a zip file of all the code, the zip file will have the mlapp. and all .m files, all .img files and any other files that are needed for the game to run.
The submitted .mlapp GUI must allow the game to be played by one or two players using the same keyboard.

 

 

This Engineering Assignment has been solved by our Engineering Experts at UniLearnO. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK & US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics & referencing style.

Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turnitin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.

 

Eureka! You've stumped our genius minds (for now)! This exciting new question has our experts buzzing with curiosity. We can't wait to craft a fresh solution just for you!

  • Uploaded By : Grace
  • Posted on : June 02nd, 2019

Whatsapp Tap to ChatGet instant assistance