Skip to content

Latest commit

 

History

History
31 lines (20 loc) · 2.3 KB

README.md

File metadata and controls

31 lines (20 loc) · 2.3 KB

Raspberry-Pi-Digital-Piano

raspberry-pi-digital-piano

Description

This project uses the Raspberry Pi with electronic components on a breadboard to create a digital piano. The software receives input from 15 buttons, allowing for full chromatic scale with additional auxiliary functions such as instrument switching (Piano, Guitar, and Trumpet) and octave switching. A LCD display is also used for presenting to the user the currently selected instrument and octave.

Required Hardware & Electronics

  • Raspberry Pi 2 Model B, Micro SD card, power source & cable, and speakers
  • Breadboard(s)
  • Buttons - 15x
  • Female-male jumper wires
  • Male-male jumper wires
  • LCD Display

Hardware & Electronics Building

The schematic below shows one possible wiring configuration for interfacing the Raspberry Pi with the electronic components. The LED’s and Resistors are optional components used for decoration to light up when a button is pressed. The specific GPIO pin mappings can be found in ‘main.h’ and can be changed if needed (e.g. compatibility for Raspberry Pi 1 models).

project schematic_schem

When interfacing the LCD plate with the Raspberry Pi, you cannot use its female header directly on the Pi's GPIO pins. The reason is that only 4 of the 26 pins—5.0V, GND, SDA, and SCL—are required for the LCD plate to operate and the remaining 22 pins, which are needed for the piano note buttons, are unusable. The diagram below shows the specific pins to connect the wires to on the female header (center figure).

raspberry_pi_pilcdplate

Building

This software uses Wiring Pi and SMFL libraries. Follow the installation instructions for Wiring Pi here and SMFL here. After the libraries are installed on the Raspberry Pi, the binary can be built with the make command.

License

Please read the LICENSE file.