Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2014-01-31 19:14:38 Photoresistance, Arduino, lancement de vidéo

TodZ
nouveau membre
Date d'inscription: 2014-01-31
Messages: 2

Photoresistance, Arduino, lancement de vidéo



Bonjour à tous smile,

Déja dans un premier temps merci de prendre la peine de me lire et peut-être de m'aider.

je suis en train de concevoir une installation autour de la lumière. L'idée est de confronter une personne à un rétroprojecteur le tout dans un brouillard artificiel afin de décomposer les faisceaux.

Afin de rendre l'expérience plus interactive je voulait créer un système de photoresistance capable si l'a personne se saisissant d'un miroir et orientant les faisceau dans sa direction de lancer un nouveau contenue au niveau du vidéo projecteur.

Je ne vous ai pas perdu ? big_smile

en simple:

vidéo projecteur --> faisceau --> humain --> miroir --> faisceau --> photorésistance --> vidéo projecteur
cool

Alors j 'ai cherché je suis d'ailleurs tombé sur un article de ce forum: http://codelab.fr/2449

Et j'y ai donc repris quelque morceau:

Voici mon code afin de récupérer le signale de ma résistance:

void setup()
{
Serial.begin(9600)
}
void loop()
{
Serial.print( analogRead(A0) );
Serial.printIn("");
delay( 500 )
}

Donc d'après ce code je recois les variations de ma photoresistance.

La question est la suivant et je vous previens je n'y connais pas grand chose.

Comment dire à processing que quand une valeur égale a une certaine valeur de lumière ex: 285 processing doit lire telle vidéo a telle endroit.

En cherchant j'ai trouvé ceci:

import processing.video.*;
Movie myMovie;

void setup() {
  size(200, 200);
  myMovie = new Movie(this, "totoro.mov");
  myMovie.loop();
}

void draw() {
  tint(255, 20);
  image(myMovie, mouseX, mouseY);
}

// Called every time a new frame is available to read
void movieEvent(Movie m) {
  m.read();
}

Mais je ne comprend pas clairement comment faire le lien et je n'arrive pas a joindre les deux bout.

je vous demande donc votre aide par pitié ! roll

et remercie tout ceux qui on pris la peine de lire big_smile

Merci encore

Hors ligne

 

#2 2014-01-31 19:49:02 Re : Photoresistance, Arduino, lancement de vidéo

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: Photoresistance, Arduino, lancement de vidéo



Bonjour,

Afin de faciliter ta prise en main, je te recommande d'utiliser Firmata pour lire directement les valeurs des photo-résistances dans Processing.
http://playground.arduino.cc/Interfacing/Processing
Il faut charger Firmata dans l'Arduino.
- Ouvrir l'IDE Arduino
- Ouvrir le fichier StandardFirmata qui se situe dans le répertoire Exemples/Firmata
- Téléverser le fichier dans l'arduino

Dans la dernière version de Processing
Ajouter la librairie Arduino :
- Sketch/Import librairies/Add librairy
- Taper Arduino dans le champs de recherche
- Cliquer sur Install

Ensuite ouvrir l'exemple arduino_input qui se trouve dans le répertoire Contributed Librairies / Arduino

En branchant la photorésistante tu verras la taille d'un cercle varier.

Tu as tous les éléments pour réaliser ton installation.

Bon courage.

Hors ligne

 

#3 2014-02-01 23:59:49 Re : Photoresistance, Arduino, lancement de vidéo

FM64
membre
Lieu: Paris 19
Date d'inscription: 2013-10-10
Messages: 18
Site web

Re: Photoresistance, Arduino, lancement de vidéo



Salut TodZ,
Pour la partie déclenchement de vidéo, le schéma que je te conseillerais pour pas trop te compliquer la vie ce serait de détecter de manière binaire la valeur renvoyée par ton capteur (lumière/pas de lumière), à chaque détection de "lumière" tu pourrais déclencher une petite fonction qui irait chercher un fichier aléatoirement dans un dossier contenant toutes tes vidéos.
C'est très simple à mettre en oeuvre, poste-nous la base de ton code processing si tu veux de l'aide un peu plus concrète wink

