Arduino of Respberry Pi als convertor inzetten voor conversie MIDI / Oct/V / Oct/Hz

bikkel

Everything is on the One
Lid sinds
14 november 2001
Berichten
12.727
Locatie
Utrecht
Arduino of Respberry Pi als convertor inzetten voor conversie MIDI / Oct/V / Oct/Hz

Ik zoek naar een goedkope oplossing om een Korg MS-20 te sequencen vanaf een MC-202. Ook zou ik het interessant vinden om zonder een geluidskaart op te offeren extra voltages uit zou kunnen sturen.

Ik dacht: wellicht dat een Arduino handiger en vooral goedkoper is dan kant en klare kastjes?
 
arduino en analoog uit

arduino en analoog uit

Hoi,

Arduino Due (37 EU) heeft twee analoge uitgangen. Die zijn echter vooral bedoeld om audio af te spelen.

Met bijvoorbeeld een Arduino Pro Mini (de goedkoopste arduino - 7,90 EU) kan met
drie datalijnen naar een 74HCT595 serial to parallel chipje en daar een DAC erachter
(DAC08 bv) prima een CV output gemaakt worden. Iedere extra datalijn met een
hct595 en een DAC erbij maakt weer een extra CV output erbij door de Chip Select te
gebruiken. De HCT595 functioneert niet enkel als omzetter maar ook als geheugenregister.

De MIDI ingang kan aan de RX seriele ingang aangesloten worden met een opto coupler
zoals dat bij MIDI gebruikelijk is.
Je moet er natuurlijk wel de software zelf voor schrijven in de Arduino IDE.
Kan een leuk projectje zijn maar, als het om geld te besparen is zou ik er niet aan beginnen. Behalve als je ook noottabellen aanlegt in verschillende toonsoorten en akkoord / schema's --> dan wordt het heel erg leuk.
En je kunt ook de analoge ingangen (7x) gebruiken om analoge CV te quantiseren.

EDIT:
Om de MINI te programeren heb nog wel een FDTI kaartje je nodig. Bij een Arduino Micro zit al een USB aansluiting.

http://www.antratek.nl/microcontrollers/arduino/boards


PWM is niet geschikt - ook niet met een filter erachter die als voor een DAC doorgaat.

Mvg,

Marc Marc
 
Laatst gewijzigd:
Ik kan alles programmeren wat ik maar wil maar de hardware kant is wat minder. Ik heb een soldeerbout, tin, multimeter en enthousiasme, om het zo maar samen te vatten. Als je tegen me zegt pruts een draadje tussen A en B dan kan ik dat maar ik heb wel een how-to nodig.
 
Hoi Bikkel,

Enthousiasme heb je dan zeker nodig ;) maar, je zou natuurlijk kunnen rondkijken of er geen DAC shields zijn die je enkel met wat draadjes aan de Arduino hoeft te verbinden.
Een serieel DAC shield dat slechts een 3 data lijnen gebruikt zou dan erg praktisch zijn.
Een van die datalijnen is de dan bijvoorbeeld de Latch of de Chip select.

Hoe een MIDI interface met een OPTO COUPLER verbonden moet worden is makkelijk op het net te vinden

Het aansluiten van analoge voltages - al dan niet een potmeter om iets mee te doen, is
eenvoudig - legio voorbeelden op het net te vinden.

Ik geef hier een plaatje met een detail waarin te zien is hoe de 74HCT595 is verbonden
met de arduino Mini. De data-uitgangen die ik hier gekozen heb heeft te maken met de board layout.

Andere plaatje is een experimentele setup met een Arduino Micro voor een quantizer.
Van daaruit is het een kleine stap om er een sequencer, Sample & Hold en een MIDI/CV
functie aan te hangen.
Als je software schrijven leuk vindt kan je hart daarmee ophalen.

Een raspberry pi zou ik niet doen. Die draait op linux en gooit roet in het eten aangaande de timing.

De Arduino's Mini, Micro en UNO en nog wat draaien op 16 Mhz. Als dat te langzaam is, kan je overstappen op een Arduino Mega. Die draait op 74 Mhz.

Overigens kan je het met heel veel microcontrollers doen.
Een en ander hangt af welke programeertaal je het fiinst vindt.

Tip: onderzoek eens de CYCKIT-042 PSoC 4 PIONEER KIT
die met CYPRESS visueel is te programeren (slepen van functieblokken) en C+ code automatisch produceert die achteraf bewerkt kan worden.
Deze controller heeft twee DAC convertors maar, ik weet niet zeker of die ook confortable zijn te programeren voor jouw toepassing.

