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)
What is an Audio Sequencer? Project Description
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.
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
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.
System Design
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.
System component Diagram
Hardware Design and Implementation
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.
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.
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.
MCU The 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
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
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
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.
Playing Multiple Sounds Requirements 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
Enclosure Material Property Considerations: Weight Durability Ease of construction Materials considered: Wood Plastic (3d printed)
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.
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.
Schematic Add alexis full schematic
Schematic Add alexis full schematic Main LED Array
Schematic Add alexis full schematic Secondary LED Array
Schematic Add alexis full schematic MCU
Schematic Buttonfull Array Add alexis schematic
PCB Materials - 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
Software Design and Implementation
System Software Architecture 4 Main Software Components - Website - Database - Mobile Application - MCU
Database Google Firebase
SQL vs Firebase
Firebase
Firebase layout
Firebase layout cont. Sounds Users
Mobile Application
Class Diagram
UML Diagram
Native vs Hybrid vs Xamarin
ios Application Design
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
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
Website
Website Functionality - - Create Account Edit Profile Information - Username Password etc.. - Create Delete Rename Upload Sounds Edit Sound Sets
Website UI
Administrative
Milestones Fall 2017 Test Playing multiple sounds 1 week on the device from the software September 25th-October 2nd 1 week October 2nd -October 9th Description Duration Dates Purchase Remaining Parts and Test Components 1 week August 28th -September 4th Build Prototype 8 weeks September 4th -October 9th Test playing files on website once sound set is pushed to database Test sound files pushing to database using Bluetooth Communication from device to app 1 week September 4th-September 11th Integrate Software 2 weeks October 9th-October 23rd Build the housing for the sequencer 1 week October 16th -October 23rd Test LED responsive using Bluetooth Communication from mobile app to device 1 week 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 Test Playing audio files using Bluetooth Communication from mobile app to device 1 week September 11th-September 18th th th September 18 -September 25
Progress
Budget Item 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
Work Distribution Mobile App Web Application Miguel Chavez Primary Secondary Giani Francis Secondary Brandon Marcoux Alexis San Javier Bluetooth Communication/Data Transfer System Design/Hardware Primary Secondary Primary Primary Secondary
Questions?