PP-SS20-01/Feindesign

Aus Verteilte Systeme - Wiki
< PP-SS20-01
Version vom 27. Mai 2020, 20:27 Uhr von Sludw001 (Diskussion | Beiträge) (→‎Keyboardmatrix)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Hardware Designs

In den folgenden zwei Abschnitten sind sowohl Schaltplan als auch die fertig designten Platinen für den Sequenzer zu sehen.

Erstellt wurde alles mithilfe von KiCAD und für nicht vorhandene Bauteile die Seite http://kicad.rohrbacher.net/quicklib.php genutzt.

Sequenzer Schaltplan

Verbaut sind jeweils ein MIDI-In und Out über TRS Buchsen, eine Keyboardmatrix bestehend aus 44 Tastern,

über diese ist die gesamte Bedienung möglich, optional ist für vieles auch die Bedienung über die Drehimpulsgeber möglich und zuletzt noch ein 128x64 OLED Display,

über das alle nötigen Informationen angezeigt werden.

Anzahl Bauteil
2x PCF8574N
44x Taster
45x 1N4148 Diode
1x i2c OLED Display
2x 3.5mm CLIFF Audio Jack
2x 2.5mm Audio Jack
2x Drehimpulsgeber mit Taster
1x microSD Kartenleser
1x H11L1 Optoisolator

PCB

Auf den PCBs ist die Menüführung im linken viertel untergebracht in Form eines Steuerkreuzes und sämtlichen Menütasten (Save, Play, Rec, Shift, Edit 1, 2 und 4).

Damit man nicht so oft versehentlich auf die Play-Taste kommt ist diese nach links außen verschoben worden, zwischendrin war die Play-Taste in anderen Designs zusammen mit den anderen Menü-Tasten gruppiert dies führte aber zu regelmäßiger Fehlbedienung.

Direkt unter den PCF8574 befindet sich eine Taster-Leiste von A-H damit werden dann die einzelnen Sequenzen angesprochen und die darunter liegenden 3x8 Taster sind für die Steps da.

Schaltplan und PCB Sequenzer Adapter

Die Adapterplatine ist nur ein Mapping der vorhandenen Ports auf dem Sequenzer PCBs auf die Pins eines anderen Microcontrollers.

Für den aktuellen Stand des Sequenzers wird nur ein Mapping von 3.3V, GND, SPI, I2C und vier GPIO Pins für die Drehimpulsgeber benötigt.

Anschließend ist mithilfe der Adapterplatine jeder Zephyr und I2C fähige Microcontroller (wenn das SD Karten Modul genutzt wird auch SPI) theoretisch in der Lage für das Projekt benutzt zu werden.

Softwareseitiges Design

Es gibt zwei wichtige Designentscheidungen einmal wie das durchlaufen der Steps aufgebaut und ist zweitens die Verarbeitung von Eingaben.

Sequencing.png Eingabeverarbeitung.png

Bedienung

Displayanzeige

Hauptmenü
Farbe Information
Blau BPM
Grün Sequenz Namen
Orange Sequenz startet
Pink Sequenz ist aus
Rot Sequenz stoppt
Sequenz-Menü
Farbe Information
Grün Sequenz Name
Gelb Scrollbereich Steps
Grau Mono an (keine Note Off Nachrichten)
Hellblau MIDI Channel
Dunkelblau Anzahl Steps
Pink Notenwert
Rot Aktiver Step der über 4 weitere Steps geht
anderes Hellblau Aktiver Step
Weiß Inaktiver Step
Step-Menü
Farbe Information
Grün Sequenz Name
Gelb Step Nummer
Orange Step ist on oder off
Rot Ausgewählte Note
Pink Velocity
Blau Extra Steps
Der weiße Strich links unten Zeigt an dass Drehimpulsgeber 1 (BPM) in seinem zweiten Modus ist

Tastenbelegung

Taste Hauptmenü Sequenz Menü Step Menü
Drehimpulsgeber BPM Drehung links BPM verringern Anzahl Steps verringern Note verringern
Drehimpulsgeber BPM Drehung rechts BPM erhöhen Anzahl Steps erhöhen Note erhöhen
Drehimpulsgeber BPM Drehung links (2) BPM verringern MIDI-Channel verringern (Nur möglich wenn nicht am abspielen oder die Sequenz nicht an ist) Steplänge verringern
Drehimpulsgeber BPM Drehung rechts (2) BPM erhöhen MIDI-Channel erhöhen (Nur möglich wenn nicht am abspielen oder die Sequenz nicht an ist) Steplänge erhöhen
Drehimpulsgeber 2 Drehung links - Notenwert erhöhen Velocity verringern
Drehimpulsgeber 2 Drehung rechts - Notenwert verringern Velocity erhöhen
Drehimpulsgeber 2 Drehung links (2) - Step Scrollen zurück vorheriger Step
Drehimpulsgeber 2 Drehung rechts (2) - Step Scrollen vorwärts nächster Step
Play Abspielen starten/stoppen Recording stoppen / zurück zum Hauptmenü Note senden
Rec - Step Recording aktivieren/stoppen -
Shift + Rec - Live Recording aktivieren/stoppen -
Save Speichern aller Sequenzen Speichern der aktuellen Sequenz -
Up - Notenwert erhöhen Note erhöhen
Down - Notenwert verigern Note verringern
Shift + Up - MIDI-Channel erhöhen (Nur möglich wenn nicht am abspielen oder die Sequenz nicht an ist) -
Shift + Down - MIDI-Channel verringern (Nur möglich wenn nicht am abspielen oder die Sequenz nicht an ist) -
BPM- BPM verringern Step Anzahl verringern Velocity verringern
BPM+ BPM erhöhen Step Anzahl erhöhen Velocity erhöhen
Shift + BPM- BPM verringern (um 10) Step Scrollen zurück Steplänge verringern
Shift + BPM+ BPM erhöhen (um 10) Step Scrollen vorwärts Steplänge erhöhen
1 - Mono an/abschalten -
2 - - -
4 - - -
A Sequenz starten/stoppen Sequenz zum editieren auswählen -
B Sequenz starten/stoppen Sequenz zum editieren auswählen -
C Sequenz starten/stoppen Sequenz zum editieren auswählen -
D Sequenz starten/stoppen Sequenz zum editieren auswählen -
E Sequenz starten/stoppen Sequenz zum editieren auswählen -
F Sequenz starten/stoppen Sequenz zum editieren auswählen -
G Sequenz starten/stoppen Sequenz zum editieren auswählen -
H Sequenz starten/stoppen Sequenz zum editieren auswählen -
Edit + A-H Sequenz editieren Sequenz auf Default zurücksetzen -
1.1 - 3.8 - Step ak- oder deaktivieren Step zum editieren auswählen
Edit + 1.1 - 3.8 - Step editieren -