Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

OscPocketO - Pocket Synth en Drum Machine

Componenten en benodigdheden

Arduino UNO
× 1
Audio-aansluiting (vrouwelijk, 3,5 mm)
× 1
Vrouwelijke/vrouwelijke verbindingsdraden
× 2
Mannelijke/Mannelijke doorverbindingsdraden
× 2

Benodigde gereedschappen en machines

Soldeerbout (algemeen)

Over dit project

Download de nieuwste code en bouwinstructies:https://oscillator.se/arduino!

Geïnspireerd door andere draagbare muziekmachines, las ik over de uitstekende Mozzi-bibliotheek. Zou het niet handig zijn om een ​​aantal synths en drummachines te kunnen maken en in tempo te kunnen synchroniseren? OscPocketO was geboren - een draagbare muziekstudio die alleen Arduino en een LCD-toetsenbord gebruikt!

TheOscPocketO wordt bestuurd door over te schakelen naar verschillende modi met behulp van de SELECT-knop. Gebruik de knop OMHOOG om een ​​waarde te verhogen, OMLAAG om een ​​waarde te verlagen en LINKS en RECHTS om de cursor te verplaatsen.

De ingebouwde LED van Arduino knippert elke keer dat de OscPocketO een noot speelt.

Pas op dat het rechtstreeks aansluiten van de OscPocketO op uw stereo-installatie hem kan overbelasten! Gebruik een koptelefoon of een mixer.

Als het LCD-scherm een ​​storing geeft, drukt u herhaaldelijk op zodat u naar het menu Extra gaat - het LCD-scherm wordt gereset.

Demo:

OscPocketO Synth

Modi:

START . Start en stopt de sequencer.

SYNC . Stelt de synchronisatiemodus in. GEEN =er worden geen synchronisatiesignalen ontvangen of verzonden. INT =intern, de ingebouwde klok van deOscPocketO wordt gebruikt en er worden synchronisatiesignalen verzonden (geleidermodus). EXT =extern, de OscPocketO-sequencer wordt bestuurd door een extern signaal, maar synchronisatiesignalen worden nog steeds verzonden (Player-modus).

PATROON . Selecteer het huidige patroon.

BEWERKEN . Bewerk het huidige patroon. Noten worden opgeslagen als MIDI-waarden in 1 maat (16 x 1/16e noten).

STAAT . Bewerk de status van de noten:X =aan, O =uit.

TEMPO . Stel het tempo van de sequencer in.

POORT . Stel poort van gespeelde noten in. Poort wordt uitgedrukt als procent van 1/16e.

SHIFT . Transponeer (OMHOOG/OMLAAG) en verschuif de reeks (LINKS/RECHTS).

GOLFVORM . Stel de golfvorm van de (eerste) oscillator in:SIN(sinus), TRI (driehoek), SAW (zaagtand) en SQUARE (vierkant).

AANVAL . Stel de Attack-tijd in in ms.

VRIJGAVE . Stel de vrijgavetijd in in ms.

FILTERMODUS . De OscPocketO heeft een laagdoorlaatfilter. De Cutoff kan worden gemoduleerd:

  • OPGELOST. Geen modulatie, gebruik de Cutoff en Resonance waarden.
  • WILLEKEURIG. Willekeurige modulatie van 0 tot de Cutoff-waarde.
  • LANGZAAM. Modulatie over ongeveer 4 maten van 0 tot 255. Verandert de Cutoff-waarde.
  • SNEL. Modulatie over ongeveer 1 bar van 0 tot 255. Verandert de Cutoff-waarde.

AFSLUITING . Stel de afsnijfrequentie van het filter in (als een getal van 0 tot 255).

RESONANTIE . Stel de resonantie van het filter in (als een getal van 0 tot 255).

GOLFVORM2 . Activeer en stel de golfvorm van de tweede oscillator in:NONE (uit), SIN (sinus), TRI (driehoek), SAW (zaagtand) en SQUARE (vierkant).

DETUNE2 . Ontstem de tweede oscillator ten opzichte van de eerste. De waarde is in Hz en wordt opgeteld bij de frequentie van de eerste oscillator.

SPELEN . Toetsenbord modus. De sequencer wordt gestopt (indien actief) en de 4 eerste noten van het huidige patroon worden toegewezen aan LEFT, UP, DOWN en RIGHT.

