2017-05-06 4 views
0

Je n'arrive pas à afficher une image et à lire de l'audio avec p5 lorsque la led rouge arduino s'éteint. Mon arduino fonctionne, je n'arrive pas à comprendre comment faire apparaître une image et l'audio à jouer quand la LED rouge s'éteint. Mon projet est fondamentalement un capteur de mouvement utilisant un capteur à ultrasons, si cela peut aider.P5.js et Tone.js Impossible de se connecter à Arduino

Nous vous remercions de votre temps.

Voici mon code 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.'); 
} 

Voici mon code .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); 
} 

Répondre

1

Vous allez devoir break your problem down into smaller steps puis approcher ces étapes une à la fois. Pouvez-vous créer une esquisse qui montre juste une image?

Oubliez l'Arduino une seconde et affichez simplement une image. Maintenant pouvez-vous afficher une image lorsque l'utilisateur clique sur l'écran? En dehors de cela, pouvez-vous écrire un code Arduino qui envoie simplement un message à un croquis lorsque le voyant rouge s'éteint? Si vous travaillez de manière indépendante, il sera beaucoup plus facile de penser à les combiner en une seule application combinant les deux idées.

Si vous êtes bloqué, veuillez poster un MCVE de l'étape spécifique sur laquelle vous êtes bloqué, et nous allons partir de là. Bonne chance.