Final Project for ECE4180, MIDI Controller

Dependencies:   mbed 4DGL-uLCD-SE

You are viewing an older revision! See the latest version

Homepage

By Emeril Huang, Khayame Maiki, Mark Olorvida, Timothy Li

Overview

This final project is based on a Musical Instrument Digital Interface (MIDI) controller. The base idea of this is a device that allows a wide variety of electronic musical instruments or sounds to be played at the press of some buttons. This project uses a mbed hooked up to a PC with the standard USB, and utilizes a C# application on Windows to receive serial port messages and plays sound files.

/media/uploads/EvolutionOfWar/midicontroller.jpg

Components

Wiring

mbedCableuLCD
P28TXRX
P27RXTX
P30RESRESET
VU+5V+5V
GNDGNDGND

uLCD displays current Layer of sounds, and whether or not loops are on. Each layer allows for 8 different sound clips, with 3 layers total.

Push ButtonsPinsGND
Pushbutton1P8GND
Pushbutton2P9GND
Pushbutton3P10GND
Pushbutton4P11GND
Pushbutton5P12GND
Pushbutton6P13GND
Pushbutton7P14GND
Pushbutton8P15GND
Pushbutton9P16GND
Pushbutton10P17GND
Pushbutton11P18GND

The two rows of four Push buttons trigger sound clips when pressed. The top two buttons activate loops, recording current sounds and then continuously plays them over and over. If pressed again, the loop stops.

RGB LEDsRedGNDGreenBlue
LED1P26GNDP25P24
LED2P23GNDP22P21
LED3P5GNDP6P7

LEDs are used to indicate if something is on or not, or show the layer.

Program

Import programMIDI-Controller-4180FinalProject

Final Project for ECE4180, MIDI Controller

C# Files

C# Program

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Mbed_MIDI_Project
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Form1 form1 = new Form1();
            Application.Run(form1);
        }
    }
}

All wikipages