This patch receives an ASCII-encoded decimal string that ends with a linefeed and carriage return in the serial port, and converts it to a number. A Wiring/Arduino program to send data to it follows. It’s based on an example by Jamie Allen.
To use the patch, copy the text and paste it into a new max patch window.
Thanks to David Mellis and Jamie Allen for the collaboration. These patches were written for a one-day Arduino workshop at NIME 07 hosted by the three of us. The Arduino program comes from the Arduino example files, by David Mellis.
max v2; #N vpatcher 275 262 515 549; #P window setfont "Sans Serif" 9.; #P number 108 244 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 108 223 62 196617 fromsymbol; #B color 5; #P newex 108 200 40 196617 itoa; #B color 5; #P newex 108 177 55 196617 zl group 4; #P newex 52 139 67 196617 select 10 13; #P toggle 52 46 15 0; #P newex 52 68 52 196617 metro 10; #P message 87 90 32 196617 print; #P newex 52 115 71 196617 serial a 9600; #P connect 3 0 2 0; #P fasten 1 0 0 0 92 110 57 110; #P connect 2 0 0 0; #P connect 0 0 4 0; #P fasten 4 2 5 0 113 180 113 180; #P fasten 4 0 5 0 57 168 113 168; #P connect 5 0 6 0; #P connect 6 0 7 0; #P connect 7 0 8 0; #P pop;
Wiring/Arduino program to send data:
void setup() { Serial.begin(9600); }void loop() { int val = analogRead(0); Serial.println(val, DEC); delay(100); }