Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

OscPocketO - Pocket-Synth und Drum-Machine

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
Audiobuchse (weiblich, 3,5 mm)
× 1
Female/Female Jumper Wires
× 2
Überbrückungsdrähte männlich/männlich
× 2

Notwendige Werkzeuge und Maschinen

Lötkolben (generisch)

Über dieses Projekt

Laden Sie den neuesten Code und die Bauanleitung herunter:https://oscillator.se/arduino!

Inspiriert von anderen tragbaren Musikmaschinen habe ich mich in der hervorragenden Mozzi-Bibliothek informiert. Wäre es nicht sinnvoll, eine Reihe von Synthesizern und Drum-Machines bauen und im Tempo synchronisieren zu können? OscPocketO war geboren - ein tragbares Musikstudio, das nur Arduino und eine LCD-Tastatur verwendet!

Die OscPocketO wird durch Umschalten in verschiedene Modi mit der SELECT-Taste gesteuert. Verwenden Sie die UP-Taste, um einen Wert zu erhöhen, DOWN, um einen Wert zu verringern, und LINKS und RECHTS, um den Cursor zu bewegen.

Das in Arduino integrierte LEDblinkt jedes Mal, wenn der OscPocketO eine Note spielt.

Achten Sie darauf, dass der direkte Anschluss des OscPocketO an Ihre Stereoanlage zu einer Überlastung führen kann! Verwenden Sie Kopfhörer oder ein Mischpult.

Wenn das LCD-Display durcheinander geht, drücken Sie wiederholt, damit Sie das Tools-Menü passieren - das LCD wird zurückgesetzt.

Demo:

OscPocketO Synth

Modi:

START . Startet und stoppt den Sequenzer.

SYNC . Stellt den Synchronisierungsmodus ein. NONE =Es werden keine Sync-Signale empfangen oder gesendet. INT =intern, die eingebaute Uhr des OscPocketO wird verwendet und Sync-Signale werden gesendet (Conductor Mode). EXT =extern, der OscPocketO-Sequenzer wird von einem externen Signal gesteuert, aber Sync-Signale werden weiterhin gesendet (Player-Modus).

MUSTER . Wählen Sie das aktuelle Muster aus.

BEARBEITEN . Bearbeiten Sie das aktuelle Muster. Noten werden als MIDI-Werte in 1 Takt (16 x 1/16-Noten) gespeichert.

STAAT . Bearbeiten Sie den Status der Noten:X =ein, O =aus.

TEMPO . Stellen Sie das Tempo des Sequenzers ein.

TOR . Stellen Sie das Tor der gespielten Noten ein. Gate wird als Prozentwert von 1/16 ausgedrückt.

UMSCHALT . Transponieren (UP/DOWN) und verschieben Sie die Sequenz (LEFT/RIGHT).

WELLENFORM . Stellen Sie die Wellenform des (ersten) Oszillators ein:SIN (Sinus), TRI (Dreieck), SAW (Sägezahn) und SQUARE (Quadrat).

ANGRIFF . Stellen Sie die Attack-Zeit in ms ein.

FREIGABE . Stellen Sie die Release-Zeit in ms ein.

FILTERMODUS . Der OscPocketO verfügt über einen Tiefpassfilter. Der Cutoff kann moduliert werden:

  • BEHOBEN. Keine Modulation, verwenden Sie die Cutoff- und Resonance-Werte.
  • Zufällig. Zufällige Modulation von 0 bis zum Cutoff-Wert.
  • LANGSAM. Modulation über ca. 4 Takte von 0 bis 255. Ändert den Cutoff-Wert.
  • SCHNELL. Modulation über ca. 1 Takt von 0 bis 255. Ändert den Cutoff-Wert.

ABSCHNITT . Stellen Sie die Cutoff-Frequenz des Filters ein (als Zahl von 0 bis 255).

RESONANZ . Stellen Sie die Resonanz des Filters ein (als Zahl von 0 bis 255).

WAVEFORM2 . Aktivieren und stellen Sie die Wellenform des zweiten Oszillators ein:NONE (aus), SIN (Sinus), TRI (Dreieck), SAW (Sägezahn) und SQUARE (Quadrat).

DETUNE2 . Verstimmen Sie den zweiten Oszillator relativ zum ersten. Der Wert ist in Hz und wird zur Frequenz des ersten Oszillators addiert.

SPIELEN . Tastaturmodus. Der Sequenzer wird gestoppt (wenn er läuft) und die ersten 4 Noten des aktuellen Patterns werden LEFT, UP, DOWN und RIGHT zugewiesen.