GEREEDSCHAP . Nutsvoorzieningen. Activeer met OMHOOG.

  • S. Sla de instellingen en patronen van de synthesizer op in EEPROM, zodat ze kunnen worden opgeroepen nadat ze zijn uitgeschakeld.
  • L. Laad synthesizerinstellingen en patronen uit EEPROM.
  • R. Maak een willekeurig patroon.
  • B. Maak een baslijnpatroon op basis van de huidige noot.
  • C. Kopieer het huidige patroon naar de volgende patroonpositie.

OscPocketO-drums

De OscPocketO Drumscan speelt 5 gelijktijdige geluiden, allemaal gemaakt door virtuele analoge synths dankzij de Mozzi-bibliotheek:Kick, Snare, Hihat, Clap en Crash.

Modi:

START . Start en stopt de sequencer.

SYNC . Stelt de synchronisatiemodus in. GEEN =er worden geen synchronisatiesignalen ontvangen of verzonden. INT =intern, de ingebouwde klok van deOscPocketO wordt gebruikt en er worden synchronisatiesignalen verzonden (geleidermodus). EXT =extern, de OscPocketO-sequencer wordt bestuurd door een extern signaal, maar synchronisatiesignalen worden nog steeds verzonden (Player-modus).

PATROON . Selecteer het huidige patroon.

BEWERKEN . Bewerk het huidige patroon. Notenwaarden worden geconstrueerd door waarden toe te voegen die overeenkomen met verschillende geluiden:

  • Kick =1
  • Snare =2
  • Hihat =4
  • Klap =8
  • Crash =16
  • Tom =32

Een voorbeeld:een waarde van 17 betekent dat deze stap Kick (1) en Crash (16), 1 + 16 =17 zal spelen.

TEMPO . Stel het tempo van de sequencer in.

POORT . Stel de poort van het SYNC OUT-signaal in. Poort wordt uitgedrukt als procent van 1/16e.

EDITKICK . Stel frequentie van kick, releasetijd en helling in (hoe snel het geluid in frequentie daalt) waarbij grotere waarde =snellere daling.

EDITSNARE . Stel de frequentie van snare, releasetijd en helling in (hoe snel het geluid in frequentie daalt) waarbij grotere waarde =snellere daling.

BEWERKEN . Stel de frequentie in op enkele interessante getrapte waarden en de releasetijd.

EDITCLAP . Stel de releasetijd in.

BEWERKEN. Stel de releasetijd in.

BEWERKEN . Stel frequentie van tom, releasetijd en helling in (hoe snel het geluid in frequentie daalt) waarbij grotere waarde =snellere daling.

SPELEN . Solo-modus. LINKS =Kick, UP =Snare, DOWN =Tom en RECHTS =Crash.

GEREEDSCHAP . Nutsvoorzieningen. Activeer met OMHOOG.

  • S. Sla patronen op in EEPROM zodat ze kunnen worden opgeroepen na het uitschakelen.
  • L. Laad patronen uit EEPROM.
  • R. Maak een willekeurig patroon.
  • B. Maak een herhalend patroon op basis van de huidige notitie.
  • C. Kopieer het huidige patroon naar de volgende patroonpositie.

Meerdere OscPocketO-machines synchroniseren

Eén OscPocketO moet de dirigent zijn. Dit is de machine die synchronisatiegegevens verzendt naar de andere OscPocketO:s genaamd Players.

1.Instellen

Sluit GND (aarde) van alle aangesloten OscPocketO:s aan. Zie bouwinstructie voor het maken van een geschikte kabel.

Geleider. Start:Stop.Sync:Intern.

Speler(s). Start:Stop.Sync:Extern. Begin:spelen. (Orde is belangrijk.)

Sluit SYNC OUT vanConductor aan op SYNC IN van de eerste speler.

Als u meerdere spelers hebt, sluit u SYNC OUT van de eerste speler aan op SYNC IN op de tweede speler. Herhaal dit voor elke speler.

2.Speel

Geleider. Start:Afspelen.

U kunt op alle OPO's geluiden aanpassen en van patroon wisselen. Je verandert het tempo (alleen) op deConductor.

De hardware bouwen

1.LCD-toetsenbordscherm

Voordat we het schild van het LCD-toetsenbord bevestigen, moeten we ervoor zorgen dat het niet is aangesloten op pin 10 (D10) op de Arduino. D10 wordt normaal gesproken gebruikt om de achtergrondverlichting (helderheid) op het LCD-scherm te regelen. Maar we gaan D10 gebruiken voor audio.

