xxxxxxxxxx
124
//https://itp.nyu.edu/physcomp/labs/labs-serial-communication/lab-serial-input-to-the-p5-js-ide/
//camera
let video;
let canvas;
let latestData;
//Arduino input
let serial;
let portName = 'COM4'// = fill in portname;
let inData;
//portselector
let portSelector;
function setup() {
canvas = createCanvas(400, 400);
canvas.id("canvas");
video = createCapture(VIDEO);
video.id("video");
video.size(width, height);
//arduino
serial = new p5.SerialPort();
serial.on('connected', serverConnected);
serial.on('open', portOpen);
serial.on('data', serialEvent);
serial.on('error', serialError);
serial.on('close', portClose);
//open serial port
serial.open(portName);
//finding portname
//serial.on('list', printList);
// serial.lost();
}
function draw() {
// text appearing
// serialEvent();
fill(color('white'))
rect(75, 75, 100, 40);
fill(color('black'))
if(latestData == 2 ){
text('no data', 100, 100);
console.log("no data")
} else if (latestData == 1){
console.log("you got data")
text('you got data', 100, 100);
}
}
function serialEvent(){
let currentString = Number(serial.read());
console.log(currentString)
//trim(currentString);
if(!currentString) return;
latestData = currentString;
// inData = Number(serial.read());
}
function serverConnected() {
console.log('connected to the server');
}
function portOpen(){
console.log('the serial port opened!');
}
//receive data
function serialEvent222(){
let inData;
inData = Number(serial.read());
console.log(inData);
}
function serialError(err){
console.log('port was closed');
}
function portClose() {
console.log('The serial port closed.');
}
//get list of ports
// function printList(portList){
// //portList is an array of serial port names
// for(let i = 0; i < portList.length; i++){
// print(i + " " + portList[i]);
// }
// }
function printList(portList) {
// create a select object:
portSelector = createSelect();
portSelector.position(10, 10);
// portList is an array of serial port names
for (var i = 0; i < portList.length; i++) {
// add this port name to the select object:
portSelector.option(portList[i]);
}
// set an event listener for when the port is changed:
portSelector.changed(mySelectEvent);
}
function mySelectEvent() {
let item = portSelector.value();
// if there's a port open, close it:
if (serial.serialport != null) {
serial.close();
}
// open the new port:
serial.open(item);
}