WERKZEUGE . Dienstprogramme. Mit UP aktivieren.

  • S. Speichern Sie die Synthesizer-Einstellungen und -Patterns im EEPROM, damit sie nach dem Ausschalten wieder aufgerufen werden können.
  • L. Synthesizer-Einstellungen und Patterns aus dem EEPROM laden.
  • R. Zufälliges Muster erstellen.
  • B. Erstellen Sie ein Bassline-Pattern basierend auf der aktuellen Note.
  • C. Kopiere das aktuelle Muster an die nächste Musterposition.

OscPocketO-Drums

Der OscPocketO Drumscan spielt 5 gleichzeitige Sounds, die alle dank der Mozzi-Bibliothek von virtuellen analogen Synths erzeugt werden:Kick, Snare, Hihat, Clap und Crash.

Modi:

START . Startet und stoppt den Sequenzer.

SYNC . Stellt den Synchronisierungsmodus ein. NONE =Es werden keine Sync-Signale empfangen oder gesendet. INT =intern, die eingebaute Uhr des OscPocketO wird verwendet und Sync-Signale werden gesendet (Conductor Mode). EXT =extern, der OscPocketO-Sequenzer wird von einem externen Signal gesteuert, aber Sync-Signale werden weiterhin gesendet (Player-Modus).

MUSTER . Wählen Sie das aktuelle Muster aus.

BEARBEITEN . Bearbeiten Sie das aktuelle Muster. Notenwerte werden konstruiert, indem Werte hinzugefügt werden, die verschiedenen Klängen entsprechen:

  • Kick =1
  • Schlinge =2
  • Hihat =4
  • Klatschen =8
  • Absturz =16
  • Tom =32

Ein Beispiel:Ein Wert von 17 bedeutet, dass dieser Schritt Kick (1) und Crash (16) spielt, 1 + 16 =17.

TEMPO . Stellen Sie das Tempo des Sequenzers ein.

TOR . Gate des SYNC OUT-Signals einstellen. Gate wird als Prozentwert von 1/16 ausgedrückt.

EDITKICK . Stellen Sie die Kick-Frequenz, Release-Zeit und Slope ein (wie schnell der Sound in der Frequenz abfällt), wobei größerer Wert =schnellerer Abfall ist.

BEARBEITEN . Stellen Sie die Snare-Frequenz, die Release-Zeit und die Flankensteilheit ein (wie schnell der Klang in der Frequenz abfällt), wobei größerer Wert =schnellerer Abfall.

EDITHIHAT . Stellen Sie die Frequenz in einigen interessanten Stufenwerten und die Release-Zeit ein.

BEARBEITEN . Freigabezeit einstellen.

BEARBEITEN. Freigabezeit einstellen.

BEARBEITEN . Stellen Sie die Tom-Frequenz, die Release-Zeit und die Flankensteilheit ein (wie schnell der Ton in der Frequenz abfällt), wobei größerer Wert =schnellerer Abfall ist.

SPIELEN . Solo-Modus. LINKS =Kick, UP =Snare, DOWN =Tom und RECHTS =Crash.

WERKZEUGE . Dienstprogramme. Mit UP aktivieren.

  • S. Speichern Sie Muster im EEPROM, damit sie nach dem Ausschalten wieder aufgerufen werden können.
  • L. Laden Sie Muster aus dem EEPROM.
  • R. Zufälliges Muster erstellen.
  • B. Erstellen Sie ein sich wiederholendes Muster basierend auf der aktuellen Note.
  • C. Kopiere das aktuelle Muster an die nächste Musterposition.

Mehrere OscPocketO-Maschinen synchronisieren

Ein OscPocketO muss der Dirigent sein. Dies ist die Maschine, die Synchronisationsdaten an die anderen OscPocketO:s namens Player sendet.

1.Einrichtung

Verbinden Sie GND (Masse) aller angeschlossenen OscPocketO:s. Siehe Bauanleitung für die Herstellung eines geeigneten Kabels.

Dirigent. Start:Stop.Sync:Intern.

Spieler(e). Start:Stop.Sync:Extern. Beginn:Spielen. (Reihenfolge ist wichtig.)

Verbinden Sie SYNC OUT vom Dirigenten mit SYNC IN des ersten Players.

Wenn Sie mehrere Player haben, verbinden Sie SYNC OUT vom ersten Player mit SYNC IN auf dem zweiten Player. Wiederholen Sie dies für jeden Spieler.

2.Spielen

Dirigent. Start:Spielen.

Sie können Sounds und Patterns auf allen OPOs optimieren. Sie ändern das Tempo (nur) auf dem Dirigenten.

Aufbau der Hardware

1.LCD-Tastaturschild

Vor dem Anbringen des LCD-Tastaturschilds müssen wir sicherstellen, dass es nicht mit Pin 10 (D10) des Arduino verbunden ist. D10 wird normalerweise verwendet, um die Hintergrundbeleuchtung (Helligkeit) des LCD zu steuern. Aber wir werden D10 für Audio verwenden.

