Antieke lamp orgel - MIDI/OSC gecontroleerd (11 / 14 stap)

Stap 11: Software - Microcontroller-firmware

Hoewel de Atmega324p waarschijnlijk niet de meest gebruikte microcontroller (uC), de meeste van deze code werkt prima op de meer populaire atmega168 serie die op arduinos wordt gebruikt.  De enige belangrijke wijziging zou de uitvoering van een UART-software voor de MIDI-poort omdat de 168 reeks heeft alleen een UART.  Echter kan die functie gemakkelijk worden weggelaten, want ik toegeven moet, ik heb nooit een apparaat aangesloten op de netspanning rechtstreeks via MIDI sinds ik met klaar het testen dat het werkte.

De firmware op de uC is ingesteld om te behandelen of input van de MIDI-poort, de USB-poort of beide tegelijk.  Schakelen tussen modi bepaalt de routering van berichten.  Bovendien kan de huis notitie worden ingesteld op afstand of lokaal de schakeloptie front drukknop.  Wanneer de schakelaar wordt ingedrukt, wordt de volgende noot ingedrukt en losgelaten op het toetsenbord de eerste gloeilamp als die opmerking ingesteld.  Dit is natuurlijk niet een noodzaak, echter vind ik mensen zijn een beetje minder raadsel wat de verlichting doen als ze zien dat de gloeilampjes oplichten in volgorde van links naar rechts.  Wanneer de wortel nota van de sleutel uw spelen in is de eerste gloeilamp, de lichten neiging om springen rond een beetje minder schokkerig, afhankelijk van wat je natuurlijk aan het spelen bent.  Het aardige ding is dat, aangezien dit kan op afstand worden gecontroleerd, is het gemakkelijk om de sleutel van je liedje zo instellen dat het automatisch bijgewerkt telkens als u overschakelt van nummers (Zie de laatste sectie op het max4live-object met behulp van ableton).

Wanneer de modus van de eenheid is overgeschakeld, leidde de voorkant licht op een andere kleur, die aangeeft of de lokale gebruiker controle of of het op afstand wordt gecontroleerd.  Dit gaat in de vrijwel nutteloos maar ziet er cool categorie.

De meerderheid van de software is ingesteld voor het verwerken van de inkomende berichten (midi/usb).  Het externe kristal drijft de uC op 18.423 MHz, om 0% fout op 115200 baud-rate.  Afgezien van gaan per regel door de code is er niet veel meer om te praten over, voel je vrij om vragen hebt, de codes hieronder.  Het zip-bestand heeft het hele project-inlcluding het bestand avrstudio (avrstudio5, ik onlangs opgewaardeerd en omgerekend al mijn oude projecten, je moet ook! zijn zo veel beter dan avrstudio4!).  Ik liet uit de afzonderlijke UART-bestanden omdat ze elders beschikbaar zijn.

Enkele nuttige punten bij het schrijven voor midi.  U moet een UART-klok van 31250 baud, wat, voor een 0% fout betekent, moet u een kristal met een geheel veelvoud daarvan.  Dat werkt oke maar omdat de ingebouwde 8Mhz boete, of 16Mhz werkt, enz.  Echter, een probleem ontstaat bij het combineren van MIDI UART op dezelfde chip als RS232 UART.  De "standaard" baud tarieven, 9600, 112500 enz., niet goed werken met 8Mhz kristallen.  Dus, wat te do...well er is twee keuzes IMHO.

1. Gebruik de ingebouwde kristal of soortgelijke frequentie (8Mhz... of 16 Mhz, 20 Mhz enz) en baudrate aliasing gebruiken om te corrigeren voor de usb.

2. Accepteer fout op een van uw regels.  Persoonlijk, ik houd niet van deze optie, ik weet dat een heleboel mensen dingen uitvoeren met 9600 baud met 16Mhz kristallen, maar ik niet graag.

Dus, hier is een bos van links naar aliasing de baud-rate, het FT232R stuurprogramma gebruikt.  Ik heb dit gedaan op een PC en een MAC, het werkt geweldig, en kunt u gegevens op nog veel hogere transmissiesnelheden dan RS232 was bedoeld voor verzenden.  Bijvoorbeeld, in plaats van een piek op 225 kbps, kan je al manier tot 3Mbps (hoewel de meeste atmegas alleen maar op 2Mbps doen kunnen).

Hoe dit te doen op OSX (volg de stappen zorgvuldig, het werkt eigenlijk, ik beloof)
En, op een PC
Groot artikel over aliasing de baud-rate voor het gebruik van xbee controllers voor midi (Alleen PC)

Ook, you gonna willen om te verwijzen naar deze pagina als je het schrijven van code voor het omgaan met MIDI-berichten

Gerelateerde Artikelen

Arduino/Ableton kleur orgel; MIDI gecontroleerd

Arduino/Ableton kleur orgel; MIDI gecontroleerd

** huidige vanaf 6/7/2011: LED wedstrijd post **Dit is hoe ik gebruiken mijn Arduino UNO en de Maxuino-patch in Ableton Live om controle LED's via MIDI. Dit is de eenvoudigste configuratie voor het circuit en geeft voorbeelden op verschillende MIDI-c
Spark-e - een vonk kern + Touch OSC gecontroleerd Wall-e speelgoed robot conversie

Spark-e - een vonk kern + Touch OSC gecontroleerd Wall-e speelgoed robot conversie

Als het gaat om leuke robots, 's de instructables robot wordt boven aan de lijst natuurlijk, de tweede meest bekende got to be Pixar Wall-e. Wie zou niet willen dat een van deze kleine jongens rennende rond uw huis schoonmaken van uw afval voor u? No
Een antieke lamp olie of kerosine opwindende

Een antieke lamp olie of kerosine opwindende

voordat ik begin, moet ik u zeggen dat u kunt kopen een kit, ter vervanging van de brander die je lamp in elektrische omzetten zal, ze zijn verkrijgbaar op het internet als u wilt een snel en eenvoudig project.Maar als je graag dingen zelf, dan is di
Steampunk Lamp: Het oog van Ra

Steampunk Lamp: Het oog van Ra

lieve Steampunkers, beste vriendenNa twee ontspannen avonden in mijn laboratorium ben ik zeer blij te presenteren u een zeer speciale lamp:Het oog van RaDeze zeer krachtige lamp is gewijd aan de oude Egyptische zonnegod Ra. Het is zo krachtig, dat he
DIY een Retro houten Lamp met BBG

DIY een Retro houten Lamp met BBG

U kunt zo veel mooie dingen met houten en laser cutter gebouwd. En het zal veel beter als sommige elektrische modules toevoegen, wij noemen het de combinatie van elektronische en kunst.Ik zal hier mijn nieuwste creatie, een houten lamp die de kleur g
Quanto Dynamic Lamp

Quanto Dynamic Lamp

So Here is my project "Quanto Dynamic Lamp"Een stem gecontroleerde "Dynamische Lamp", die wordt aangedreven door ArduinoDit was mijn middelbare schoolproject.Mijn doel was om te laten zien dat we gemakkelijk hardware met behulp van spr
Lei: de IoT Wi-Fi Ambient Lamp

Lei: de IoT Wi-Fi Ambient Lamp

In dit project, we prototyped een 3x3W rgb IoT ambient lamp die kan worden gecontroleerd door middel van het internet via Lelylan en elke gewenste webbrowser overal in de wereld.De lamp is in eerste instantie ontworpen als kickstarted, maar als gevol
Urban Farming: Verhogen achtertuin kippen

Urban Farming: Verhogen achtertuin kippen

We hebben stedelijke kippen verhoogd sinds 2009. Ik heb altijd al wilde verhogen kippen sinds sommige kuikens in basisschool broedeieren. Het is soms een beetje uitdagend, leuk en de moeite waard geweest. Wij houden onze kippen als huisdier en voor h
Mason Jar kroonluchter

Mason Jar kroonluchter

na te leven voor bijna twee jaar zonder voldoende licht wonen/werken heb ik besloten om een armatuur van de verlichting. Een die zou voldoen aan mijn specifieke behoeften zonder dat kost een arm en een been. Ik had lang gedacht lampen aanbrengend de
Lightbox geïnspireerd foto plank met batterij geëxploiteerd LED's

Lightbox geïnspireerd foto plank met batterij geëxploiteerd LED's

Digitale fotocollages maken heeft me geïnspireerd te maken geweldige geschenken voor het weergeven van foto's: papier betegeld mozaïek dozen, vintage foto's op hout, foil tape ' reliëf, stof kunst, cool speeldozen & Plexiglas projecten zijn sommige g
Projector, 100W LED, waterkoeling, ventilator + Misc herwerken

Projector, 100W LED, waterkoeling, ventilator + Misc herwerken

Eerste off, alle gebruikelijke informatie, houd het kort, hebt u niet van de vaagste idee over wat je te maken hebt met (hoge spanning en houdt), stop en nalezen. Als u nog steeds onzeker vraag om hulp, als de trend zich voortzet en je nog steeds ver
Arduino Combi-knop Lock w / optionele iOS/Android ondersteuning

Arduino Combi-knop Lock w / optionele iOS/Android ondersteuning

onlangs, heb ik besloten dat ik wil proberen om een passcode lock met mijn nieuw verworven Arduino Uno, maar alle van de tutorials die ik kon vinden gebruik gemaakt van een gemodificeerde toetsenbord, iets dat niet elke Tom, Dick en Harry liegen heef
Commodore 64 MOS6581 SID gebaseerd Synth / Sequencer

Commodore 64 MOS6581 SID gebaseerd Synth / Sequencer

dit is een oude project van mij van ongeveer 3 jaar geleden. Ik was 8 toen mijn vader me een C = 64 28 jaar geleden kocht, en ik herinner me nog hoe blij ik was te spelen met het (ik ben nog een gamer en een hardware hacker dankzij het), en het belan
Sterrenbeeld lampenkap

Sterrenbeeld lampenkap

perfect project voor iedereen die houdt van de sterren. Ook wil kinderen die genieten van de ruimte/sterren deze lamp ook. u kunt uw favoriete sterrenbeelden of uw sterrenbeeld van de astrologie.wat u zult moeten.-een lamp met een kap die u niet sche