acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout...

49
acSequencer Audio Sequencer unit partially controlled via a mobile application. Group 10: Brandon Marcoux (CpE) Giani Francis (Cpe) Miguel Chavez (Cpe) Alexis San Javier (Cpe)

Transcript of acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout...

Page 1: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

acSequencerAudio Sequencer unit partially controlled via a mobile application.

Group 10: Brandon Marcoux (CpE) Giani Francis (Cpe)

Miguel Chavez (Cpe) Alexis San Javier (Cpe)

Page 2: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

What is an Audio Sequencer?Project Description

Page 3: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Audio Sequencers

● Programmed music, sounds over time.● Implemented in many different ways for

many different platforms.● Sounds assigned to channels, dynamically or

statically.● Output can be a trigger signal or audio.● Basic components: Start/Stop button,

sequencing button array, Tempo and Volume controls.

Page 4: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

What do we aim to change?● Update the sequencing workflow for the modern day.

○ Phones in place of computers.○ Bluetooth sound transfer in place of wired connection or transferable storage medium.

● Improve portability while maintaining appeal of physical unit.● Share your sounds with your friends.● Add new sounds easily.● Low price point

Page 5: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Goals and Objectives● Main Goal: Create a professional grade product that musicians will prefer to use over other

commercially available options.● Maintain well formatted documentation in order to ensure the project is scaleable and

maintainable.● Design a product that will durable and easily replicated and built.

Page 6: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

System Design

Page 7: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Requirements● MCU -> Smartphone wirelessly for sound transfer● 8 channels x 16 steps.● MCU can store at least 8 10-second sound files.● Physical unit with at least two output options.● Mobile application allows user to select sets of sound samples from an existing library as

well as access their own for uploading to the MCU.● Unit weight of less than 5 pounds.● Unit can run on battery power or from a power supply (provided with the unit).● Users can alter tempo and volume from the unit.

Page 8: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

System component Diagram

Page 9: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Hardware Design andImplementation

Page 10: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Multiplexing overview● Necessary due to limited number of pins on MCU.● Handle outputting signal for LEDs, input signal for buttons.● Utilizing bicolor LEDs, 8x16 array, makes for 256 effective LEDs.

○ Secondary color will be lit per row (16 rows) to show tempo cycle, so we don’t need control of individual LEDs.

○ Reduces effective LED number to 144.

● 8x16 buttons = 128 buttons.● The MCU does not have 272 GPIO pins.

Page 11: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Button Multiplexing● The best way we could find to multiplex the buttons was to connect them in rows and

columns. That way, when we read which button is pressed, we can detect the row and column and figure out which button has been pressed. All buttons are momentary push buttons.

● With the SN74LS148 one can utilize multiple units and cascade them with a multi NAND gate in order to implement a 16:4 encoder.

● Utilizing one SN74LS148 (8:3 encoding) for the columns and two in a 16:4 configuration will accommodate reading all buttons using only 7 GPIO pins.

Page 12: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

LED Multiplexing● Shift Register implementation (74HC595) vs Decade counter implementation (CD4017B)

vs LED Display Driver (MAX7219).● Based on the number needed and efficiency the MAX7219 was the obvious option.

Page 13: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

MCUThe microcontroller selection was the most important decision to make in the design of our project. We chose the ATmega328 for the following reasons -

● high performance

● low power

● large online community for support during development

● 5V operating voltage

● 32KB flash memory

● processing speeds of 16MHz.

● cost effective

Page 14: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Bluetooth Module● The SH-HC-08 is a Bluetooth 4.0 BLE module is required for our wireless design. ● The Bluetooth module will allow us to send instructions, sound files, and sound set

outputs wirelessly. ● Permits the transfer of serial data from our mobile application to hardware

Bluetooth Unit Operating Voltage (V)

Pins Required Version Price ($)

Bluefruit LE 3.3-5 6 4.0 BLE 17

HC-06 RS232 TTL 3.3 2 2.0 7

SH-HC-08 3.3-5 2 4.0 BLE 8

Page 15: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Bluetooth Data Transfer Data transfer for our project will be done using serial communication. Below is a prototype of the steps taken to control the sequencer from the mobile application.

● Mobile Application will send sounds associated with each row in the LED matrix to the bluetooth peripheral.

● Bluetooth module will read in serial data● Microcontroller will store value of that data in some

variable● The values stored on the MCU will correspond with a

sound and row

Page 16: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

SD Card Module● We will be using the Adafruit SD Card Breakout Board● Playing audio files from the SD card is a key function of this project. ● If the SD Card breakout board is configured correctly on the board, the hardware has the

capability to read and write files to the MicroSD card using simple code.● If we are able to read wav files to the SD card, this can lead to several potential features.

Page 17: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Playing Multiple SoundsRequirements needed to test and play multiple sounds are:

● ATmega328 microcontroller● Adafruit SD Card Breakout Board● MicroSD card● Speaker (at least 8 ohm)● TMRcpm WAV library for arduino. ● Summing Solutions

Page 18: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Enclosure● Material Property Considerations:

○ Weight○ Durability○ Ease of construction

● Materials considered:○ Wood○ Plastic (3d printed)