Um diese Arbeit zu machen, müssen Sie den Stift auf dem Schild biegen, der auf dem Arduino in D10 geht. Biegen Sie um 90 Grad.

Dieses Bild der Rückseite des Arduino zeigt den gebogenen Stift des Shields (1) und die Audioverbindung vom Arduino (2), die wir im nächsten Schritt reparieren werden.

Bringen Sie nun die LCD-Tastaturabdeckung an.

Das LCD und die Tasten sind über das Shield mit dem Arduino verbunden:

  • LCD:D4, D5, D6, D7, D8, D9
  • Tasten:A1

Die RST-Taste (Reset) setzt das Arduino zurück (restartet) und wird von der Software nicht verwendet.

2.Audiobuchse

Die Audiobuchse ist mit D10 und GND am Arduino verbunden. Die Mozzi-Bibliothek funktioniert normalerweise mit D9, aber da dieser Anschluss vom LCD-Keypad-Shield verwendet wird, müssen wir einige Änderungen an der Mozzi-Bibliothek vornehmen. Dies wird später im Abschnitt Software beschrieben.

Löten Sie einen farbigen Draht an die "Spitze" der Audiobuchse (Signal) und löten Sie einen schwarzen Draht an die Hülse (GND =Masse).

Löten Sie den farbigen Draht an den D10 des Arduino. Wie wir bereits das Schild angebracht haben, verwenden Sie die D10-Lötstelle auf der Rückseite des Arduino. Löten Sie das schwarze Kabel auf Arduino GND, das sich oben auf dem Schild befindet.

3. Synchronisieren Sie ein und aus

Schneiden Sie die weiblichen-weiblichen Patchkabel in zwei Hälften und löten Sie einen Teil an D11 (SYNC IN), einen Teil an D12 (SYNC OUT) und einen Teil an GND.

4.In eine Kiste legen

Aus Gründen der Haltbarkeit sollten Sie das OscPocketO in eine Box stecken und die Kabel und die Audiobuchse befestigen.

5. Kabel/Draht für die Synchronisationsmasse herstellen

Nehmen Sie ein langes Stecker-Stecker-Patchkabel, entfernen Sie etwas Isolierung in der Mitte und löten Sie ein abgeschnittenes Steckerkabel. Jetzt werden alle drei (oder mehr) Endstifte verbunden.

Installieren der Software

Verbinden Sie Ihr Arduino mit Ihrem Computer, auf dem die Arduino IDE ausgeführt wird.

Installieren und konfigurieren Sie die Mozzi-Bibliothek

Laden Sie Mozzi herunter und installieren Sie es gemäß den Anweisungen auf der Mozzi-Site:https://sensorium.github.io/Mozzi/download/.

Lesen Sie bei Bedarf mehr über die Installation von Arduino-Bibliotheken:https://www.arduino.cc/en/Guide/Libraries.

Standardmäßig gibt Mozzi auf D9 aus, aber da dieser Pin vom LCDKeypad Shield verwendet wird, müssen wir dies auf D10 ändern.

Suchen und öffnen Sie AudioConfigStandardPlus.h im Mozzi-Bibliotheksordner in einem Texteditor.

Ändere in den folgenden vier Zeilen A in B und B in A, damit sie so aussehen:

// Wird intern verwendet. Wenn es einen Kanal2 gäbe, wäre dies OCR1B.#define AUDIO_CHANNEL_1_OUTPUT_REGISTER OCR1B#define AUDIO_CHANNEL_2_OUTPUT_REGISTER OCR1A(...)#define AUDIO_CHANNEL_1_PIN TIMER1_B_PIN //definiert in TimerOne/P 

Installieren Sie die OscPocketO-Skizze

Wählen Sie aus, welches OscPocketOSie ausprobieren möchten:Synth oder Drums. Öffnen Sie thecode_synth/code_synth.ino och code_drums/code_drums.ino in der Arduino-IDE und laden Sie sie auf Ihren Arduino hoch.

Code

  • Code für Synthesizer und Drumcomputer.
Code für Synth- und Drum-Maschine.Arduino
Keine Vorschau (nur Download).

Schaltpläne


Herstellungsprozess

  1. Über Bohr- und Gewindeschneidmaschinen
  2. Bandsägemaschine und industrielle Revolution
  3. Bandsägemaschine und Produktivität
  4. Die Mühlmaschine und ihre verschiedenen Unterkategorien
  5. Drehzentrum und Maschinentechnik
  6. Was ist eine Bohr- und Fräsmaschine?
  7. Was ist eine CNC-Dreh- und Fräsmaschine?
  8. Bohrmaschine mit Kraft- und Handvorschub
  9. Unterschied zwischen Hobelmaschine und Hobelmaschine
  10. Arten von Hobelmaschinen und ihre Spezifikation