programmeerbare chips/microcontrollers

Grappig, ik was hetzelfde aan het overwegen. Maar dan om een drumcomputer te bouwen. Gewoon wat gedachten:

- Mensen roepen hier over Arduino's, maar dat zijn gewoon ontwikkelbordjes voor Atmel microcontrollers (meestal).
- Die AVRs (Atmel uCs) zijn veel te traag voor interessante dingen. Bedenk dat je op 44100Hz dingen naar buiten moet sturen. Zo'n ding heeft meestal een 16Mhz klok. Dan heb je per sample 362 kloktikken om je signaal te maken. Da's heel erg weinig. Die uCs zijn 8-bit, dus je zal zelf een soort van 16-bit fixed point dingen moeten doen, dat halveert practisch je kloktikken die je hebt. Je houdt niets over.

Wat ik zelf overwoog: een willekeurige "echte" DSP, bijvoorbeeld van TI. Zijn snel, maar:
- ontwikkelbords zijn veel te duur
- behuizingen zijn of erg kleine SMD, of van die bolletjesdingen (dat kan ik allebei niet solderen)

Verder:
- Gumstix overweeg ik nog. Google maar voor info.
- Minidsp kende ik niet, ziet er goed uit.
- Een wat exotischere non-atmel Arduino?
- een D/A of een A/D aan boord is mooi meegenomen.
 
Grappig, ik was hetzelfde aan het overwegen. Maar dan om een drumcomputer te bouwen. Gewoon wat gedachten:

- Mensen roepen hier over Arduino's, maar dat zijn gewoon ontwikkelbordjes voor Atmel microcontrollers (meestal).
- Die AVRs (Atmel uCs) zijn veel te traag voor interessante dingen. Bedenk dat je op 44100Hz dingen naar buiten moet sturen. Zo'n ding heeft meestal een 16Mhz klok. Dan heb je per sample 362 kloktikken om je signaal te maken. Da's heel erg weinig. Die uCs zijn 8-bit, dus je zal zelf een soort van 16-bit fixed point dingen moeten doen, dat halveert practisch je kloktikken die je hebt. Je houdt niets over.

Wat ik zelf overwoog: een willekeurige "echte" DSP, bijvoorbeeld van TI. Zijn snel, maar:
- ontwikkelbords zijn veel te duur
- behuizingen zijn of erg kleine SMD, of van die bolletjesdingen (dat kan ik allebei niet solderen)

Verder:
- Gumstix overweeg ik nog. Google maar voor info.
- Minidsp kende ik niet, ziet er goed uit.
- Een wat exotischere non-atmel Arduino?
- een D/A of een A/D aan boord is mooi meegenomen.

dus hoe ik het begrijp wil jij een digitale drumcomputer bouwen?
ik heb mij eens die MB808 bassrum bestudeerd(ook een topic over hier) etaoin heeft hem gebouwd:P
vindt hem echt een goede cloon.

hoe zit dat eigenlijk met samples op z'n chip?
 
Ik wilde eigenlijk de drums synthetiseren, dus eigenlijk is dat praktisch ook een synth :) Samples is niet veel bijzonders, gewoon de bytes uit je geheugen naar een D/A sturen. Of eventueel nog eerst bewerken. je moet ze alleen ergens in opslaan, in geheugen dat niet vluchtig is (zoals flash), en 't kost je best wat ruimte (~176kB per seconde voor 16-bit stereo op 44100Hz), dus als je een uC of wat dan ook hebt met flash geheugen zal dat niet genoeg zijn. Dat wordt dan een los geheugen, zoals zo'n usb-stokje.
 
Ok, ik ben er uit. De hele chip programmeren met zo'n AVR programmer en wazige software gaat me te ver. En omdat ik alleen de chip wil gebruiken en niet een hele arduino ga ik het volgende doen:
Koop hier wat ATmega328's. En de usbtinyisp programmer. Zet de bootloader op de chip en stop hem in het arduino board dat ik nog heb liggen. Maak wat met de arduino software en wat dingen op een breadboard. Chip eruit, met een resistor en resonator sluit je hem zo aan. Beetje solderen...en klaar.
Bedankt voor de tips!
 
