C'est le printemps ! Fleur.gif

Passerelle.Infini 2025 : Communication non verbale démocratique : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(prototype qu'on souhaite réaliser)
(prototype qu'on souhaite réaliser)
Ligne 45 : Ligne 45 :
 
Le contentiomètre est un outil d'expression démocratique et spontané pour les groupes-classe.  
 
Le contentiomètre est un outil d'expression démocratique et spontané pour les groupes-classe.  
 
Fabrication :
 
Fabrication :
 +
1) Conception
 
_ Découper et assembler un nombre de boitiers correspondants au nombre des membres du groupe.  
 
_ Découper et assembler un nombre de boitiers correspondants au nombre des membres du groupe.  
 
_ Effectuer les branchements électroniques et téléverser le programme sur le arduino.  
 
_ Effectuer les branchements électroniques et téléverser le programme sur le arduino.  
 
_ Afficher le panneau led au dessus du tableau.
 
_ Afficher le panneau led au dessus du tableau.
 
+
2) Installation:
 +
_ Disposer un boîtier sous chaque table.
 +
_ Accrocher le panneau led au mur
 
Mise en application :  
 
Mise en application :  
 
_Présenter l'outil au groupe ;expliquer qu'il leur permet de communiquer silencieusement et instantanément une émotion au groupe en réaction avec ce qui se passe en classe.  
 
_Présenter l'outil au groupe ;expliquer qu'il leur permet de communiquer silencieusement et instantanément une émotion au groupe en réaction avec ce qui se passe en classe.  

Version du 21 mars 2025 à 15:15

200px

résumé du projet

Notre projet est un système de communication non verbale destiné aux "groupes-classes". Celui-ci permet aux jeunes de s'exprimer spontanément et anonymement, et de se rendre compte du mood du groupe.

membres du projet

Leds aléatoires.jpg

Bibliographie et webographie sur le projet

Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.

pistes explorée, abandonnées ou fertiles

