Reads two PS2-keyboard and transmits MIDI commands. Includes arpeggiator and learn/replay mode.
The core of this project is an ATmega328 with an Arduino bootloader running at 16 MHz. It reads signals from the PS2-keyboards inside interrupt routines that listen to the CLK and DATA line from the keyboard, decodes the received bytes and places them into a first-level ringbuffer. A second stage consumes the bytes to assemble key-codes (carefully keeping track of key-up and key-down events) and fills second-level ringbuffers with key-events. These second-level ringbuffers are continuously monitored in the main loop of the program where the key-events are translated to MIDI sequences. The MIDI commands are subsequently transmitted via the serial line at 31250 baud such that MIDI devices can understand them.
The system features transposing notes and selecting MIDI channels as well as an arpeggiator that operates with two levels of complexity (chord level and harmonic sequence) and has a learn/replay mode.
Das Elektor Magazine gehört seit 65 Jahren zu den führenden Informationsquellen für Elektronikingenieure, Entwickler, Start-ups und Unternehmen. Unser Magazin wird von einer aktiven Community aus Elektronikingenieuren – von Studenten bis zu Profis – getragen, die mit Leidenschaft innovative Ideen entwickeln und teilen.
Für diese veröffentlichen wir jedes Jahr Hunderte von Beiträgen in Formaten wie Artikeln, Videos, Webinaren und weiteren Lernformaten. Unsere Mission ist es, Wissen auf jede mögliche Weise zu teilen und die Leser mit den neuesten Entwicklungen im Bereich der Elektrotechnik zu inspirieren.
Vielen Dank für Ihre Bewertung!
Kommentar hinzufügen
Vielen Dank für Ihre Bewertung!
Möchten Sie einen Kommentar mit Ihrer Bewertung hinterlassen? Bitte melden Sie sich unten an. Nicht gewünscht? Dann schließen Sie einfach dieses Fenster.
Diskussion (1 Kommentar)