Outils pour utilisateurs

Outils du site


wiki:memoires:graphologic:accueil

GRAPHO LOGIC



Porteur(s) du projet : Clara Cottenceau
Date : 20 mai
Licence : Libre
Contexte : Créer un objet interactif (graphique, physique, etc.) basé sur l'utilisation d'une carte Arduino et d'un ou plusieurs capteurs groove.

—- 1/ Recherches —-




—- 2/ Le projet —-
Graphologic propose de tester votre état d’esprit : remplissez d’abord une zone de texte à votre guise, puis choisissez entre deux types de bouton pour révéler sur l’écran le véritable fond de votre pensée… Plutôt arrêtée et éclairée ? Plutôt nuancée ?

Plus concrètement voici les fonctions de mon montage :
Étape 1 : l’utilisateur ouvre le programme et se retrouve devant une interface contenant une zone de texte vide
Étape 2 : l’utilisateur tape ce qui lui passe par l’esprit dans une typo neutre dans la zone de texte
Étape 3 : l’utilisateur doit maintenant choisir entre le bouton poussoir ou le potentiomètre, cela modifie le traitement du texte
Conclusion : le bouton poussoir allume en même temps une led et modifie la typo pour une typo avec empatement > « pour un esprit éclairé et une pensée appuyée ». Le potentiomètre définit « un esprit nuancé », la typo change alors de taille, plus grande ou plus petite.

Matériel : Carte arduino Uno - Alimentation - Carte Grove - Potentiomètre - Bouton poussoir - Led - 3 câbles Grove
Code Arduino :

/*macro definitions of Rotary angle sensor and LED pin*/

#define ROTARY_ANGLE_SENSOR A0
#define LED 3  //the Grove - LED is connected to PWM pin D3 of Arduino
#define ADC_REF 5 //reference voltage of ADC is 5v.If the Vcc switch on the seeeduino
                    //board switches to 3V3, the ADC_REF should be 3.3
#define GROVE_VCC 5 //VCC of the grove interface is normally 5v
#define FULL_ANGLE 300 //full value of the rotary angle is 300 degrees

const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status
  
  


void setup()
{
    Serial.begin(9600);
    pinMode(ROTARY_ANGLE_SENSOR, INPUT);
     // initialize the LED pin as an output:
    pinMode(LED,OUTPUT);   
      // initialize the pushbutton pin as an input:
    pinMode(buttonPin, INPUT);

}

void loop()
{   
    float voltage;
    int sensor_value = analogRead(ROTARY_ANGLE_SENSOR);
    voltage = (float)sensor_value*ADC_REF/1023;
    float degrees = (voltage*FULL_ANGLE)/GROVE_VCC;
    Serial.println("The angle between the mark and the starting position:");
    Serial.println(degrees);

    int brightness;
    brightness = map(degrees, 0, FULL_ANGLE, 0, 255);
    analogWrite(LED,brightness);
    delay(500);
    // read the state of the pushbutton value:
    buttonState = digitalRead(buttonPin);

    // check if the pushbutton is pressed.
    // if it is, the buttonState is HIGH:
    if (buttonState == HIGH) {
        // turn LED on:
        digitalWrite(ledPin, HIGH);
    }
    else {
        // turn LED off:
        digitalWrite(ledPin, LOW);
    }
}


Code Processing :

void setup ()
{
  // definition de la taile de la fenetre 
  // syntaxe : size (Hauteur fenetre,largeur fenetre )
  size(1000,800);
  
  
  
  
}
 
 
//Le programme principal s’exécute par une boucle infinie appelée draw () 
void draw ()
{
  // background (rouge,vert,bleu )
  // affichage du fond de l'ecran en blanc 
  background(255,255,255); 
  
  fill(0,0,0);
  
  // Choix de la taille de la police 
  textSize(32);
  

  // x => coordonnée x du texte
  // y => coordonnée y du texte 
  text("Bonjour cher utilisateur ", 220, 75);
  
  // Choix de la taille de la police 18 pixels
  textSize(18);
  // Affichage d'un texte à l'écran
  text("Bienvenue dans notre examen virtuel GRAPHO-LOGIC ", 15, 150);
  
  // Choix de la taille de la police 15 pixels
  textSize(15);
  // Affichage d'un texte à l'écran
  text("Nous allons éclaircir vos idées", 15, 190);
  text("Veuillez taper ci-dessous le premier mot, état, humeur, sentiment... qui traverse votre esprit :", 15, 250);
  
  // Rectangle vierge pour taper le texte
  stroke(#030303);
  fill(#FFFFFF);
  rect(width*0.05, height*0.400, width * 0.6, height * 0.2);
  
}


—- 3/ Biblio : —-
Code bouton grove : http://wiki.seeedstudio.com/Grove-Button/
Code potentiomètre : http://wiki.seeedstudio.com/Grove-Rotary_Angle_Sensor/
Un bon lien pour se renseigner sur les capteurs Arduino : http://www.lafabriquediy.com/tutoriel/liste-des-capteurs-229/
Coder du texte sur processing : https://fr.flossmanuals.net/processing/le-texte/

wiki/memoires/graphologic/accueil.txt · Dernière modification: 2019/12/12 09:09 (modification externe)