Skapa interaktiva elektroniska instrument med MaxMSP (6 / 7 steg)
Steg 6: Arduino och MaxMSP
Arduino är en öppen källkod mikrokontroller (liten dator) som används för massor av kreativa projekt och interaktiva installationer. Det är definitivt min favorit del av maskinvaran att arbeta med och hjärnan bakom många av mina egna projekt.
Jag skulle kunna skriva en annan Instructable om ämnet av Arduino och Max (och kanske kommer jag en dag), men för nu ska jag försöka sammanfatta vad jag vet i några punkter. Först av allt, finns det en växande lista av sätt att göra Arduino och Max prata på Arduino webbplats.
Min favorit alternativet för nybörjare är att läsa information från varje Arduino's Digital och Analog Pins med Arduino2Max (ladda ner det här). Detta är den absolut enklaste att komma igång med och inte kräver omfattande kunskap om Max eller Arduino (men känn dig fri att kolla in de andra om du behöver mer flexibilitet).
Det är lätt att ställa upp:
-Ladda ner Arduino2Max
-Hämta och öppna Arduino (om du vill veta mer om Arduino IDE och Arduino programmering, Läs avsnitt 1-3 av dessa tutorials)
-Anslut din Arduino till din dator via usb och öppna filen Arduino2Max .ino (från din Arduino2Max nedladdning) med programvaran Arduino
-Ladda upp programmet på din Arduino ombord (här är några tips ifall du fastnar)
-Sluta Arduino
-Öppna Max plåstret "Arduino2Max"
-Välj din Arduino ombord från rullgardinsmenyn (mine kallas usbmodemfa131)
-Klicka på knappen att starta
En gång kopplet, bör du se Arduino skicka analoga värden (mellan 0 och 1023) genom a0-a5 och digitala värden (på/av) genom d0-d13. Tråd upp vissa komponenter till Arduino. Försök ledningar upp analoga komponenter som potentiometrar och ljus känsliga motstånd till den Arduino analoga stift och digitala komponenter som knappar till Arduinos digitala ingångar. Sedan se vilken typ av effekt dessa komponenter har på utdata från Arduino2Max.
Precis som vi såg med kinect, kan du ta emot objekt om du vill dra in data från den Arduino stift i din Max lapp. Prova detta enkla patch, den använder information från stift A0 av arduino för att ange tonhöjden för en oscillator, och använder utdata från pin D7 för att utlösa anteckningar:
< code >
---begin_max5_patcher---
839.3ocyXEraiBCD8bxWgEZOr6prUXBPHqTOreGqppb.GhqL1QFSaZqZ + 1Wy
XnMoEHzrTRuPBic77l2L9M14woSbVI2QycP + F8WzjIONcxDvTogIUuOwIirK
lSxgo4rlKEEYNyrCY9JSvoZXL7qFkE5ZqdUV2RzwaXhzqUzXs0iyc8uvcFZN
1q7i.2xmdlmnqp9MrDvmxU27K7hZetVJzBRFEF5OJFg67hKTF6Zp5ZpfrhCy
vcueUN6AvF3OqYKP02ukZgTY7QzNyPNqHhTGzUkS6ooSKeLqmTTrLKiJz0nR
S2AwqSVAWy1xuGo2PQFGusPiVqjYHNSPQ2wzafQxYoBBG88hbJ5mO + CjVhhM
fWI4vvjrsbltHwrDqsqTdLiyIZop1ikqWrrP.t0uqT0ZU5JfkdgPNL441QxK
LXujG1l8BaK6Ed7r2ayPCHyCrbBKkoMDKSXHdmOKVwGXE + n8HkVKocO + jBwT
pIS+b4Dr6RX+cPO3j4iBkjQyyIoz2QItWX.qqaiDgWigMt8v1OZADvKg3N.C
uD0RovxOdb2lB1oIZ0NkDUxICCkTI32OJI5bSIB5cFf7NFgsF8MFFc4kHbo9
q.U1o.Q44fntG75f1eDG3Y2x30oZh+.xWyFXNC5vY1c4dAtQpY9IRMdKBg1N
y6jY79JvLzGRHwO + A1G0khpOHhNeATQT0xInknG6Lb4w36i4zmGFwfpfnRLv
FDskBGP4Q6wqFzp67XB2TdazI87MgfoN22DaMxRgmJKY0.vy6TC37KYVjshp
FF0u5HGu732NXjtb.S7ed0fVJfTHRycXcOwxkn41yl2EmEdtKVzxzTN8CTrb
7SVDgescP4ylh6f9TQzXpeXS4IKFlTdUnauxQ2ob7mUJGbFzk+M+YB.dKseH
CkKKTw0KUcOZzqXNglqYBhlIE6OoEGLoMrjDpXeNKgkWlHg.t46EzW7rrOvw
Pmly.9kBNiC6rnGvIZzPSTOPyxQCMg8.MiWcbPeJb7GM3f6Ugr23gmnuX3w+
. IkVvyxwEOGkeFus53d.mfSDM1dXjsaukpxqVR.Hl942HUub5cGSyZ6qPSYG
E8VV87g6w5PTldzZSC5BksC6tnPykvL94oo + CLsikUK
---end_max5_patcher---
Andra alternativ för att skicka meddelanden mellan Arduino och Max är:
-Skicka och ta emot MIDI med Arduino - när du får Arduino igång med MIDI, du kan använda notein och noteout för att skriva detta upp till Max. Här är några projekt som använder denna metod:
-seriell kommunikation via USB - jag brukar använda detta mycket i mina projekt. Seriell kommunikation är väldigt lik MIDI, men det finns inte några existerande protokoll att arbeta med (pitch, hastighet, etc), så att du kan konfigurera saker till vad som passar ditt projekt bäst. Kolla in det seriella objektet i Max om du är intresserad. Här är några projekt som jag har arbetat på som använder denna teknik: