Created
October 14, 2015 19:41
-
-
Save danaabs/7a46fce0eba2535c8327 to your computer and use it in GitHub Desktop.
ITP Emotional Swings
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var serial; | |
var portName = '/dev/cu.usbmodemfd121'; | |
var inData; | |
var PosX = 0; | |
var rainbow; | |
var volume = 0; | |
var sad; | |
var clown; | |
var happy; | |
function preload() { | |
rainbow = loadImage("bullshit.png"); | |
sad = loadImage("sad.png"); | |
happy = loadSound('happy.mp3'); | |
clown = loadSound('clown.mp3'); | |
} | |
function setup() { | |
createCanvas(1200, 600); | |
happy.setVolume(0.8); | |
clown.setVolume(0.8); | |
clown.play(); | |
happy.play(); | |
frameRate(10); | |
serial = new p5.SerialPort(); //new instance of lib | |
serial.on('list', printList); //set a callback fn | |
serial.on('connected', serverConnected); //callback for connecting | |
serial.on('open', portOpen); | |
serial.on('data', serialEvent); //callback for new data | |
serial.on('error', serialError); | |
serial.on('close', portClose); | |
serial.list(); //list the serial ports | |
serial.open(portName); | |
} | |
function printList(portList) { | |
//portList is an array of serial port names | |
for(var i = 0; i < portList.length; i++) { | |
//dsiplay the list in the console | |
println(i + " " + portList[i]); | |
} | |
} | |
function serverConnected() { | |
println('connected to server.'); | |
} | |
function portOpen() { | |
println('the serial port opened.') | |
} | |
function serialEvent() { | |
inData = Number(serial.read()); | |
} | |
function serialError(err) { | |
println('Something went wrong with the serial port. ' + err); | |
} | |
function portClose() { | |
println('The serial port closed.'); | |
} | |
function draw() { | |
background(255); | |
fill(random(0, 255), 200, 000); | |
noStroke(); | |
image(rainbow, 300, inData*2.5, 480, 300); | |
image(sad, 450, -400 + inData*2, 200, 190); | |
ellipse(random(0,300), random(0, 600), inData, inData); | |
ellipse(random(780, 1200), random(0, 600), inData, inData); | |
fill(random(0, 255), 0, 200); | |
ellipse(random(0,300), random(0, 600), inData, inData); | |
ellipse(random(780, 1200), random(0, 600), inData*2, inData*2); | |
textSize(40); | |
textWidth(10); | |
textStyle(BOLD); | |
text("ITP!", random(0, 900), random(0, 600), 100, 100); | |
if (inData < 120 && clown.isPlaying()) { | |
clown.pause(); | |
} | |
if (inData > 120 && happy.isPlaying()) { | |
happy.pause(); | |
} | |
if (inData > 120 && !clown.isPlaying()) { | |
clown.play(); | |
} | |
if (inData < 120 && !happy.isPlaying()) { | |
happy.play(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment