P5.js和Tone.js无法连接到Arduino

时间:2017-05-06 04:43:04

标签: serialization arduino p5.js

当我的arduino红色指示灯熄灭时,我无法使用p5显示图像和播放音频。我的arduino工作,我只是无法弄清楚当红色LED指示灯熄灭时如何弹出一个图像和播放音频。我的项目基本上是一个使用超声波传感器的运动传感器,如果有帮助的话。

感谢您的时间。

这是我的sketch.js代码:

function passValuesToInput(x){
alert(x.innerHTML);
document.getElementById("tbId").value = document.getElementById("sid").innerHTML;
document.getElementById("tbId").readOnly = true;
}

这是我的.ino代码:

var serial;          // variable to hold an instance of the serialport library
var portName = '/dev/cu.usbmodem1421';  // fill in your serial port name here
var synth;


function preload() {
  alert = loadImage('alert.jpeg');
}

function setup() {
  createCanvas(1920,1080);

  serial = new p5.SerialPort();       // make a new instance of the serialport 
library
  serial.on('list', printList);  // set a callback function for the serialport 
list event
  serial.on('connected', serverConnected); // callback for connecting to the 
server
  serial.on('open', portOpen);        // callback for the port opening
  serial.on('data', serialEvent);     // callback for when new data arrives
  serial.on('error', serialError);    // callback for errors
  serial.on('close', portClose);      // callback for the port closing

  serial.list();                      // list the serial ports
  serial.open(portName);              // open a serial port

  var synth = new Tone.Synth().toMaster();
  synth.triggerAttackRelease(440, 2);

  var player = new Tone.Player("IntruderAlert.mp4").toMaster();
//play as soon as the buffer is loaded
  player.autostart = true;
  player.playbackRate = 0.8;
}

function serverConnected() {
  println('connected to server.');
}

function portOpen() {
  println('the serial port opened.')
}

function serialEvent() {

}

function serialError(err) {
  println('Something went wrong with the serial port. ' + err);
}

function portClose() {
  println('The serial port closed.');
}

1 个答案:

答案 0 :(得分:1)

您必须break your problem down into smaller steps,然后一次接近这些步骤。

你能创建一个只显示图像的草图吗?暂时忘掉Arduino,只显示图像。现在,当用户点击屏幕时,您可以显示图像吗?

除此之外,您是否可以编写Arduino代码,只需在红灯熄灭时向草图发送消息?

如果你让那些独立工作,那么考虑将它们组合成一个结合了这两个想法的单个应用程序会更容易。

如果您遇到问题,请发布MCVE您坚持的具体步骤,我们将从那里开始。祝你好运。