Au démarrage du projet nous avons envisagé plusieurs idées et exploré diverses pistes. Notre idée de départ était de fabriquer un objet qui suscite la communication par la découverte de l'objet. Nous voulions créer: _ un objet ludique _ qui nécessite d'être 2 pour fonctionner. _ qui implique une collaboration _ avec pour but l'inclusion. _ qui pourrait fonctionner en tandem. _ qui serait dans l'espace public. _ ce serait objet transportable. Nous avons pensé à conceptualiser: _Un dispositif où il faudrait être 2 pour ouvrir une porte ( portes de tram, porte donnant accès à un endroit de l'espace public- Capucins, MJC...) qui s'adapterait à n'importe quel système d'ouverture de porte. Ce dispositif fonctionnerait avec des aimants ou des capteurs thermiques. _ un dispositif ou système ( pourquoi pas de bascule?) pour descendre où monter les escaliers _ un dispositif pour bancs publics.

Nous avons ensuite repenser notre public cible et redéfini le lieu où notre objet serait utilisé et décidé que cet objet serait dans un foyer, une cantine, un EPAD ou une école. Finalement nous avons choisi les ados comme public cible et de penser notre objet pour un lycée (cantine, foyer de jeune, classe) Nous avons envisager d'imaginer un objet qui s'inscrit dans un rituel: _ un dispositif où il faut être deux pour activer la machine à café/ ou machine à smoothie. _ un dispositif pour fontaine à eau _ un système qui apporte les plateaux repas tout seul au self _ un canapé inclinable où il faut âtre deux et communiquer sans se voir pour l'activer... Après réflexion, nous nous sommes dit que toutes ces idées avait toutes une notions de "tortures" ou du moins de contraintes.

Nous nous sommes donc recentrés sur les caractéristiques des adolescents: _ Les adolescents ont la "flemme". _ C'est une période où on a facilement honte et où on a peur d'être jugé par le groupe. _ Les adolescents ont du mal à exprimer verbalement leurs émotions et il leur est difficile de prendre la parole devant les autres.

De ces réflexions ont émergé l'idée de créer un système qui permettrait aux jeunes d'exprimer anonymement et spontanément leurs émotions de manière non verbale. Dans la classe, on installe un boitier doté de boutons (ou d'un potentiomètre) sur chaque table qui est relié à un tableau de led lumineuses affichées au dessus du tableau.Chaque jeune est libre d'appuyer sur le bouton qui correspond à son mood du moment: content/ pas compris/ pas d'accord et ainsi de s'exprimer anonymement. On aurait ainsi le mood de la classe.

prototype qu'on souhaite réaliser

Notre prototype sera un système composé d'un tableau lumineux associé à des consoles de commandes. Celles-ci afficheront des leds de couleurs différentes avec des formes différentes. Le tableau est composé de 4 sections de 9 leds et 4 consoles avec chacune 4 boutons qui .

NOTICE Le contentiomètre est un outil d'expression démocratique et spontané pour les groupes-classe. Fabrication : 1) Conception _ Découper et assembler un nombre de boitiers correspondants au nombre des membres du groupe. _ Effectuer les branchements électroniques et téléverser le programme sur le arduino. _ Afficher le panneau led au dessus du tableau. 2) Installation: _ Disposer un boîtier sous chaque table. _ Accrocher le panneau led au mur Mise en application : _Présenter l'outil au groupe ;expliquer qu'il leur permet de communiquer silencieusement et instantanément une émotion au groupe en réaction avec ce qui se passe en classe. _ Pour exprimer son émotion chaque élève à accès à un bouton pouvant se positionner en trois états. Un état correspond à une émotion qui s'affichera en direct sur une des sections du panneau de led.

Utilisations de bases et dérivées : _ Possibilité d'établir un "code de l'émotion" commun au groupe classe (ex : rose=content, jaune=pas content, bleu=confus). _ Possibilité de proposer au groupe de décider du code, par discussion ou en laissant se faire un accords tacite. _ Possibilité de complexifier le contentiomètre par ajout de couleurs ou programmation de formes afin d'inclure différentes acuités visuelles.

code

  1  
  2 /*
  3  * communication non verbale démocratique
  4  */
  5  /* matériel
  6  arduino uno,
  7  potentiomètre
  8  marice de led 16X16
  9  */
 10 #include <Adafruit_NeoPixel.h>
 11 
 12 #define broche 9 // broche 9 de l'Arduino UNO sur laquelle est connecté le ruban
 13 
 14 // Nombre de led du ruban ?
 15 #define nbpixels 256
 16 
 17 // Lors de la configuration de la bibliothèque NeoPixel, 
 18 // nous lui indiquons combien de pixels,
 19 // et quelle broche utiliser pour envoyer des signaux.
 20 Adafruit_NeoPixel pixels(nbpixels, broche, NEO_GRB + NEO_KHZ800);
 21 // pour configurer le ruban :
 22 // nomDuRuban (nombreDePixels, NumeroDeLaBroche, typeDeRuban)
 23 // Les différents types de ruban :
 24 //   NEO_KHZ800  800 KHz bitstream (la plupart des produits Neopixel ou références de LED w/WS2812)
 25 //   NEO_KHZ400  400 KHz (classic 'v1' (pas v2) FLORA pixels, drivers WS2811)
 26 //   NEO_GRB     Pixels cablés pour GRB bitstream (la plupart des produits Neopixel)
 27 //   NEO_RGB     Pixels cablés pour RGB bitstream (v1 FLORA pixels, pas les v2)
 28 //   NEO_RGBW    Pixels cablés pour RGBW bitstream (produits NeoPixel RGBW)
 29 
 30 #define delai 30 // durée de la pause en millisecondes
 31 
 32 int brochePotard = A0; // la broche du potentiomètre
 33 int valPot; // valeur meduyrée pour le potentiomètre
 34 int intensiLed; //
 35  
 36 void setup() {
 37   Serial.begin(9600); //démarrae la communication série
 38   pinMode(brochePotard, INPUT);
 39   pixels.begin();           // INITIALISE l'object ruban NeoPixel
 40   pixels.show();            // éteint tout les pixels aussi vite que possible.
 41   pixels.setBrightness(100); // met la luminosité à 1/5 (max = 255)
 42 }
 43 
 44 
 45 void loop() {
 46   valPot = analogRead(brochePotard);
 47   //affichage des valeurs dans la console
 48   Serial.print("valPot : ");
 49   Serial.println(brochePotard);
 50   //intensiLed = map(valPot, 0, 1023, 0, 255);
 51   //if (0<=valPot<=330){
 52 //
 53  // }
 54 
 55   //Serial.print("intensiLed : ");
 56   //Serial.println(intensiLed);
 57 
 58 /*
 59   for(int i=0; i<nbpixels; i++) { // Les pixels sont numérotés de 0 à ...
 60     pixels.setPixelColor(i, pixels.Color(255, 0, 0)); // on allume la couleur rouge à fond de la ième led 
 61     pixels.setPixelColor(i-1, pixels.Color(200, 0, 0)); // celle d'après est moins allumée
 62     pixels.setPixelColor(i-2, pixels.Color(150, 0, 0)); // ainsi de suite
 63     pixels.setPixelColor(i-3, pixels.Color(100, 0, 0));
 64     pixels.setPixelColor(i-4, pixels.Color(50, 0, 0));  
 65     pixels.setPixelColor(i-5, pixels.Color(0, 0, 0));  
 66     pixels.show();   // met à jour le ruban
 67     delay(delai);    // Pause
 68   }
 69 
 70   for(int i=nbpixels; i>-1; i--) { // Les pixels sont numérotés de 0 à ...
 71     pixels.setPixelColor(i, pixels.Color(0, 0, 0));
 72     pixels.setPixelColor(i-1, pixels.Color(50, 0, 0));
 73     pixels.setPixelColor(i-2, pixels.Color(100, 0, 0)); 
 74     pixels.setPixelColor(i-3, pixels.Color(150, 0, 0));
 75     pixels.setPixelColor(i-4, pixels.Color(200, 0, 0));  
 76     pixels.setPixelColor(i-5, pixels.Color(255, 0, 0)); 
 77     // pour comprendre, quand i vaut 30, la led 25 est au max, la 26 un peu moins, jusque la numéro 29 qui est éteinte
 78     // ce segment se déplace jusque i=0. 
 79     pixels.show();   // met à jour le ruban
 80     delay(delai);    // Pause
 81     }
 82     */
 83 carreBD();
 84 
 85   delay(100);
 86 }
 87 
 88 void carreBD()
 89 {
 90   for(int i=0; i<=7; i++) { // Les pixels sont numérotés de 0 à ...
 91   pixels.setPixelColor(i, pixels.Color(50, 0, 0)); 
 92   }
 93   for(int i=24; i<=39; i++) { // Les pixels sont numérotés de 0 à ...
 94   pixels.setPixelColor(i, pixels.Color(50, 0, 0)); 
 95   }
 96     for(int i=56; i<=71; i++) { // Les pixels sont numérotés de 0 à ...
 97   pixels.setPixelColor(i, pixels.Color(50, 0, 0)); 
 98   }
 99     for(int i=88; i<=103; i++) { // Les pixels sont numérotés de 0 à ...
100   pixels.setPixelColor(i, pixels.Color(50, 0, 0)); 
101   }
102     for(int i=120; i<=127; i++) { // Les pixels sont numérotés de 0 à ...
103   pixels.setPixelColor(i, pixels.Color(50, 0, 0)); 
104   }
105 
106 void carreBG()
107 {
108   for(int i=128; i<=135; i++) { // Les pixels sont numérotés de 0 à ...
109   pixels.setPixelColor(i, pixels.Color(50, 0, 0)); 
110   }
111   for(int i=152; i<=167; i++) { // Les pixels sont numérotés de 0 à ...
112   pixels.setPixelColor(i, pixels.Color(50, 0, 0)); 
113   }
114     for(int i=184; i<=199; i++) { // Les pixels sont numérotés de 0 à ...
115   pixels.setPixelColor(i, pixels.Color(50, 0, 0)); 
116   }
117     for(int i=214; i<=231; i++) { // Les pixels sont numérotés de 0 à ...
118   pixels.setPixelColor(i, pixels.Color(50, 0, 0)); 
119   }
120     for(int i=248; i<=255; i++) { // Les pixels sont numérotés de 0 à ...
121   pixels.setPixelColor(i, pixels.Color(50, 0, 0)); 
122   }
123 
124 void carreHD()
125 {
126   for(int i=8; i<=23; i++) { // Les pixels sont numérotés de 0 à ...
127   pixels.setPixelColor(i, pixels.Color(50, 0, 0)); 
128   }
129   for(int i=40; i<=55; i++) { // Les pixels sont numérotés de 0 à ...
130   pixels.setPixelColor(i, pixels.Color(50, 0, 0)); 
131   }
132     for(int i=72; i<=87; i++) { // Les pixels sont numérotés de 0 à ...
133   pixels.setPixelColor(i, pixels.Color(50, 0, 0)); 
134   }
135     for(int i=104; i<=119; i++) { // Les pixels sont numérotés de 0 à ...
136   pixels.setPixelColor(i, pixels.Color(50, 0, 0)); 
137   }
138 
139 void carreHG()
140 {
141   for(int i=136; i<=153; i++) { // Les pixels sont numérotés de 0 à ...
142   pixels.setPixelColor(i, pixels.Color(50, 0, 0)); 
143   }
144   for(int i=168; i<=183; i++) { // Les pixels sont numérotés de 0 à ...
145   pixels.setPixelColor(i, pixels.Color(50, 0, 0)); 
146   }
147     for(int i=200; i<=213; i++) { // Les pixels sont numérotés de 0 à ...
148   pixels.setPixelColor(i, pixels.Color(50, 0, 0)); 
149   }
150     for(int i=232; i<=247; i++) { // Les pixels sont numérotés de 0 à ...
151   pixels.setPixelColor(i, pixels.Color(50, 0, 0)); 
152   }
153 
154   pixels.show();   // met à jour le ruban
155 }

ne pas toucher en dessous de ce paragraphe