mvg,

Marc Marc

EDIT: in het schema hoeft in jouw geval die transistor naar de NOT-OE niet opgenomen worden. De OE pin kan aan ground.
 

Attachments

  • arduino_hct595.jpg
    arduino_hct595.jpg
    38,9 KB · Bekeken: 129
  • arduinoquantizer.jpg
    arduinoquantizer.jpg
    36,6 KB · Bekeken: 121
Laatst gewijzigd:
DIY kit

DIY kit

je kan ook even goggelen op diy midi cv converter, dan komt er voldoende kant en klaars voorbij.....

:mega:
Natuurlijk. Maar, als je 'simpel' zou willen beginnen met een Arduino voor bijvoorbeeld 2 CV/Gate kanalen en het spannend vindt om zelf te programeren met allerlei extra's (SEQ, S&H, Quantizer en toonsoortden-gedoe) dan kan je je lol niet op door echt DIY te gaan.

Toch, voor Bikkel misschien een brug te ver.

Goedmorgen trouwens, ik dacht dat ik altijd heel vroeg opstond;)

Marc Marc.
 
ook een goeie morgen, middag eigenlijk alreedsweer...

dat bedoelde ik, zelfs een arduino even proggen is niet heel erg simpel, althans , als je de diepte in wilt gaan.

ik ben nu bezig een avr te proggen voor een mono/ polyfoon midi en cv out keyboard.
zelfs met de jaren programmeer ervaring die ik zoondertussen heb ( sinds halverwege jaren 70) valt dat toch altijd weer tegen.
het begin gaat altijd supersnel ( met een uurtje heb je het grotendeels werkend) , maar daarna moeten de puntjes op de i gezet worden, en dan begint het eindeloos geklooi.....:D

:mega:
 
"In het begin gaat altijd supersnel (met een uurtje heb je het grotendeels werkend) maar, daarna moeten de puntjes op de i gezet worden, en dan begint het eindeloos geklooi.....:D"

Ja, dat weten programmeurs maar al te goed ;-)
Maar, misschien is Bikkel wel een jonge gast met jonge inzichten en waarom zouden wij veteranen hem al op de voorhand moeten gaan demotiveren? Je bent een Bikkel of je bent het niet.

@Bikkel: zet 'm op en verras ons oudjes met je briljante code die feilloos de MIDI onderschept en analoog CV/Gate uitstuurt.

En nu weer aan het werk.
Groet,

Marc
 
Ik heb met Chuck wel eens chord arpeggiators gebouwd, dat was echt weer even lekker programmeren voor de lol. Maar wat mij op dit moment het meeste interesseert is conversie van analoge controlesignalen en -synchronisatie.

Wat me trekt aan Arduino en Raspberry Pi is de prijs en de flexibiliteit. Even omproggen en omprikken en ik kan er weer wat anders mee.

- MIDI: zou ook MIDI over USB kunnen zijn? Zijn daar drivers voor aan de Arduino en Windows/MacOS X kant?
- CYCKIT-042 PSoC 4 PIONEER KIT: als ik daar op zoek kom ik op dit topic uit in Google :D wat bedoel je precies?
 
Ik kon hem inmiddels ook al vinden. Maar is het nou een stand-alone ding aangezien er ook een ARM op zit of is het meer iets wat kan piggybacken op een Arduino?
 
als je geinteresseerd bent in usb-functionaliteit dan raad ik je aan de verschillen tussen de diverse Arduino's te bestuderen.
Ik ben pas een beginner, maar ik ben tegen verschillende chips aangelopen met andere usb-serial instellingen en andere timers (lastig troubleshooten als je niet weet dat dit verschil er is):
bv de Uno (ATmega328 met Atmega16U2 ) vs de Micro (ATmega32u4 ) http://arduino.cc/en/Guide/ArduinoLeonardoMicro
 
Cypress

Cypress

@Bikkel

CYCKIT-042 PSoC 4 PIONEER KIT: als ik daar op zoek kom ik op dit topic uit in Google :D wat bedoel je precies?

Hi,

Ik bedoelde deze:
http://www.cypress.com/?rID=77780

Het is een stand-alone low power micro controller.
De layout van de headers is compatible met Arduino Uno Shields (niet andersom!).
je kan dus uit die ernome verzameling Arduino Uno shields van alles gebruiken.

