Aller au contenu
TONER KEBAB WIKI
Outils pour utilisateurs
S'identifier
Outils du site
Rechercher
Outils
Afficher la page
Anciennes révisions
Exportation ODT
Liens de retour
Derniers changements
Gestionnaire Multimédia
Plan du site
S'identifier
>
Derniers changements
Gestionnaire Multimédia
Plan du site
Piste:
wiki:projets:fortune-teller-2.0:accueil
====== Fortune Teller 2.0 ====== * Porteuse du projet : Gaëlle Choquet * Date : 2019 * Contexte : [[wiki:projets:arduino-2019:accueil|Projet Arduino]] ---- ==== Description ==== À l'aide du capteur d'ultrason et de Processing, ce projet vise à simuler une boule de cristal, actualisée, permettant de lire l'avenir. Ainsi, lorsque l'on passe notre main à moins de 10 cm de ce capteur, on voit s'afficher de quoi sera fait notre avenir à l'écran, à l'image d'une boule de cristal que l'on effleure des mains afin de faire apparaître notre prédiction. {{:wiki:projets:arduino-gaellechoquet:voyage.gif|}} {{:wiki:projets:arduino-gaellechoquet:fortune_teller.jpg|}} * En vérité, 10 vidéos initialisées dans un tableau sur Processing, prédisant chacune un destin (cités ci-dessus), optimiste ou pessimiste. L'une d'elles est alors lue aléatoirement si le capteur détecte une présence à moins de 5 cm. Cela permet ainsi d'imiter les différents présages pouvant être lus par une boule de cristal. ---- ==== Capteur ==== * Capteur utilisé : [[http://wiki.seeedstudio.com/Grove-Ultrasonic_Ranger/|Grove - Ultrasonic ranger]] ---- ==== Schéma ==== {{:wiki:projets:arduino-gaellechoquet:schema.jpg|}} ---- ==== Programme Arduino ==== <code> //Fortune Teller 2.0 //librairies #include "Ultrasonic.h" // Ultrasonic ultrasonic(2); void setup() { Serial.begin(9600); } void loop() { long RangeInInches; long RangeInCentimeters; RangeInCentimeters = ultrasonic.MeasureInCentimeters(); // two measurements should keep an interval Serial.write(RangeInCentimeters);//0~400cm //Serial.println(" cm"); delay(250); } </code> ==== Programme Processing ==== <code> // Fortune Teller 2.0 // librairies import processing.video.*; import processing.serial.*; String[]vid = {"alliance.mp4", "amour.mp4", "argent.mp4", "celebrite.mp4", "depart.mp4", "mort.mp4", "naissance.mp4", "rupture.mp4", "victoire.mp4", "voyage.mp4"}; // variables globales PImage bg; // image Movie movie; // vidéo //communication série Serial myPort; //création objet depuis Serial class float val; // donnée reçues depuis le Serial port // bouton video active ? boolean video_active = false; void setup() { size(700, 700); bg = loadImage("crystalball.jpg"); frameRate (24); movie = new Movie(this, vid[int(random(10))]); //initialisation du port série printArray(Serial.list()); //liste de tous les ports séries disponibles String portName = Serial.list()[0]; myPort = new Serial(this, portName, 9600); } void draw() { //lecture des données issues de la carte Arduino if (myPort.available() > 0) { //si les données sont disponible val = myPort.read(); // lire et stocker dans la valeur //affichage de la valeur lue sur le port println(val); } //gestion de la vidéo : si mouvement perçu par le capteur Arduino... if (val<5) { //debug println("présence détectée, lancer vidéo aléatoire"); //... alors chargement d'une vidéo au hasard int i =int(random(10)); movie = new Movie(this, vid[i]); //debug println("video:" + vid[i]); //lecture de la vidéo movie.play(); // vidéo activée video_active = true; } else { video_active = false; image(bg, 0, 0, 700, 700); } // affichage image et vidéos if (video_active) { image(movie, 0, 0, 700, 700); } else { image(bg, 0, 0, 700, 700); } } void movieEvent(Movie m) { m.read(); } </code> ---- ==== Références ==== [[https://forum.processing.org/two/discussion/23453/random-video|Charger une vidéo aléatoirement]] [[http://kare.com|Susan Kare]]
wiki/projets/fortune-teller-2.0/accueil.txt
· Dernière modification: 2019/05/20 15:26 (modification externe)
Outils de la page
Afficher la page
Anciennes révisions
Liens de retour
Exportation ODT
Haut de page