Page 19: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Power Constraints● All chosen components run on 9, 5, or 3.3 volts.● A system requirement specifies that we must be able to supply the system from a battery or

a wall outlet.

Page 20: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Voltage Regulator Selection● Decided on L78xx series based on:

○ Price point○ Consistency○ We will be able to source all regulators we require from this one series.

Page 21: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

SchematicAdd alexis full schematic

Page 22: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

SchematicAdd alexis full schematic Main LED Array

Page 23: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

SchematicAdd alexis full schematic Secondary LED Array

Page 24: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

SchematicAdd alexis full schematic MCU

Page 25: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

SchematicAdd alexis full schematicButton Array

Page 26: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

PCBMaterials

- Single Layer Copper Clad Board- Muriatic Acid and Hydrogen Peroxide- Drill- Soldering Gun

Process

- Print PCB design on paper and Iron onto Copper Board- Melt Copper using acid mixture - Clean board and drill holes- Solder Components

Page 27: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Software Design andImplementation

Page 28: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

System Software Architecture 4 Main Software Components

- Website- Database- Mobile Application- MCU

Page 29: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

DatabaseGoogle Firebase

Page 30: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

SQL vs Firebase

Page 31: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Firebase

●●●

■■■■

Page 32: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Firebase layout

● ●

Page 33: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Firebase layout cont.

● Sounds ● Users

Page 34: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Mobile Application

Page 35: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Class Diagram

●○○○

●○○

Page 36: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

UML Diagram

●○

●●●●

Page 37: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Native vs Hybrid vs Xamarin

Page 38: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

iOS Application Design

●○

●○

●○

●○

■■

○■

○■■■

Page 39: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

iOS Application UI● Menu

○ 4 Sections■ Sound Sets■ Upload■ Settings■ Log Off

● Sound Sets○ Search through Sound Sets

■ UISearchController○ Add new Sound Sets○ Select a Sound Set to Edit

■ UICollectionView

Page 40: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

iOS Application UI● Edit Sound Set

○ Delete Sound set○ Add /Delete Channels○ Play sound on Channel ○ Edit Title○ Select a Sound to Edit

■ UICollectionView

● Select Sound for Channel○ Search through sounds

■ UISearchController○ Add new Sound Sets

Page 41: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Website

Page 42: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Website Functionality

- Create Account- Edit Profile Information

- Username - Password- etc..

- Upload Sounds- Edit Sound Sets

- Create- Delete- Rename

Page 43: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Website UI

Page 44: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Administrative

Page 45: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

MilestonesFall 2017

Description Duration Dates

Purchase Remaining Parts and Test Components

1 week August 28th -September 4th

Build Prototype 8 weeks September 4th -October 9th

Test sound files pushing to database using Bluetooth Communication from device to app

1 week September 4th-September 11th

Test LED responsive using Bluetooth Communication from mobile app to device

1 week September 11th-September 18th

Test Playing audio files using Bluetooth Communication from mobile app to device

1 week September 18th-September 25th

Test Playing multiple sounds on the device from the software

1 week September 25th-October 2nd

Test playing files on website once sound set is pushed to database

1 week October 2nd -October 9th

Integrate Software 2 weeks October 9th-October 23rd

Build the housing for the sequencer

1 week October 16th -October 23rd

Debug and Optimize Software 1 week October 16th -October 23rd

Test Prototype 2 weeks October 23rd-November 6th

Finalize Project 2 weeks November 6th-November 20th

Practice Presentation 1 week November 20th-November 27th

Page 46: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Progress

Page 47: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

BudgetItem Cost

5Pcs MAX7219 DIP-24 8-Bit LED Drivers Chips for LED display/ Instrument $10.90

20PCS SN74HC00N SN74HC00 74HC00N 74HC00 DIP14 IC#20236 $6.99

2 of Chanzon 100 pcs 5mm Red & Yellow-Green LED Diode Lights $6.47

Adafruit MicroSD card breakout board+ [ADA254] $8.38

DSD TECH SH-HC-08 Bluetooth 4.0 BLE Transceiver for Arduino Compatible with iO $7.99

Major Brands 74LS148 ICs and Semiconductors, 8 to 3 Line Priority Encoder (Pack of 4) $11.11

2 of 100 Pcs GZFY 6x6x4.5mm Panel PCB Momentary Tactile Tact Push Button Switch 4 Pin DIP $5.99

3M 9000NA-20-CC Sandpaper Aluminum Obyide, 9-Inch by 11-Inch, Very Fine $5.07

Hydrogen Peroxide Antiseptic Solution 16 Oz $5.88

Super Nail Pure Acetone Polish Remover, 8 oz $6.42

Single Sided Copper Clad Laminate PCB Circuit Board 4X3 (10pcs) $10.99

Green Envy Muriatic Acid $10.99

Total $91.18

Page 48: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Work Distribution

Mobile App Web Application Bluetooth Communication/Data Transfer

System Design/Hardware

Miguel Chavez Primary Secondary

Giani Francis Secondary Primary Secondary

Brandon Marcoux Primary

Alexis San Javier Primary Secondary

Page 49: acSequencer - UCF Department of EECS...Google Firebase. SQL vs Firebase. Firebase Firebase layout Firebase layout cont. Sounds Users. Mobile Application. Class Diagram UML Diagram

Questions?