Rita själv - MIDI controller med ledande bläck (4 / 6 steg)
Steg 4: Arduino
Detta är en kort förklaring om komponenterna Arduino använder och kommunicerar med. Du kan också hitta en bild på schematiskt av hela kretsen. Den schematiska filen fästas också, det är en Fritzing fil. Jag brukade Fritzing programvaran endast dra schematiskt och sedan lödas jag det för hand. Du kan öppna den för att se schematiskt med mer i detalj.
Den huvudsakliga styrenhet som jag använder för att hantera sensorerna och skicka MIDI till min dator är Arduino. Förmodligen, om du läser detta, har du någon kunskap om det. Om inte, du bör bekanta dig med det på din egen, som några grundläggande kunskap för att följa detta steg. Du kan lära dig allt om Arduino på deras hemsida: det är fullt av tutorials och olika projekt görs av användare: http://arduino.cc/
Arduinoen kommunikationen mellan MPR121 är kapacitiv sensor I2C meddelande. Det är en 2-line seriell kommunikationsbuss: en datalinje och en klocka. Arduino har redan ett bibliotek att göra denna typ av buss lätt att använda. Det kallas Wire biblioteket. Här hittar du alla de kommandon du behöver använda denna typ av kommunikation: http://arduino.cc/en/pmwiki.php?n=Reference/Wire. Hur informationen delas mellan Arduino och sensorn kommer att förklaras i nästa steg.
Jag använder en LCD-skärm, en kodare och knappar för att styra Arduino. Knapparna och kodare är lätt att använda, du bör kunna enkelt hitta några tutorials om det på arduino webbplats, om du fortfarande inte vet hur man gör. Sättet att ansluta en LCD-skärm till Arduino, och hur man visualisera texten med hjälp av flytande kristaller biblioteket, är mycket enkel och förklaras här: http://arduino.cc/en/pmwiki.php?n=Tutorial/LiquidCrystal
Som jag förklarade tidigare, använder jag arduino EEPROM minne för att spara touch/release tröskelvärdena i varje stift i varje annan mall. Och igen, Arduino har ett specifikt bibliotek för dess EEPROM minne, vilket gör det mycket lätt att använda. Följ instruktionerna här för att lära sig att skriva värdena på EEPROM och läsa dem senare:
http://Arduino.cc/en/pmwiki.php?n=reference/EEPROM
Och slutligen det viktigaste steget: hur du använder Arduino som en MIDI-controller. Arduino har ett specifikt bibliotek för MIDI också: http://playground.arduino.cc/Main/MIDILibrary
Du kan inkludera MIDI-meddelanden i en Arduino skiss och ladda upp den, men problemet är att de program som använder MIDI (som Ableton Live eller någon annan DAW) inte kommer att erkänna din Arduino, så du måste använda ett annat program som en bro mellan Arduino och värdprogrammet.
Det finns en lösning på detta: HIDUINO. Fråga mig inte om hur det fungerar, men såvitt jag vet, i princip en ny firmware laddas i det Atmega 16u2 chip som Arduino använder. Detta gör att Arduino inte är en Arduino längre: det blir ett USB-MIDI-controller, och därför är erkänns som alla andra MIDI controller av dina värdprogram. Nackdelen med detta är att du inte kan ladda nya skissade medan HIDUINO firmware laddas. Mer info här:
Om du inte har en ISP programmerare, bör du lära dig hur du sätter din Arduino till en MIDI-enhet här:
https://github.com/ddiakopoulos/hiduino/wiki/HIDUINO-via-DFU-Method