Het wezelijke verschil met veel andere controllers is dat alle functieblokken via een matrix aan elkaar woren gekoppeld wanneer een blok gebruikt wordt en hij is erg snel.
Dit kan je doen door via de grafische interface uit de bibliotheek een bepaalde functie
te selecteren. Deze wordt er dan in geplaatst met het hardware schema van ook eventuele toevoegingen die je zelf moet maken met extra componenten (pots, switches, chipjes ect). Het programma produceert de C+ achtige code voor je. Die kan je in een editor optimaliseren als nodig. Tevens kan je hardware routing in de matrix wijzigen
voor het geval dat je tegen storingen aanloopt c.q. wilt optimaliseren op eventuele ongewenste overspraak (in de audio).

Als je geen geroutineerde hardwarekennis hebt maar wel schema kan lezen, dan wordt het jouw "A naar B" verbinden op een breadboard werkelijkheid.
Overigens, zijn er voor de Arduino ook legio voorbeelden met hardware extensies waarbij je duidelijk een bedradingsschema te zien krijgt voor op een breadboard.

Ik heb het ding een tijdje geleden gekocht voor 25,- EU excl BTW. Inmiddels van alles over gelezen en het programma gaan exploiteren. De bibliotheek is omvangrijk met ook
allerlei praktische voorbeelden.
Voor ieder functionaliteit kan je via een menu allerlei instellingen aanpassen -> wordt dan in de hardware visualisatie en software code opgenomen.

Omdat ik gewend ben (was eigenlijk) om alle hardware zelf te ontwerpen en te maken, vond ik die PSoC kit wel boeiend.

De software is gratis! Helaas heb ik op dit moment niet de tijd om er echt mee aan de slag te gaan voor mijn Quantizer/S&H/SEQ/MIDI-CV-GATE experiment. Ik zit nu helemaal op de diverse Arduino's vanwegen 17 controllers die gemaakt moeten worden voor kinetische kunstwerken. Dat gaat vooralsnog prima met de Arduino Mini, Micro en Uno. Ik heb echter een paar veel snellere controllers achter de hand voor het geval dat... o.a. die PSoC 4 Pioneer kit dus

mvg,

Marc Marc
 
als je geinteresseerd bent in usb-functionaliteit dan raad ik je aan de verschillen tussen de diverse Arduino's te bestuderen.
Ik ben pas een beginner, maar ik ben tegen verschillende chips aangelopen met andere usb-serial instellingen en andere timers (lastig troubleshooten als je niet weet dat dit verschil er is):
bv de Uno (ATmega328 met Atmega16U2 ) vs de Micro (ATmega32u4 ) http://arduino.cc/en/Guide/ArduinoLeonardoMicro

hi,

Ik begrijp niet helemaal wat je bedoeld.
Ik weet dat je in de Arduino IDE moet aanvinken welke controller je gebruikt en dat de diverse Arduino's verschillende USb aanslutingen gebruiken (micro, mini en die grote vierkante USB aansluitingen). Dat is een kwestie van kabels. Bedoel je dat?

mvg,

Marc Marc
 
@GentleG

Hi,

Ohh ja... Dat gedonder met software emulated USB of een aparte USB chip.
Dat is toch op te lossen in de praktijk door daar rekening mee te houden?

In de praktijk betekent het dat je ontwikkelmodus gehandicapt kan worden omdat je niet tergerlijkertijd serial out kan doen en usb out omdat het gedeeld wordt op de digitale I/O's.

Je kan natuurlijk een Arduino DUE gebruiken omdat ie een Master en Slave USB port heeft
(en ook nog eens op een veel hogere frequentie draait).
En, als ik het me goed herinner heeft ie ook meerdere seriële poorten.

mvg,

Marc Marc
 
@Bikkel

- MIDI: zou ook MIDI over USB kunnen zijn? Zijn daar drivers voor aan de Arduino en Windows/MacOS X kant?

Hi,

Met de Arduino DUE dus heb je een USB poort extra (slave) die je als USB MIDI out poort kan gebruiken. Drivers heb je daar wel voor nodig aan de windows/mac kant maar, die zouden gewoon automatisch moeten worden geïnstaleerd.

Je dient gebruikt te maken van bepaalde libraries om de USB functionaliteit vorm te geven.
MIDI over USB is gewoon de serële data via de USB library functie uitsturen.

Ik zou zeggen: begin er gewoon aan. Al doende leert men. EN: het is lol zoals je zegt om
door middel van wijzigingen in het programma de fucntionaliteit te wijzigen en/of allerlei features toe te voegen die aan de persoonlijke wensen zijn aangepast en uniek zijn.

mvg,

Marc
 
Maar output de Due niet standaard maar 3.3V op zijn digitale outputs? Dat is natuurlijk wel een stukje lastiger om in te zetten als 5V gate.
 
Back
Top