xxxxxxxxxx
126
// Declare a "SerialPort" object
var serial;
var latestData = "waiting for data"; // you'll use this to write incoming data to the canvas
var data = 0;
var fanSpeed
var fanAngle
var output;
function setup() {
createCanvas(windowWidth, windowHeight);
// Instantiate our SerialPort object
// serial = new p5.SerialPort();
// serial.open("/dev/cu.usbmodem1421");
// serial.on('data', gotData);
//serial.on( 'list', printList);
angleMode(DEGREES);
var data = map(latestData, 0, 1023, 0, height);
//fanMovement();
fanSpeed = 100;
fanAngle = 90;
}
// for (var i=0; i<portList.length; i++) {
// var p < portList[i];
// print(p);
// if (p.indexOf('usbmodem') > -1 {
// print(p + " arduino port ");
// serial.open(p
//There is data available to work with from the serial port
function gotData() {
var currentString = serial.readLine(); // read the incoming string
//same as readStringUntil(‘\r\n’)
//splitting multiple serial commands
//var arrayOfValues = split(currentString,",")
//["103","508","832"]
// ellipse(arrayOfValues[0], 23, 23, 50)
if (arrayOfValues.length == 3) {
print("data looks good");
}
trim(currentString); // remove any trailing whitespace
if (!currentString) return; // if the string is empty, do no more
latestData = int(currentString); // save it for the draw method
if (currentString.length > 0){
print(currentString);
}
// console.log(latestData); // println the string
// var output = map(mouseX,0,width,0,255);
// serial.write(output);
// fanAngle = fanSpeed += 3;
// if (fanAngle > width) {
// fanAngle = 100
//}
// console.log(fanAngle);
serial.write(output);
}
function draw() {
background(70, 200, 110);
fill(0,0,0);
var data = map(latestData, 0, 1023, 0, height);
fill(random(data),0,random(data));
var degree = map(output, 0, 255, 180, 360);
//console.log(degree);
fill(0);
arc(width/2, height/2, 400, 400, 180, degree, PIE);
text(degree-180, width/2, height/1.8);
output = map(mouseX,0,windowWidth,0,255);
}
// function fanMovement()
// {
// fanAngle = mouseX;
// var output = map(fanAngle,0,width,0,255);
// serial.write(output);
// }