GithubHelp home page GithubHelp logo

cstoquer / midifighter24 Goto Github PK

View Code? Open in Web Editor NEW
21.0 21.0 7.0 73 KB

Firmware and tools for Arduino based 24 buttons MIDI controller

License: MIT License

C++ 45.04% C 26.35% Makefile 16.42% Arduino 7.68% HTML 4.51%
arduino audio midi-controller

midifighter24's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

midifighter24's Issues

schematics

Buttons module

Push buttons are connected to the arduino by using 74HC165 shift registers.

Here the schematic of one module for 8 buttons. I used 2 5x1 headers for the connection to the buttons. In the schematic, this is the labels A, B, C, D and E, F, G, H. The last pin of each headers are connected to VCC. Pull-up resistors are 10KΩ.
button1

A group of 4 buttons are connected to one header like this:
button_connect

This module is duplicated for each group of push 8 buttons.
For 24 buttons, 3 of these modules are connected together like this:
buttons2

And here are some photos of how I implemented this module using perf boards.
button module 1
button module under

Display module

This module is optional, and is for displaying information using 2 seven segments LED.
It is using 74HC595 shift registers to control the 16 LED using 3 pins of the Arduino. 16 LED consume quite a lot of power for the Arduino, so in the code, I take care of turning ED off after a delay.

If I had to put more LED, I would use a MAX7219 LED matrix controller is this chip use way less power.

This is the schematic for one 74HC595. Resistors are 4.7KΩ.
display1
Here is how you connect the seven segments display
7segmets
2 of these modules are daisy chained together like so:
display2

Some photos of how I implemented this module using perf boards:
display module 5
display module 4
display module 2

Connection to the Arduino

Finally, here is how the two modules are connected to the Arduino
arduino

Some more photos:
both modules

inside

inside empty

menu functions

Main functions

  • scale selection
  • mirror modes
  • root pad selection
  • root note selection
  • exit

Additional functions

  • cc mode
  • velocity
  • round robin option
  • switch/controller functions

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.