Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Serialization P5.js和Tone.js可以';t连接到Arduino_Serialization_Arduino_P5.js - Fatal编程技术网

Serialization P5.js和Tone.js可以';t连接到Arduino

Serialization P5.js和Tone.js可以';t连接到Arduino,serialization,arduino,p5.js,Serialization,Arduino,P5.js,当我的arduino红色led熄灭时,我无法使用p5显示图像和播放音频。我的arduino工作正常,我只是不知道如何在红色led熄灭时弹出图像并播放音频。我的项目基本上是一个使用超声波传感器的运动传感器,如果这有帮助的话 谢谢你抽出时间 下面是我的sketch.js代码: var serial; // variable to hold an instance of the serialport library var portName = '/dev/cu.usbmodem14

当我的arduino红色led熄灭时,我无法使用p5显示图像和播放音频。我的arduino工作正常,我只是不知道如何在红色led熄灭时弹出图像并播放音频。我的项目基本上是一个使用超声波传感器的运动传感器,如果这有帮助的话

谢谢你抽出时间

下面是我的sketch.js代码:

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.');
}
这是我的.ino代码:

#define trigPin 6<br>#define echoPin 7
#define GreenLED 11
#define YellowLED 10
#define RedLED 9
#define buzzer 3

int sound = 500;


void setup() {
  Serial.begin (9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(GreenLED, OUTPUT);
  pinMode(YellowLED, OUTPUT);
  pinMode(RedLED, OUTPUT);
  pinMode(buzzer, OUTPUT);
}

void loop() {
  long duration, distance;
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = (duration/5) / 29.1;

  if (distance < 50) {
      digitalWrite(GreenLED, HIGH);
}
  else {
      digitalWrite(GreenLED, LOW);
  }

  if (distance < 20) {
    digitalWrite(YellowLED, HIGH);
}
  else {
    digitalWrite(YellowLED,LOW);
  }

  if (distance < 5) {
   digitalWrite(RedLED, HIGH);
   sound = 1000;
}
 else {
   digitalWrite(RedLED,LOW);
 }

 if (distance > 5 || distance <= 0){
   Serial.println("Out of range");
   noTone(buzzer);
 }
 else {
   Serial.print(distance);
   Serial.println(" cm");
   tone(buzzer, sound);

 }
 delay(300);
}
#定义trigPin 6
#定义echoPin 7 #定义绿色11 #定义黄色10 #定义红色9 #定义蜂鸣器3 int sound=500; 无效设置(){ Serial.begin(9600); 引脚模式(trigPin,输出); pinMode(echoPin,输入); 引脚模式(绿色LED,输出); 引脚模式(黄色LED,输出); 引脚模式(红色LED,输出); pinMode(蜂鸣器,输出); } void循环(){ 长时间、远距离; 数字写入(trigPin,低电平); 延迟微秒(2); 数字写入(trigPin,高); 延迟微秒(10); 数字写入(trigPin,低电平); 持续时间=脉冲强度(echoPin,高); 距离=(持续时间/5)/29.1; 如果(距离<50){ 数码写入(绿色,高); } 否则{ 数码写入(绿色,低电平); } 如果(距离<20){ 数码写入(黄色,高); } 否则{ 数码写入(黄色,低电平); } 如果(距离<5){ 数字写入(红色,高); 声音=1000; } 否则{ 数字写入(红色,低电平); } 如果(距离>5 | |距离你必须这样做,然后一步一步地接近这些步骤

你能创建一个只显示图像的草图吗?先别管Arduino,只显示一个图像。现在当用户点击屏幕时,你能显示一个图像吗

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

当你让它们独立工作时,你就会更容易考虑将它们组合成一个结合了这两种思想的应用程序

如果你被卡住了,请发布你被卡住的具体步骤,我们将从那里开始。祝你好运