Exercise 1
function draw() {
background(250, 200, 152);
if (!serialActive) {
print("Press Space Bar to select Serial Port", 20, 30);
} else {
print("Connected");
// ellipse
noStroke();
fill(255, 0, 0);
ellipse(map(rVal, 0, 1023, 0, width), height / 2, 100, 50);
}
}
function draw() {
background(250, 200, 152);
if (!serialActive) {
print("Press Space Bar to select Serial Port", 20, 30);
} else {
print("Connected");
// ellipse
noStroke();
fill(255, 0, 0);
ellipse(map(rVal, 0, 1023, 0, width), height / 2, 100, 50);
}
}
function draw() { background(250, 200, 152); if (!serialActive) { print("Press Space Bar to select Serial Port", 20, 30); } else { print("Connected"); // ellipse noStroke(); fill(255, 0, 0); ellipse(map(rVal, 0, 1023, 0, width), height / 2, 100, 50); } }
Link to the sketch: Sketch Exercise 1
Exercise 2
function draw() {
background(250, 200, 152);
if (!serialActive) {
print("Press Space Bar to select Serial Port");
} else {
print("Connected");
brightness = Math.floor(map(rVal, 0, 1023, 0,255));
right = Math.floor(brightness);
}
}
function draw() {
background(250, 200, 152);
if (!serialActive) {
print("Press Space Bar to select Serial Port");
} else {
print("Connected");
brightness = Math.floor(map(rVal, 0, 1023, 0,255));
right = Math.floor(brightness);
}
}
function draw() { background(250, 200, 152); if (!serialActive) { print("Press Space Bar to select Serial Port"); } else { print("Connected"); brightness = Math.floor(map(rVal, 0, 1023, 0,255)); right = Math.floor(brightness); } }
The only change in Arduino code I made was using analogWrite instead of digitalWrite.
Link to the sketch: Sketch Exercise 2
Exercise 3
function draw() {
background(250,200,152);
if (!serialActive) {
print("Press Space Bar to select Serial Port");
} else {
if (state == 1){
applyForce(wind);
applyForce(gravity);
velocity.add(acceleration);
velocity.mult(drag);
position.add(velocity);
acceleration.mult(0);
ellipse(position.x,position.y,mass,mass);
if (position.y > height-mass/2) {
velocity.y *= -0.9; // A little dampening when hitting the bottom
position.y = height - mass/2;
}
if (position.y >= height - mass/2 - 5) {
left = 1;
} else {
left = 0;
}
wind.x = map(rVal, 0, 1023, -1, 1)
}
}
}
function draw() {
background(250,200,152);
if (!serialActive) {
print("Press Space Bar to select Serial Port");
} else {
if (state == 1){
applyForce(wind);
applyForce(gravity);
velocity.add(acceleration);
velocity.mult(drag);
position.add(velocity);
acceleration.mult(0);
ellipse(position.x,position.y,mass,mass);
if (position.y > height-mass/2) {
velocity.y *= -0.9; // A little dampening when hitting the bottom
position.y = height - mass/2;
}
if (position.y >= height - mass/2 - 5) {
left = 1;
} else {
left = 0;
}
wind.x = map(rVal, 0, 1023, -1, 1)
}
}
}
function draw() { background(250,200,152); if (!serialActive) { print("Press Space Bar to select Serial Port"); } else { if (state == 1){ applyForce(wind); applyForce(gravity); velocity.add(acceleration); velocity.mult(drag); position.add(velocity); acceleration.mult(0); ellipse(position.x,position.y,mass,mass); if (position.y > height-mass/2) { velocity.y *= -0.9; // A little dampening when hitting the bottom position.y = height - mass/2; } if (position.y >= height - mass/2 - 5) { left = 1; } else { left = 0; } wind.x = map(rVal, 0, 1023, -1, 1) } } }
For this sketch, I used the state machine to allow the Arduino to load before the ball starts to fall. Otherwise, the LEDs wouldn’t work properly.
Link to the sketch: Sketch Exercise 3
Video demonstration: VIDEO