Inhoudsopgave:

DoReMiQuencer - Programmeerbare MIDI-sequencer met toetsenbord - Ajarnpa
DoReMiQuencer - Programmeerbare MIDI-sequencer met toetsenbord - Ajarnpa

Video: DoReMiQuencer - Programmeerbare MIDI-sequencer met toetsenbord - Ajarnpa

Video: DoReMiQuencer - Programmeerbare MIDI-sequencer met toetsenbord - Ajarnpa
Video: Introducing the Roland JUNO-X Synthesizer | Three JUNOs in One (JUNO-60, JUNO-106, and JUNO-X) 2024, Juli-
Anonim
DoReMiQuencer - Programmeerbare MIDI-sequencer met toetsenbord
DoReMiQuencer - Programmeerbare MIDI-sequencer met toetsenbord

Dit apparaat is gemaakt voor gebruik met VCVRack, een virtuele modulaire synthesizer gemaakt door VCV, maar kan dienen als een algemene MIDI-controller.

Het dient als een MIDI-sequencer of keyboard, afhankelijk van de geselecteerde modus. De MIDI-noten die aan de toetsen zijn toegewezen, zijn Do, Re, Mi, Fa, Sol, La, Ti, Do', vandaar de naam.

In de sequencer-modus loopt het door 16 geprogrammeerde noten in ofwel 'single' of 'continue' modus, selecteerbaar via schakelaar.

Om een sequentie te programmeren, moet het apparaat in de 'record'-modus worden geschakeld, waarbij het indrukken van de nootknoppen de sequentie creëert.

Uiteraard is het apparaat naar uw wensen aan te passen en is daarom modulair opgebouwd.

Dit is mijn eerste Instructable en opbouwende kritiek en eerlijke complimenten worden zeer op prijs gesteld.

Stap 1: Materialen en gereedschappen

Materialen en gereedschappen
Materialen en gereedschappen

componenten:

  • Arduino Nano
  • 3-standenschakelaar *3
  • Knop *10 (11 als je een extra resetknop wilt)
  • 100k Weerstand *10
  • SSD1306-scherm
  • SN74HC165 Parallel-in-serieel-uit schuifregister
  • 16-pins aansluiting (optioneel maar aanbevolen)
  • Breadboard of PCB
  • Behuizing of grondplaat
  • Mannelijke en vrouwelijke pin-headers (optioneel)
  • LED's en bijpassende weerstanden (optioneel)

Gereedschap:

  • Soldeerbout
  • USB-kabel voor de Arduino
  • Laptop of pc met Arduino IDE

Stap 2: Module: Toetsenbord

componenten:

  • Knop *10
  • SSD1306-scherm
  • Breadboard of PCB
  • 100k Weerstand *10
  • Mannelijke pin-headers (optioneel)

Monteer 8 knoppen in een configuratie waarin je ze een geschikt toetsenbord vindt, ik raad een 1- of 2-rij opstelling aan.

Monteer de resterende 2 knoppen waar u uw BPM-regeling wilt hebben.

Monteer het beeldscherm waar u het wilt op het toetsenbord.

Soldeer de weerstanden aan de knoppen en sluit de knoppen en weergave volgens het schema aan op een header of rechtstreeks op het schuifregister en Arduino.

Stap 3: Module: Configuratiescherm

componenten:

  • 3-standenschakelaar *3
  • Breadboard of PCB
  • Knop (optioneel)
  • Mannelijke pin-headers (optioneel)

Monteer de schakelaars op het breadboard.

Optioneel kunt u ook de resetknop op het paneel toevoegen.

Verdere toevoegingen kunnen status-LED's zijn die op de knoppen zijn aangesloten.

Sluit de schakelaars en extra componenten volgens het schema aan op een pin-header of rechtstreeks op de Arduino.

Als alternatief kan het bedieningspaneel in het toetsenbord worden geïntegreerd.

Stap 4: Module: Moederbord

Module: Moederbord
Module: Moederbord

componenten:

  • Arduino Nano
  • SN74HC165 Schakelregister
  • 16-pins DIP-aansluiting (optioneel maar aanbevolen)
  • Breadboard of PCB
  • Vrouwelijke pin-headers (optioneel)

Monteer de Arduino en het schuifregister of de socket op het bord. Wanneer u een socket gebruikt, steekt u het register in de socket.

Wanneer u pin-headers gebruikt om de modules aan te sluiten, monteer dan de vrouwelijke headers op het bord.

Soldeer de componenten volgens het schema.

Stap 5: Coderen

Installeer de bijgevoegde code op de Arduino.

Posities voor objecten op het scherm, evenals de pinout en configuratie worden afgehandeld via #DEFINEs.

De methode start() initialiseert alleen de pinnen en het display, evenals de array voor de notities.

De methode printBPM() regelt het schrijven van de BPM naar het scherm. Het is noodzakelijk om de bruikbaarheid te vergroten bij het instellen van de BPM, zodat de waarde snel kan worden gewijzigd in plaats van één druk op de knop voor elke afzonderlijke BPM.

De methode writeMIDI() zorgt voor het seriële verzenden van de MIDI-commando's.

De loop()-methode bevat zowel de 'sequencer'-modus als de 'keyboard'-modus. Het behandelt de functies van het apparaat, controleert de ingangen van het bedieningspaneel om te bepalen welke modus moet worden uitgevoerd en leest het schuifregister om de toetsenbordinvoer te krijgen.

Als u het aantal te spelen stappen of noten wijzigt, kunnen aanpassingen aan de schermposities nodig zijn.

Stap 6: Behuizing

componenten:

  • Behuizing of grondplaat
  • Gemonteerd apparaat
  • Extra componenten afhankelijk van uw ontwerp, zoals schroeven.

Monteer het apparaat afhankelijk van uw ontwerp in de behuizing of op de grondplaat.

Ik koos voor een 3D-geprinte basisplaat, die ik later moest aanpassen om het apparaat vast te houden.

Stap 7: Gebruik

Gebruik
Gebruik

Selecteer de gewenste modus met behulp van de schakelaars op het bedieningspaneel.

Druk in de toetsenbordmodus op de knop met de noot die u wilt spelen. Het display zou moeten weergeven welke noot wordt gespeeld.

In de sequencermodus werkt het apparaat vanzelf in de afspeelmodus.

In de 'record'-modus kunt u een reeks programmeren door op de knoppen op het toetsenbord te drukken.

In de 'play'-modus stuurt het apparaat de gespeelde noot via serieel. Als dezelfde noot wordt gespeeld en het apparaat staat in de 'continue' modus, wordt de noot niet gestopt en opnieuw gespeeld, anders wordt de noot gestopt en wordt de volgende gespeeld.

Aanbevolen: