Anpassade Arduino MIDI Controller (10 / 14 steg)

Steg 10: Hej, vad sägs om roterande pulsgivare?



Om roterande pulsgivare

Potentiometrar och reglar är bra för att kontrollera volymer och frekvenser, men ibland du befinner dig i behov av något som kan vända för evigt, så du kan rulla genom dina spellistor, eller kanske är du en DJ och du vill lägga till jog hjul till handkontrollen repa. Det är då rotationsencoder kommer i.

De kan se ut en potentiometer, men det finns 3 stora skillnader:

  1. En roterande kodare kan vända för evigt, medan en potentiometer har ett fast utbud (vanligtvis runt 270°).
  2. En rotationsencoder skickar digitala signaler, medan en potentiometer "utgångar" analoga spänningar.
  3. En rotationsencoder skickar relativa meddelanden, medan en potentiometer rapporterar dess absoluta vinkel.

Avkoda en rotationsencoder

Innan vi kan använda dem, måste vi först förstå hur de fungerar. Det finns ett långt dokument på Arduino Playground, men jag ska försöka att ge en snabb förklaring.

En rotationsencoder består i princip av två växlar. När den slås är de två stiften på dessa växlar (A & B) ansluten och kopplas bort från det vanliga stiftet (C). (Se bild 1, kredit: RobotRoom)
Detta resulterar i två fyrkantsvågor. Dessa fyrkantsvågor är identiska, men tidpunkten är olika. Vi säger att de är 90° ur fas: den andra vågen startar sin cykel när den första vågen är på 1/4 av sin cykel. (90° är 1/4 av en full 360°, därav den "90° ut av fas". A & B kallas också "kvadratur output", eftersom de är en "kvartal" ur fas.)

Ta en titt på den andra bilden (Källa: Arduino Playground). Låt oss anta att vi vänder kodaren medurs (CW på bilden). Varje gång A signal stiger, (röda vertikala linjen) B signalen är hög, och varje gång A signal faller (gröna linjen), B signalen är låg. Tänk dig nu vrida den moturs (CCW). Nu varje gång A signal stiger (gröna linjen), B signalen är låg, och varje gång A signal faller (röd linje), B signalen är hög. Så genom att kontrollera B värdet när A värdet ändras, vi vet vilken riktning går axeln. Detta gäller även för förändringarna av B-kanal. Genom att räkna pulserar, vet vi hur mycket vi rotera den.

Eftersom kontroll stift A och B i en slinga av vår skiss skulle vara alltför långsam om det finns andra saker som kör också, och vi vill inte missa någon förändring av dem, använder vi avbryter. Här är några bra sidor om avbrott: Arduino referens, Nick Gammon platsoch kapitel 11 i Atmel Datasheet (Uno eller Leonardo).

Avbryter är, enkelt uttryckt, delar av din kod som bara kör när något utlöses, som en pin förändring. Den viktigaste loopen avbryts och ISR eller avbryta tjänsten rutin kallas. Det är långt mer komplex än så, men det är omöjligt att förklara i en Instructable. Hur som helst, om vi fäster ett avbrott till stift av rotary encoder, kan vi göra till att vi inte missar någon pin förändring, oavsett vad som händer i andra delar av vår kod. Du kan läsa mer om detta i tidigare länkarna, men vi kommer inte att vara oroande att mycket om avbrott, eftersom vi kommer att använda PJRC'S encoder bibliotek, som hanterar detta för oss.

Det finns två typer av roterande pulsgivare: mekaniska och optiska. Den första bilden är en mekanisk en: det finns en statisk och en glidande bit metall, och de gör eller broms anslutningar. Den andra typen är en optisk pulsgivare: det finns två strålar av (mestadels infrared) ljus, och en snurrande skiva med tänder avbryter disken. Om avståndet mellan bjälkarna är rätt förhållandet jämfört med bredden på tänderna, kommer deras fyrkantsvågor vara 90° ur fas. Det finns ett exempel i bild 3 (Källa: Kawasaki Heavy Industries). Det är också möjligt att ha två ringar av slitsar, som är redan i rätt fas på disken.

Det finns ett problem med mekaniska kodare, och det är på grund av att anslutningen är aldrig perfekt. Du kan ha små spikar när du ansluter och kopplar från, och Arduino kommer också upptäcka dem och ge oss fel avläsningar. En enkel lösning är att lägga två 100nF kondensatorer mellan våra A- och B utgångar och marken.

Se Steg
Relaterade Ämnen

Arduino MIDI-controller med en ZX avstånd och gest Sensor

Välkommen till detta instructable om hur man bygger en mycket grundläggande MIDI-Controller med SparkFun ZX avståndet och gest Sensor. Detta instructable är del av en skoluppgift.Obs: Detta är ingen kodning handledning. Den final koden kommer att ing...

Arduino MIDI-controller - techshop använder scarff boarduino

jag har tittat på ett antal olika arduino lösningar för MIDI. Mitt projekt omfattar över 100 analoga ingångar att varje känsla hastighet och ge MIDI-utgången. Med den bakgrunden info jag fick från techshop klass beslutat jag att ställa in det först m...

Arduino MIDI Controller

En MIDI-controller är någon utrustning som genererar och sänder MIDI-data till MIDI-aktiverade enheter. Kort sagt, om du har knappar på din MIDI-controller, kan du programmera dessa knappar till alla ljud du vill ha via musikaliska programvara (ex.:...

E-licktronic Arduino MIDI-controller

E-licktronic skapa 3 olika block att bygga din MIDI-hårdvaraMer information http://www.e-licktronic.com/en/...

Bygga en grundläggande MIDI-Controller del 1 - lätt 3 effekter Pot (Potentiometer) Arduino Uno MIDI-Controller (Serial-USB)... Snabb, enkel och billig!

Hej alla,Jag är relativt ny på Arduino och så har kämpat mitt sätt att göra min egen MIDI-controllers. Det finns en enorm mängd information runt om men jag kunde inte hitta en enkel handledning för sådan en enkel enhet; så här går.Min ursprungliga av...

Anpassade MIDI-Controller

Denna handledning visar hur man gör en egen MIDI-controller. (förutsätter erfarenhet med MIDI-controllers, enkla kretsar, enkla c kodning)Steg 1: Räkna ut vad styr du vill på din controllerHur många/vad delar vill du på handkontrollen?Vill du reglage...

Arcade-knappen MIDI-Controller

att ha en hårdvara gränssnitt till din favorit musik / DJ / VJ programvara kan verkligen öppna upp dörrar i din kreativitet. Mest utbredda form av hårdvara kontroll till datorn för sådana program är en MIDI controller.En MIDI-controller kan skicka oc...

Teensy Monster v1.0 / / DIY MIDI-Controller

Välkommen till Instructable Teensy Monster!Detta Instructable hjälper dig montera din Teensy Monster, förstå hur man kan programmera den och ge många tips för att bygga en stor DIY controller.teensymonster.ccKöp din Teensy Monster här.https://github....

Beatfly: Gör en lysande luftskepp och kontrollera den med din röst, tangentbord, MIDI-Controller, Garageband fil, iPhone, Flash och mycket mer! [Mac OSX]

Jag har arbetat med flera projekt med hjälp av luftskepp och ballonger, och här vill jag dela en av dem, Beatfly. Detta är en lysande luftskepp kontrolleras med olika gränssnitt såsom röst, tangentbord, MIDI-Controller, Garageband MIDI-fil, iPhone oc...

Rita själv - MIDI controller med ledande bläck

"Rita det själv" är en MIDI-controller som använder ledande bläck som knappar. Den bygger på Arduino, och använder en kapacitiv sensor (två, faktiskt) att avgöra huruvida ritade knapparna är beröring eller inte.http://sanidanz.tumblr.com/drawity...

Konvertera en räddade leksak till en MIDI-controller

i detta Instructable, jag kommer att gå igenom processen att konvertera ett räddade buller-making barnleksak till ett faktiskt användbara musikaliska instrument med MIDI! Ta en stund att bara kasta en blick över titlarna på stegen i detta Instructabl...

Arduino MIDI fot Pedal tangentbord

UrsprungMin pappa är en musiker. Han kan spela många olika instrument. Men han bara har två armar, men han har också ben! Det är när vi bestämde oss att vi vill återanvända pedaler från en gammal orgel och omvandla dem till en arduino powered MIDI-ke...

Sockerbit MIDI Controller

Detta projekt är en bärbar, Arduino-powered, grid-baserad MIDI-controller som startar upp till olika apps att göra massor av saker med ljud. Den har 16 bakgrundsbelysta knappar, används som både in- och utgångar för att ge registeransvarige lite visu...

MIDI-Controller med tangentbord

Idag bygger vi 400 nyckeln MIDI-controller med hjälp av en Arduino och dator tangentbord!För budget medvetna musik producenterna ute är detta projekt ett bra sätt att bygga en billig kontroll styrelse för din digital audio workstation.Eller om du bar...

Flamma kontrollerade MIDI-Controller

En stor fråga i världen av digital musikproduktion är att hålla det analog värme (som genljöd från rullbandspelare system och rör) i dagens moderna digitala musik. Många svär att analoga system har ett ljud som aldrig kan replikeras av bits, och hopp...

Arkad stil DJ MIDI-controller

>>> detta är inte helt klar ännu som jag spänt lite av banan. Jag ska uppdatera den instructable och ladda upp en video när det sorteras <<<Jag har varit DJ ungefär 10 år nu, och under de senaste har jag bytte bra gamla gammaldags vinyl...

Makey Makey MIDI-controller

Makey makey är en mikrokontroller som fungerar som ett tangentbord när den är ansluten till datorn. Jag omprogrammerade det så att den skickar MIDI-noter. Varför? Eftersom när du använder ett tangentbord till kontroll saker har fönstret du styr vara...

Gör din egen billiga USB-MIDI-Controller eller tangentbord

Jag letade efter en USB MIDI-controller-enheten (eller gränssnitt) för musikprogram som piano eller orgel tangentbord eller pedalboard. Efter en del forskning ville jag gå till en mer "hemlagad" lösning. Mitt val har äntligen varit inriktad på e...

BeatSauce - en Laptop Midi Controller Hybrid

Länge jag har velat bygga en egen MIDI-controller, och medan det är exakt en ny domänkontrollant jag gjorde andas nytt liv i några gamla hårdvara.Använder vissa delar som jag hade samlat och minimal fickpengar på nya jag lyckades bygga a... en... DJ...