
Projekt to interaktywny system edukacyjny do nauki gry na klawiaturze MIDI. Wykorzystuje Arduino Uno i matrycę LED 16x16 do wizualizacji naciśnięć klawiszy. System wyświetla paski odpowiadające dźwiękom, ułatwiając naukę utworów muzycznych poprzez intuicyjne, wizualne wskazówki. Użytkownik naciska wskazane przyciski i uczy się grać odpowiednie utwory
1. Płytka Arduino UNO
2. Uniwersalna płytka perforowana 5x7cm
3. Dioda
4. Rezystory 2 x 330ohm 1x1k ohm
5. Transoptor 6N138
6. Wtyczka pięcio-pinowa DIN
7. Klawiatura MIDI+x3mini
8. Matryca LED 16x16
9. Przewody połączeniowe
1. Komputer z oprogramowaniem Arduino oraz do obsługi MIDI np. Garageband
Projekt stanowi interaktywny system edukacyjny do nauki gry na klawiaturze MIDI, zbudowany z kilku współpracujących ze sobą komponentów: klawiatury MIDI, komputera z oprogramowaniem, mikrokontrolera Arduino Uno oraz wyświetlacza LED o rozdzielczości 16 na 16 pikseli. Całość została połączona w spójny i w pełni działający system, który umożliwia wizualne przedstawienie naciśnięć klawiszy oraz wspomaga użytkownika w nauce konkretnych utworów muzycznych poprzez dynamiczne wskazówki wyświetlane na matrycy LED. Centralnym elementem logiki systemu jest mikrokontroler Arduino Uno, który pełni rolę łąćznika pomiędzy klawiaturą MIDI a wyświetlaczem LED. Na płytkę Arduino wgrano specjalnie przygotowany program, którego zadaniem jest odczytywanie danych z interfejsu MIDI, rozpoznawanie, który klawisz został wciśnięty. Dodatkowo Arduino kontroluje matrycę LED i wyświetla na niej odpowiednio paski 2x16. Pasek ten symbolizuje konkretne naciśnięcie – jego pozycja na matrycy odpowiada danemu klawiszowi, a jego pojawienie się sygnalizuje użytkownikowi konieczność naciśnięcia danego dźwięku. Wyświetlacz LED 16x16 pełni funkcję wizualnego interfejsu użytkownika. Dzięki niewielkim rozmiarom i kwadratowej rozdzielczości możliwe jest wyświetlanie prostych, ale czytelnych reprezentacji zdarzeń MIDI – w szczególności pionowych pasków symbolizujących klawisze lub dźwięki. Każde kolejne naciśnięcie na klawiaturze MIDI skutkuje pojawieniem się nowego paska na matrycy, co tworzy sekwencję wizualnych wskazówek. Dzięki temu użytkownik widzi, jakie dźwięki są grane i w jakiej kolejności, co ułatwia zrozumienie struktury utworu oraz ćwiczenie jego wykonania. Całość projektu została zaprojektowana w sposób umożliwiający intuicyjną obsługę, nawet dla osób początkujących. Użytkownik może rozpocząć naukę gry na klawiaturze, śledząc pojawiające się na matrycy LED paski, które pełnią rolę wizualnych nut. Program może także zawierać proste mechanizmy oceny poprawności – na przykład poprzez zmianę koloru paska po poprawnym naciśnięciu odpowiedniego klawisza()jest to natomiast kolejny krok w rozwoju naszego projektu, który planujemy zrealizować w przyszłości). Projekt ten stanowi prosty, ale skuteczny sposób nauki gry na instrumentach muzycznych z wykorzystaniem nowoczesnych technologii i wizualizacji.







#define MATRIX_PIN 6
#define MATRIX_WIDTH 16
#define MIDI_BAUD 31250
#define NOTE_MIN 73
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(
// Sekwencja przesunięta o 12
const int sequenceLength = sizeof(sequence) / sizeof(sequence[0]);
int sequenceIndex = 0;
void setup() {
Serial.begin(MIDI_BAUD);
void loop() {
if (Serial.available() >= 3) {
if ((status & 0xF0) == 0x90) { // Note ON
if (note == currentNote && velocity > 0) {
delay(delayAfterCorrect);
sequenceIndex++;
void drawNote(byte note) {
byte index = note - NOTE_MIN;
for (int y = 0; y < MATRIX_HEIGHT; y++) {
void clearMatrix() {
void blinkLED() {
}