Code Processing :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | import apsync.*; import apsync.*; import processing.serial.*; AP_Sync streamer; public int pot_1_val; public int pot_2_val; String shape = "52.97880172729492:1.2885199785232544/49.5:0/46.02119827270508:1.2885199785232544/44.66510009765625:5.32213020324707/46.02119827270508:11.148500442504883/46.02119827270508:14.50979995727539/37:18.431400299072266/40.89149856567383:30.98040008544922/42.18870162963867:38.207298278808594/39.2406005859375:53.55739974975586/43.07310104370117:71.31649780273438/41.65800094604492:82.96920013427734/45.66749954223633:94.3416976928711/42.42449951171875:98.31929779052734/42.42449951171875:100/56.57550048828125:100/56.57550048828125:98.31929779052734/53.33250045776367:94.3416976928711/57.34199905395508:82.96920013427734/55.92689895629883:71.31649780273438/59.7593994140625:53.55739974975586/56.81129837036133:38.207298278808594/58.10850143432617:30.98040008544922/62:18.431400299072266/52.97880172729492:14.50979995727539/52.97880172729492:11.148500442504883/54.33489990234375:5.32213020324707/"; ArrayList<PVector> points = new ArrayList<PVector>(); float angle_offset = 0; void setup(){ size(420,420); String[] p_data = shape.split("/"); for(String p_d : p_data){ String[] p_s = p_d.split(":"); float x = Float.parseFloat(p_s[0]); float y = Float.parseFloat(p_s[1]); x = map(x,0,100,0,width); y = map(y,0,100,0,height); points.add(new PVector(x,y)); } streamer = new AP_Sync(this, "/dev/cu.usbserial-A6027L36", 9600); // Stump out an instance of APsync fill(0); noStroke(); rectMode(CENTER); } void draw(){ float t = millis()* 0.001; float angle_target = map(pot_1_val,0,1023,0,TWO_PI); float intensity = floor(map(pot_2_val,0,1023,1,width)); background(255); angle_offset += (angle_target-angle_offset) * 0.1; beginShape(); for(int i = 0; i < points.size(); i++){ PVector pos = points.get(i).copy(); PVector n = PVector.fromAngle(angle_offset+noise(i)*TWO_PI); n.setMag(intensity); pos.add(n); vertex(pos.x,pos.y); } endShape(CLOSE); } |
Code Arduino :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <AP_Sync.h> AP_Sync streamer(Serial); int pot_1_pin = 0; int pot_2_pin = 1; void setup() { Serial.begin(9600); } void loop() { int pot_1_val = analogRead(pot_1_pin); int pot_2_val = analogRead(pot_2_pin); streamer.sync("pot_1_val",pot_1_val); streamer.sync("pot_2_val",pot_2_val); } |