Hors ligne

 

#4 2014-02-03 04:11:37 Re : Photoresistance, Arduino, lancement de vidéo

fabrice54
membre
Date d'inscription: 2012-06-07
Messages: 242

Re: Photoresistance, Arduino, lancement de vidéo



bonjour

tu fais comme Muhussu t'as expliquez pour le firmata dans arduino et ensuite tu rentre ce genre de code pour traiter la valeur qui viens de ta photo résistance maintenemt pour lire tes vidéos tu mes tes ruptures de sequences dans les if(va lire ect)

Code (P) :

import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
void setup() {
  size(470, 200);
  println(Arduino.list());
  arduino = new Arduino(this, Arduino.list()[0], 57600);
 
}
  void draw() {
float val= arduino.analogRead(0);
 if(val==285)
 {
   va lire ce que tu veux// ici
    
  }
  if(val>300)
  { lis ou tu veux}
  }

Hors ligne

 

#5 2014-02-05 17:50:31 Re : Photoresistance, Arduino, lancement de vidéo

TodZ
nouveau membre
Date d'inscription: 2014-01-31
Messages: 2

Re: Photoresistance, Arduino, lancement de vidéo



Merci pour votre aide je suis actuellement dessus.

Alors j'ai bien branché ma Photoresistance sur le port analogique 0  (A0) cependant je présume que je dois changer pas mal de truc dans le Fichier Firmata mais quoi?

J'ai correctement activé COM5 mais j'obtient un drôle de rendu  hmm
(


Je vous transmet l'image de ce que je recoit comme informations

http://img11.hostingpics.net/pics/779190Capture.png
Y a t il quelque chose a faire ? car dans ce cas la je n'obtient aucune valeur numérique ... :

Hors ligne

 

#6 2014-02-05 19:36:58 Re : Photoresistance, Arduino, lancement de vidéo

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: Photoresistance, Arduino, lancement de vidéo



Une fois que Firmata est dans l'Arduino tu n'as plus à intervenir dedans. Tu nous montres la transmission série qui se produit.
Ferme l'IDE Arduino et ouvre l'IDE Processing et copie le code ci-dessous :

iimport processing.serial.*;
import cc.arduino.*;

Arduino arduino;
int seuil;

void setup() {
  size(400, 400);
  println(Arduino.list());
  arduino = new Arduino(this, Arduino.list()[0], 57600);
  arduino.pinMode(0, Arduino.INPUT);
  rectMode(CENTER);
  seuil = 300;
}

void draw() {
  background(255);
  if (arduino.analogRead(0) >= seuil) {
    fill(255, 0, 0);
  } 
  else {
    fill(255);
  }
  rect(width / 2, height / 2, 100, 100);
}

Comme tu sembles fonctionner sous Windows, je ne sais pas comment sont géré les ports série. Mais une liste doit apparaître dans la console Processing et il faut modifier la ligne :
arduino = new Arduino(this, Arduino.list()[0], 57600);
Et lui mettre le bon numéro (changer le 0 actuel par la valeur adéquate)

Si tu ne rencontre pas d'erreur lorsque tu lances le sketch, tu devrais voir le carré changer de couleur en fonction de la luminosité.
Change la valeur du seuil si nécessaire.

Bon courage.

Hors ligne

 

#7 2014-02-06 03:50:51 Re : Photoresistance, Arduino, lancement de vidéo

fabrice54
membre
Date d'inscription: 2012-06-07
Messages: 242

Re: Photoresistance, Arduino, lancement de vidéo



bonjour


l'erreur vient de la vitesse de transmission ;assure toi que la vitesse de transmission soit identique dans arduino et dans processing.si tu as téléchargé firmata standard dans arduino la vitesse doit être  a 57600.Tu dois donc mettre la même vitesse dans processing.
arduino = new Arduino(this, Arduino.list()[0], 57600);

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024