Dragoş COCÎRLEA (87891) - 16 Step Sequencer

Introducere

Proiectul consta in implementarea unui Step Sequencer cu 16 timpi ce va rula la 120BPM. Scopul proiectului este de a crea un device care sa ofere utilizatorului un mod creativ de a se relaxa si o prima intrarea in lumea crearii muzicii.

Utilizatorului ii va fi oferita posibilitatea de a alege un anumit sunet (din cele 10 disponivile) pe care apoi il va aseza in unul din cele 16 slot-uri prin care se cicleaza pentru a crea beat-ul.

In mod ideal, se pot pune mai multe sunete pe un singur slot, pentru a crea o melodie mai complexa, dar acest lucru ar putea fi un impediment pe care sper sa il pot depasi.

Descriere generală

Vor exista 16 butoane pentru fiecare time step si in dreptul fiecarui astfel de buton vor exista doua led-uri:

  • unul verde, care va indica time step-ul curent
  • unul rosu, care va indica time step-ul pe care este activ sunetul selectat in acel moment

De asemenea vor exista 10 butoane ce reprezinta sunetele pe care utilizatorul le poate alege, in dreptul carora de asemenea vor exista doua led-uriȘ

  • unul verde, ce se va aprinde in momentul in care sunetul respectiv se aude in timpul beat-ului
  • unul rosu, care reprezinta sunetul ales in momentul curent

Va mai exista si un un alt buton pentru play/stop.

Hardware Design

Lista piese:

  • Placuta PM 2019
  • 27 de butoane
  • 26 de LED-uri rosii
  • 26 de LED-uri verzi
  • 27 de rezistente de 1K ohmi pentru butoane
  • 26 de rezistente de 150 ohmi pentru LED-uri rosii
  • 26 de rezistente de 100 ohmi pentru LED-uri verzi
  • 12 shift registere - 74HC595
  • Placa de test pe care se vor lipi componentele
  • Modul Slot Card Compatibil cu MicroSD
  • Difuzor
  • Amplificator

Schema LED-uri

Pentru a putea controla cele 52 de LED-uri, am hotarat sa folosesc 8 shift registers (74HC595). Acestea au fost sparte in doua categorii:

  • Cele care se vor schimba la fiecare beat, ce vor fi comandata de un timer interrupt - GREEN
  • Cele care se vor schimba la apasarea butoanelor ce for vi comandate de o intrerupere normala - RED

In ambele cazuri schema este identica, singura diferenta fiind cele 3 porturi de pe placa la care sunt legate shift register-ele:

Categorie Data Serial In (PIN14) ST_CP (PIN12) SH_CP (PIN11)
GREEN PC0 PC1 PC2
RED PC3 PC4 PC5

Schema butoane

Pentru a putea controla cele 26 de butoane am folosit 4 shift registere 74HC595. Acestea au fost de asemenea impartite in doua categorii:

  • Cele care vor spune pe care din cei 16 timpi se pune sunetul curent, ce va lansa o alta rutina de intrerupere - TIME
  • Cele care vor alege un sunet din cele 10 posibile, ce va lansa o rutina de intrerupete - BEAT

Ca in cazul led-urilor, schema este identica, cu exceptia celor 4 porturi ce sunt folosite pentru a controla starile shift register-elor:

Categorie Data Serial In (PIN14) ST_CP (PIN12) SH_CP (PIN11) Input ISR
TIME PA0 PA1 PA2 PA3
BEAT PA4 PA5 PA6 PA7

MiscroSD Card Reader

Sunetele ce trebuie redate vor fi citite de pe un card MicroSD.

Software Design

Rezultate Obţinute

Concluzii

Download

Bibliografie/Resurse

pm/prj2019/apredescu/step_sequencer_dc.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0