Om dit te laten werken, moet je de pin buigen op het schild dat in D10 op de Arduino gaat. Bendit 90 graden.

Deze afbeelding van de achterkant van de Arduino toont de gebogen pin van het schild (1) en de audioverbinding van de Arduino (2) die we in de volgende stap gaan repareren.

Bevestig nu het schild van het LCD-toetsenbord.

Het LCD-scherm en de knoppen zijn verbonden met de Arduino door het schild:

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

De RST (Reset) knop reset (herstart) de Arduino en wordt niet gebruikt door de software.

2.Audio-aansluiting

De audio-aansluiting is aangesloten op D10 en GND op de Arduino. De Mozzi-bibliotheek werkt normaal gesproken met D9, maar omdat deze verbinding wordt gebruikt door het LCD-toetsenbordscherm, moeten we enkele wijzigingen aanbrengen in de Mozzi-bibliotheek. Dit wordt later beschreven in de sectie Software.

Soldeer een gekleurde draad aan de "tip" van de audio-aansluiting (signaal) en soldeer een zwarte draad aan de huls (GND =aarde).

Soldeer de gekleurde draad aan de D10 van de Arduino. Aangezien we het schild al hebben bevestigd, gebruikt u de D10-soldeerverbinding aan de achterkant van de Arduino. Soldeer de zwarte draad aan Arduino GND die zich bovenop het schild bevindt.

3.Synchroniseren in en uit

Knip de vrouwelijke-vrouwelijke patchkabels doormidden en soldeer een deel op D11 (SYNC IN), een deel op D12 (SYNC OUT) en een deel op GND.

4.Zet het in een doos

Voor duurzaamheid moet je de OscPocketO in een doos doen en de kabels en de audio-aansluiting vastmaken.

5.Een kabel/draad maken voor synchronisatieaarde

Neem een ​​lange male-male patchkabel, verwijder wat isolatie in het midden, en soldeer een afgeknipte malekabel. Nu zijn alle drie (of meer) eindpinnen verbonden.

De software installeren

Sluit uw Arduino aan op uw computer met de Arduino IDE.

Installeer en configureer de Mozzi-bibliotheek

Download en installeer Mozzi volgens de instructies op de Mozzisite:https://sensorium.github.io/Mozzi/download/.

Lees indien nodig meer over het installeren van Arduino-bibliotheken:https://www.arduino.cc/en/Guide/Libraries.

Standaard voert Mozzi uit naar D9, maar aangezien deze pin wordt gebruikt door het LCDKeypad Shield, moeten we dit veranderen in D10.

Zoek en openAudioConfigStandardPlus.h in de map Mozzi-bibliotheken in een teksteditor.

Verander A in B en B in A op de volgende vier regels, zodat ze er zo uitzien:

// Intern gebruikt. Als er een kanaal 2 was, zou het OCR1B zijn.#define AUDIO_CHANNEL_1_OUTPUT_REGISTER OCR1B#define AUDIO_CHANNEL_2_OUTPUT_REGISTER OCR1A(...)#define AUDIO_CHANNEL_1_PIN TIMER1_B_PIN //defined inknown_Channel_2_OUTPUT_REGISTER OCR1A(...)#define AUDIO_CHANNEL_1_PIN TIMER1_B_PIN //defined inknown TimerOne/config/P. 

Installeer de OscPocketO-schets

Kies welke OscPocketO je wilt proberen:Synth of Drums. Open thecode_synth/code_synth.ino en code_drums/code_drums.ino in de Arduino IDE en upload ze naar je Arduino.

Code

  • Code voor synth- en drumcomputer.
Code voor synth- en drumcomputer.Arduino
Geen voorbeeld (alleen downloaden).

Schema's


Productieproces

  1. Over boor- en tapmachines
  2. Lintzaagmachine en industriële revolutie
  3. Lintzaagmachine en productiviteit
  4. 5-assige bewerking en multitasking
  5. De molenmachine en zijn verschillende subcategorieën
  6. Draaicentrum en machinetechnologie
  7. Wat is een boor- en freesmachine?
  8. Wat is een CNC-draai- en freesmachine?
  9. Verschillende soorten draaibankmachines en hun classificatie:
  10. Power-feed en hand-feed boormachine
  11. Verschil tussen shaper en schaafmachine