Maar heb je enig idee welke berekeningen je zo'n ding wil laten doen? En hoe weinig capaciteit ie daarvoor heeft op normale sample-rates?
 
als je een 16 mhz controller hebt, dan is die ook prima bruikbaar voor simpele audio/ sample gebaseerde dingen.
zelfs op 8 mhz zou dat nog wel lukken...
je moet dan natuurlijk wel kunnen programmeren.
maar volgens mij ging het ts om lfo tjes en dergelijke langzame dingen.
:koffie:
 
Maar waarvoor heb je dan die usbtinyisp nodig?
Om de bootloader erop te kunnen zetten. Maar
een ATMega met bootloader bestellen
kan ook. Leek me alleen wel leerzaam dit zelf te proberen.
Maar heb je enig idee welke berekeningen je zo'n ding wil laten doen?
Niet heel concreet. Ben niet zo geinteresseerd in samples of complexe DSP dingen. Gaat me meer om het experiment. Leek me bijvoorbeeld aardig om enkele CMOS logic chips te simuleren. Bijv. NAND, AND, XOR, NOR. Waarbij een sequencer de fuctie van de chip veranderd. Zoiets. Een virtuele lunetta waarbij de functies van de chips kunnen varieren.
je moet dan natuurlijk wel kunnen programmeren.
Voor arduino gaat dat vrij aardig. C of assembler lijkt me lastiger. Vandaar dat ik toch maar voor arduino ga.
Ik ga maar eens wat experimenteren. Misschien wordt het wat... misschien ook niet.
 
Mijn arduino based controller voor m'n Moog Source met encore midi kit is bijna helemaal klaar.
Alleen nog wat extra stuff in de code proppen (auto transmit na een instelbare tijd als er een parameter gewijzigd is bijvoorbeeld)
De controller heeft 5 buttons, 4 rotary encoders en een 20x4 lcd scherm 2x midi in en 2x midi out. (2e output is via newsoftserial)
Maar als je wel een arduino kan programmeren dan programmeer je toch eigenlijk al c/c++ code ?
 
Maar als je wel een arduino kan programmeren dan programmeer je toch eigenlijk al c/c++ code ?
Je kan vast ook in c programmeren voor arduino. Maar de IDE is meer gebaseerd op processing, wat ik wel een beetje beheers en veel simpeler is. De IDE zet de code om in C voor de ATmega. Althans, dat is wat ik ervan berijp.

Ben benieuwd naar je controller.
 
The Arduino programming environment is easy-to-use for beginners, yet flexible enough for advanced users to take advantage of as well. For teachers, it's conveniently based on the Processing programming environment, so students learning to program in that environment will be familiar with the look and feel of Arduino

Ze hadden de ide ook op visual studio kunnen baseren, of op emacs.
 
als ik er bijvoorbeeld een sample erop kan zetten en die kan laten triggeren vind ik het ook goed:P

is er een functie die samples erin kan zetten of moet je dat allemaal met poortjes doen?

is voor mij nog onduidelijk.
en een schermpje toevoegen? is dat ook makkelijk?

laat ik maar eerst eens gaan bedenken hoe ik 16 leds, 16 switches en 8 trigger-outs ga aansturen met 14 uit/inganen
 
Bij deze wat foto's van mijn controller

Het frontpaneel is nog niet helemaal klaar zoals te zien is.
En met alle aangesloten zooi worden alle poorten van de ATMega gebruikt.

Sorry voor de wat mindere kwaliteit van de foto's, m'n digitale camera is leeg
 

Attachments

  • IMAGE_132.jpg
    IMAGE_132.jpg
    75 KB · Bekeken: 36
  • IMAGE_133.jpg
    IMAGE_133.jpg
    89,9 KB · Bekeken: 36
  • IMAGE_134.jpg
    IMAGE_134.jpg
    96,1 KB · Bekeken: 37
Back
Top