Go Down

Topic: arduino, RFID, utiliser Processing pour jouer des video (Read 340 times) previous topic - next topic

jozeffar

Bonjours! J'essai de faire ce code fonctionner pour jouer un video avec l'aide d'un RFID. Mais quand je click play sur processing un ecran noir apparrait, ensuite quand je passe la carte devant le RFID rien se passe sur l'ecran. C'est ou l'erreur? Merci.


CODE ARDUINO

//librairies à télécharger et/ou déjà disponible
#include <SoftwareSerial.h>
#include <SPI.h>
#include <MFRC522.h>

#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);  // Create MFRC522 instance.

#define PAGE_SIZE 64

// Variables de détection
int noCardSeuil = 1; // Seuil
int noCardCount = 0;
boolean cardState = false;         // current state of the button
boolean lastCardState = false;     // previous state of the button

void setup() {
  Serial.begin (9600);
  SPI.begin();           // MFRC522 Hardware uses SPI protocol
  mfrc522.PCD_Init(); // initialisation du module RFID
  delay(1);   
}

void loop() {
 
  //Compteur : si c'est true (0 ou 1)
  // Si c'est false : compteur continue
  if (mfrc522.PICC_IsNewCardPresent()) {
    noCardCount = 0;
  }else{
    noCardCount++;
  }
 
////    for (byte i = 0 ; i <  16 ; i++){
////    Serial.println("byteinfo ");
////    Serial.print("    ");
////    Serial.println(mfrc522.uid.uidByte[1]);
  // Etats : Présent / Pas présent
  if (noCardCount <= noCardSeuil) cardState = true;
  else cardState = false;



  // Lecture / Stop
  if (cardState != lastCardState) {
    if (cardState) {
      //Serial.println("Present");
      //Serial.println(valeurdelacarte);
      // Identification
      mfrc522.PICC_ReadCardSerial();
      if(mfrc522.uid.uidByte[1] == 142){ //valeur à changer
        //CHIFFRE 1 byte (valeur/num. hexadécimal de la puce rfid);
        // exemple num. hexa 136.4.22(le num. important).230.124 (puce marron tordu)
        Serial.print("A");
     }

     if(mfrc522.uid.uidByte[1] == 82){ //valeur à changer
      //exemple num. hexa 136.4.82.230.56 (puce marron normal)
      Serial.print("B");
     }

     if(mfrc522.uid.uidByte[1] == 172){ //valeur à changer
     //exemple num. hexa 136.4.172.207.239 (puce blanche)
     Serial.print("C");
     } 
}
  }

  lastCardState = cardState ;
}


CODE PROCESSING

//d'abord chose importante, glisse ton/tes fichier(s) audio et vidéo dans la fenêtre
//une fois glisser les fichiers dans la fenêtre, ça va créer un dossier "data" à côté de ton fichier processing

import processing.video.*;
//librairie importante à télécharger (sketch > importer une librairie > ajouter une librairie puis écrire "video"
Movie test; //nom variable/attribut = amour


//import processing.sound.*; //importer librairie son
//SoundFile facebook;//nom variable/attribut = facebook

//import serial port
import processing.serial.*;

Serial myPort;  // Create object from Serial class
int val;      // Data received from the serial port


void setup(){
  //size(1020, 695);//taille de l'affichage pour écran macbook pro 13 pouces
  size(1280, 695);
  background(0);//fond de la fenêtre une fois affichée = noir
  //importer vidéo
  test = new Movie(this, "SCL_contest.mp4"); //importation de la vidéo...
  frameRate(200); //nombre d'image par seconde
 
  //importer son
 //facebook = new SoundFile(this, "facebook.mp3");
 
  String portName = Serial.list()[5];// va chercher/voir dans le port 0 = peut être modifié (1,2,3,...)
  myPort = new Serial(this, "/dev/cu.usbmodem1421", 9600);//9600 doit être pareil que dans le fichier arduino sinon ne marche pas
}

void draw(){
 
  if ( myPort.available() > 0) {  // If data is available,
    val = myPort.read();         // read it and store it in val
    }
  if (val == 142){ //si processing trouve la valeur ... donc A dans arduino
    test.loop(); //moi = (nom variable) est joué en boucle
    //facebook.loop();//facebook = (nom variable) est joué en boucle
    image(test, 0, 0, width, height); //la vidéo à la même taille que la fenêtre d'affichage size(1280, 695);
    }
}

void movieEvent(Movie m){
  if (m == test){//afficher la vidéo
  test.read();
  }
}

J-M-L

corrigez votre post ci dessus et rajoutez les code tags autour du code:
[code] // votre code ici [/code].

ça doit ressembler à cela:
Code: [Select]
// votre code ici
(faites aussi ctrl-T (PC) or cmd-T (Mac) dans l'IDE avant de copier le code pour qu'il soit indenté correctement)


--> votre code est en italique.... ça veut dire que quelque part vous avez un [i] qui a été interprété comme étant un demande de mise en italique du texte par le logiciel du forum... --> on ne peut pas lire votre code
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

Go Up