<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>http://wiki.lesfabriquesduponant.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MEL</id>
		<title>Les Fabriques du Ponant - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.lesfabriquesduponant.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MEL"/>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Sp%C3%A9cial:Contributions/MEL"/>
		<updated>2026-04-30T23:30:08Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=32843</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=32843"/>
				<updated>2025-03-27T09:47:54Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* résumé du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
'''MOUMOUNA''' - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton - '''est un objet interactif distributeur de câlins à distance'''. &lt;br /&gt;
A l'échelle de notre prototype celui-ci peut être déployé dans l'espace familial ou à taille humaine disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore (bruits de vagues) à télécharger pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 400px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]] [[Fichier:MOUMOUNA ACTIVE.jpg |200px]]‎&lt;br /&gt;
[[Fichier:Notice moumouna.jpg|200px]]‎&lt;br /&gt;
&lt;br /&gt;
Le bouton pression sur le moumouna A envoie un signal lumineux au moumouna B, qui si il est enlacé (pression déclencheur) renvoie un signal qui déclenche une vibration!  Les vibrations simultanées indiquent un câlin en résonance!&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
PROTOTYPE FINAL&lt;br /&gt;
&lt;br /&gt;
 [[Fichier:MOUMOUNA-rose.jpg ‎|200px]]  [[Fichier:MOUMOUNA ACTIVE.jpg|300px]]  [[Fichier:Moumouna2.jpg|200px]]  [[Fichier:Calin moumouna.jpg‎|300px]] [[Fichier:Calindemoumouna.jpg‎|300px]]&lt;br /&gt;
&lt;br /&gt;
   [[Fichier:Logo moumouna serigraphie.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////////&lt;br /&gt;
//      Moumouna      //&lt;br /&gt;
/////////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un projet imaginé et réalisé au Hackathon Passerelle.Infini organisé avec les petits débrouillards au centre d'art Passerelle à Brest les 20 et 21 mars 2025.&lt;br /&gt;
 * moumouna : https://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&lt;br /&gt;
 * &lt;br /&gt;
 * Ce programme s'apuie sur le programme POCL Poke (imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021).&lt;br /&gt;
 * POCL Poke : https://wiki.lesfabriquesduponant.net/index.php?title=POCL_:_Poke&lt;br /&gt;
 * &lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                   BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - mars 2025 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme nourri de https://randomnerdtutorials.com/esp32-esp8266-rgb-led-strip-web-server/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
&lt;br /&gt;
Améliorations :&lt;br /&gt;
reboot en cas de déconnexion MQTT&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
#include &amp;lt;ESP_EEPROM.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
WiFiServer serveurPOCL(80);&lt;br /&gt;
MQTTClient clientMQTT;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
char nomPOCL[25];         // variable de stockage du nom unique du POCL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//==============Vibreur======================&lt;br /&gt;
const int vib = D2; // broche vibreur&lt;br /&gt;
//=============Eléments pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // Il faudra changer en D2 (broche plus adpatée).&lt;br /&gt;
&lt;br /&gt;
int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
int rouge = 0;&lt;br /&gt;
int bleu = 255;&lt;br /&gt;
int vert = 0;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 6 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
//===============Eléments pour le choix de la couleur du Ruban===============&lt;br /&gt;
// Pour décoder les valeurs de HTTP GET&lt;br /&gt;
String redString = &amp;quot;0&amp;quot;;&lt;br /&gt;
String greenString = &amp;quot;0&amp;quot;;&lt;br /&gt;
String blueString = &amp;quot;0&amp;quot;;&lt;br /&gt;
int pos1 = 0;&lt;br /&gt;
int pos2 = 0;&lt;br /&gt;
int pos3 = 0;&lt;br /&gt;
int pos4 = 0;&lt;br /&gt;
&lt;br /&gt;
// Variable to store the HTTP req  uest&lt;br /&gt;
String header;&lt;br /&gt;
&lt;br /&gt;
// Setting PWM bit resolution&lt;br /&gt;
// const int resolution = 256;&lt;br /&gt;
&lt;br /&gt;
// Current time&lt;br /&gt;
unsigned long currentTime = millis();&lt;br /&gt;
// Previous time&lt;br /&gt;
unsigned long previousTime = 0; &lt;br /&gt;
// Define timeout time in milliseconds (example: 2000ms = 2s)&lt;br /&gt;
const long timeoutTime = 2000;&lt;br /&gt;
&lt;br /&gt;
//==============================================================================&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  Serial.println(&amp;quot;\nPOCL Connecté au Wifi :-) &amp;quot;);&lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours &amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!clientMQTT.connect(nomPOCL, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.println(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(300);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  clientMQTT.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  EEPROM.get(0, rouge); Serial.print(&amp;quot;Valeur de rouge EEPROM = &amp;quot;); Serial.println(rouge);&lt;br /&gt;
  EEPROM.get(4, vert); Serial.print(&amp;quot;Valeur de vert EEPROM = &amp;quot;); Serial.println(vert);&lt;br /&gt;
  EEPROM.get(8, bleu); Serial.print(&amp;quot;Valeur de bleu EEPROM = &amp;quot;); Serial.println(bleu);&lt;br /&gt;
  &lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(rouge, vert, bleu));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(rouge, vert, bleu));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void testEEPROM(){ // On test si la mémoire de l'ESP contient déjà des infos d'une configuration précédente&lt;br /&gt;
   if(EEPROM.percentUsed()&amp;gt;=0) { // Si il y en a on ne fait rien&lt;br /&gt;
    Serial.println(&amp;quot;Il y a des infos dans la mémoire&amp;quot;);&lt;br /&gt;
    Serial.print(EEPROM.percentUsed());&lt;br /&gt;
    Serial.println(&amp;quot;% de l'espace mémoire flash de l'ESP flash actuellement utilisé.&amp;quot;);&lt;br /&gt;
    EEPROM.get(0, rouge); Serial.print(&amp;quot;Valeur de rouge EEPROM = &amp;quot;); Serial.println(rouge);&lt;br /&gt;
    EEPROM.get(4, vert); Serial.print(&amp;quot;Valeur de vert EEPROM = &amp;quot;); Serial.println(vert);&lt;br /&gt;
    EEPROM.get(8, bleu); Serial.print(&amp;quot;Valeur de bleu EEPROM = &amp;quot;); Serial.println(bleu);&lt;br /&gt;
  } else {       // Si il n'y en a pas on stocke la couleur pas défaut&lt;br /&gt;
    EEPROM.put(0, rouge);&lt;br /&gt;
    EEPROM.put(4, vert);&lt;br /&gt;
    EEPROM.put(8, bleu);&lt;br /&gt;
    boolean ok = EEPROM.commit();&lt;br /&gt;
    Serial.println((ok) ? &amp;quot;Commit initialisation couleur OK&amp;quot; : &amp;quot;Commit initialisation couleur raté&amp;quot;);  &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
void choixCouleur(){&lt;br /&gt;
  WiFiClient client = serveurPOCL.available(); // On écoute si il y a des connexions sur le site web du POCL (des clients)&lt;br /&gt;
&lt;br /&gt;
  if (client) {                                // Si il y a une nouvelle connexion,&lt;br /&gt;
    currentTime = millis();&lt;br /&gt;
    previousTime = currentTime;&lt;br /&gt;
    Serial.println(&amp;quot;Nouveau client connecté&amp;quot;);          // print a message out in the serial port&lt;br /&gt;
    String currentLine = &amp;quot;&amp;quot;;                // créer une chaîne pour contenir les données entrantes du client&lt;br /&gt;
    while (client.connected() &amp;amp;&amp;amp; currentTime - previousTime &amp;lt;= timeoutTime) {            // Boucle &amp;quot;while&amp;quot;, tant que le client est connecté&lt;br /&gt;
      currentTime = millis();&lt;br /&gt;
      if (client.available()) {             // if there's bytes to read from the client,&lt;br /&gt;
        char c = client.read();             // read a byte, then&lt;br /&gt;
        Serial.write(c);                    // print it out the serial monitor&lt;br /&gt;
        header += c;&lt;br /&gt;
        if (c == '\n') {                    // if the byte is a newline character&lt;br /&gt;
          // if the current line is blank, you got two newline characters in a row.&lt;br /&gt;
          // that's the end of the client HTTP request, so send a response:&lt;br /&gt;
          if (currentLine.length() == 0) {&lt;br /&gt;
            // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)&lt;br /&gt;
            // and a content-type so the client knows what's coming, then a blank line:&lt;br /&gt;
            client.println(&amp;quot;HTTP/1.1 200 OK&amp;quot;);&lt;br /&gt;
            client.println(&amp;quot;Content-type:text/html&amp;quot;);&lt;br /&gt;
            client.println(&amp;quot;Connection: close&amp;quot;);&lt;br /&gt;
            client.println();&lt;br /&gt;
                   &lt;br /&gt;
            // Affiche la page web&lt;br /&gt;
            client.println(&amp;quot;&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html&amp;gt;&amp;quot;);&lt;br /&gt;
            client.println(&amp;quot;&amp;lt;head&amp;gt;&amp;lt;meta name=\&amp;quot;viewport\&amp;quot; content=\&amp;quot;width=device-width, initial-scale=1\&amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
            client.println(&amp;quot;&amp;lt;link rel=\&amp;quot;icon\&amp;quot; href=\&amp;quot;data:,\&amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
            client.println(&amp;quot;&amp;lt;link rel=\&amp;quot;stylesheet\&amp;quot; href=\&amp;quot;https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css\&amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
            client.println(&amp;quot;&amp;lt;script src=\&amp;quot;https://cdnjs.cloudflare.com/ajax/libs/jscolor/2.0.4/jscolor.min.js\&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;quot;);&lt;br /&gt;
            client.println(&amp;quot;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;div class=\&amp;quot;container\&amp;quot;&amp;gt;&amp;lt;div class=\&amp;quot;row\&amp;quot;&amp;gt;&amp;lt;h1&amp;gt;Choisi la couleur de ton POCL&amp;lt;/h1&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
            client.println(&amp;quot;&amp;lt;a class=\&amp;quot;btn btn-primary btn-lg\&amp;quot; href=\&amp;quot;#\&amp;quot; id=\&amp;quot;change_color\&amp;quot; role=\&amp;quot;button\&amp;quot;&amp;gt;Change de Couleur&amp;lt;/a&amp;gt; &amp;quot;);&lt;br /&gt;
            client.println(&amp;quot;&amp;lt;input class=\&amp;quot;jscolor {onFineChange:'update(this)'}\&amp;quot; id=\&amp;quot;rgb\&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;);&lt;br /&gt;
            client.println(&amp;quot;&amp;lt;script&amp;gt;function update(picker) {document.getElementById('rgb').innerHTML = Math.round(picker.rgb[0]) + ', ' +  Math.round(picker.rgb[1]) + ', ' + Math.round(picker.rgb[2]);&amp;quot;);&lt;br /&gt;
            client.println(&amp;quot;document.getElementById(\&amp;quot;change_color\&amp;quot;).href=\&amp;quot;?r\&amp;quot; + Math.round(picker.rgb[0]) + \&amp;quot;g\&amp;quot; +  Math.round(picker.rgb[1]) + \&amp;quot;b\&amp;quot; + Math.round(picker.rgb[2]) + \&amp;quot;&amp;amp;\&amp;quot;;}&amp;lt;/script&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;quot;);&lt;br /&gt;
            // The HTTP response ends with another blank line&lt;br /&gt;
            client.println();&lt;br /&gt;
&lt;br /&gt;
            // Request sample: /?r201g32b255&amp;amp;&lt;br /&gt;
            // Red = 201 | Green = 32 | Blue = 255&lt;br /&gt;
            if(header.indexOf(&amp;quot;GET /?r&amp;quot;) &amp;gt;= 0) {&lt;br /&gt;
              pos1 = header.indexOf('r'); // pos1 est la position du caractère r dans la chaine de caractères.&lt;br /&gt;
              pos2 = header.indexOf('g'); // idem&lt;br /&gt;
              pos3 = header.indexOf('b');&lt;br /&gt;
              pos4 = header.indexOf('&amp;amp;');&lt;br /&gt;
              redString = header.substring(pos1+1, pos2); // la chaine de caractère juste après pos1 et jusqu'à pos2 est placée dans la variable redString.&lt;br /&gt;
              greenString = header.substring(pos2+1, pos3); // ...&lt;br /&gt;
              blueString = header.substring(pos3+1, pos4);&lt;br /&gt;
              Serial.println(redString.toInt()); // je publie sur le moniteur série&lt;br /&gt;
              Serial.println(greenString.toInt());&lt;br /&gt;
              Serial.println(blueString.toInt());&lt;br /&gt;
              rouge = redString.toInt(); // je transforme la chaine de caractère en nombre entier que je met dans la variable rouge&lt;br /&gt;
              vert = greenString.toInt();&lt;br /&gt;
              bleu = blueString.toInt();&lt;br /&gt;
              // Je stocke la configuration dans la mémoire du D1 mini&lt;br /&gt;
              EEPROM.put(0, rouge);&lt;br /&gt;
              EEPROM.put(4, vert);&lt;br /&gt;
              EEPROM.put(8, bleu);&lt;br /&gt;
              boolean ok1 = EEPROM.commit();&lt;br /&gt;
              Serial.println((ok1) ? &amp;quot;Commit couleur OK&amp;quot; : &amp;quot;Commit couleur raté&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
            // On sort (&amp;quot;break&amp;quot;) de la boucle &amp;quot;while&amp;quot;&lt;br /&gt;
            break;&lt;br /&gt;
          } else { // if you got a newline, then clear currentLine&lt;br /&gt;
            currentLine = &amp;quot;&amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
        } else if (c != '\r') {  // if you got anything else but a carriage return character,&lt;br /&gt;
          currentLine += c;      // add it to the end of the currentLine&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    // Clear the header variable&lt;br /&gt;
    header = &amp;quot;&amp;quot;;&lt;br /&gt;
     fade();&lt;br /&gt;
    // Close the connection&lt;br /&gt;
    client.stop();&lt;br /&gt;
    Serial.println(&amp;quot;Client disconnected.&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200); // Ouverture de communication série&lt;br /&gt;
&lt;br /&gt;
  uint32_t chipid=ESP.getChipId();&lt;br /&gt;
  snprintf(nomPOCL,25,&amp;quot;MouMouNa - %08X&amp;quot;,chipid);&lt;br /&gt;
  Serial.print(&amp;quot;Je suis le MouMouNa &amp;quot;); &lt;br /&gt;
  Serial.println(nomPOCL);&lt;br /&gt;
  &lt;br /&gt;
  EEPROM.begin(16);&lt;br /&gt;
  testEEPROM(); &lt;br /&gt;
  &lt;br /&gt;
  WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
  WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
  bool res;&lt;br /&gt;
  res = MonReseauWifi.autoConnect(&amp;quot;MouMouNa&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;MouMouNa&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
  if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
    // Print local IP address and start web server&lt;br /&gt;
    Serial.println(&amp;quot;&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;WiFi connected.&amp;quot;);&lt;br /&gt;
    Serial.println(&amp;quot;IP address : &amp;quot;);&lt;br /&gt;
    Serial.println(WiFi.localIP());&lt;br /&gt;
    serveurPOCL.begin(); //démarrage du serveur Web du POCL&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  pinMode(PIN,OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  &lt;br /&gt;
  // préparation de la connexion au serveur MQTT&lt;br /&gt;
  clientMQTT.begin(BROKER_IP, 1883, net); // (IP, port, Client Wifi défini plus haut)&lt;br /&gt;
  clientMQTT.onMessage(messageReceived); // Si on reçoit un message MQTT, la fonction &amp;quot;messageReceived&amp;quot; est appelée.&lt;br /&gt;
&lt;br /&gt;
  connect(); // On se connecte&lt;br /&gt;
  Serial.println(&amp;quot;Programme MouMouNa V1 en date du 24 mars 2025&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // éteint tout les pixels&lt;br /&gt;
  pixels.show(); // affiches pixels&lt;br /&gt;
  &lt;br /&gt;
  clientMQTT.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!clientMQTT.connected()) {&lt;br /&gt;
    Serial.print(&amp;quot;MouMouNa &amp;quot;);&lt;br /&gt;
    Serial.print(nomPOCL);&lt;br /&gt;
    Serial.println(&amp;quot; est déconnecté du serveur MQTT&amp;quot;);   &lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Si on appuie sur le bouton, on envoie un messagge MQTT &amp;quot;calin&amp;quot;, sur le topic &amp;quot;/mou&amp;quot;&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  clientMQTT.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250); // Filtre anti-rebond du bouton&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  choixCouleur(); // appel de la fonction qui génère la page web de configuration de la couler du POCL&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=32013</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=32013"/>
				<updated>2025-03-21T15:23:10Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* membres du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
'''MOUMOUNA''' - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton - '''est un objet interactif distributeur de câlins à distance'''. &lt;br /&gt;
A l'échelle de notre prototype celui-ci peut être déployé dans l'espace familial ou à taille humaine disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore (bruits de vagues) à télécharger pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 400px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]] [[Fichier:MOUMOUNA ACTIVE.jpg |200px]]‎&lt;br /&gt;
[[Fichier:Notice moumouna.jpg|200px]]‎&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
PROTOTYPE FINAL&lt;br /&gt;
&lt;br /&gt;
 [[Fichier:MOUMOUNA-rose.jpg ‎|200px]]  [[Fichier:MOUMOUNA ACTIVE.jpg|300px]]  [[Fichier:Moumouna2.jpg|200px]]  [[Fichier:Calin moumouna.jpg‎|300px]] [[Fichier:Calindemoumouna.jpg‎|300px]]&lt;br /&gt;
&lt;br /&gt;
   [[Fichier:Logo moumouna serigraphie.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[x]| - Vibreur In                   &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| -           &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3&lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
const int vib = D2;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
  WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
  bool res;&lt;br /&gt;
  res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
  if(!res) {&lt;br /&gt;
   Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
  else {&lt;br /&gt;
   Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
&lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
&lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(100);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=32012</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=32012"/>
				<updated>2025-03-21T15:22:22Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* résumé du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
'''MOUMOUNA''' - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton - '''est un objet interactif distributeur de câlins à distance'''. &lt;br /&gt;
A l'échelle de notre prototype celui-ci peut être déployé dans l'espace familial ou à taille humaine disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore (bruits de vagues) à télécharger pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 400px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]] [[Fichier:MOUMOUNA ACTIVE.jpg |200px]]‎&lt;br /&gt;
[[Fichier:Notice moumouna.jpg|200px]]‎&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
PROTOTYPE FINAL&lt;br /&gt;
&lt;br /&gt;
 [[Fichier:MOUMOUNA-rose.jpg ‎|200px]]  [[Fichier:MOUMOUNA ACTIVE.jpg|300px]]  [[Fichier:Moumouna2.jpg|200px]]  [[Fichier:Calin moumouna.jpg‎|300px]] [[Fichier:Calindemoumouna.jpg‎|300px]]&lt;br /&gt;
&lt;br /&gt;
   [[Fichier:Logo moumouna serigraphie.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[x]| - Vibreur In                   &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| -           &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3&lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
const int vib = D2;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
  WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
  bool res;&lt;br /&gt;
  res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
  if(!res) {&lt;br /&gt;
   Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
  else {&lt;br /&gt;
   Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
&lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
&lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(100);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Notice_moumouna.jpg&amp;diff=32011</id>
		<title>Fichier:Notice moumouna.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Notice_moumouna.jpg&amp;diff=32011"/>
				<updated>2025-03-21T15:21:52Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : MEL a téléversé une nouvelle version de Fichier:Notice moumouna.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=32010</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=32010"/>
				<updated>2025-03-21T15:21:08Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* résumé du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
'''MOUMOUNA''' - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton - '''est un objet interactif distributeur de câlins à distance'''. &lt;br /&gt;
A l'échelle de notre prototype celui-ci peut être déployé dans l'espace familial ou à taille humaine disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore (bruits de vagues) à télécharger pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 400px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]] [[Fichier:MOUMOUNA ACTIVE.jpg |200px]]‎&lt;br /&gt;
[[Fichier:Notice moumouna.jpg |200px]]‎&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
PROTOTYPE FINAL&lt;br /&gt;
&lt;br /&gt;
 [[Fichier:MOUMOUNA-rose.jpg ‎|200px]]  [[Fichier:MOUMOUNA ACTIVE.jpg|300px]]  [[Fichier:Moumouna2.jpg|200px]]  [[Fichier:Calin moumouna.jpg‎|300px]] [[Fichier:Calindemoumouna.jpg‎|300px]]&lt;br /&gt;
&lt;br /&gt;
   [[Fichier:Logo moumouna serigraphie.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[x]| - Vibreur In                   &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| -           &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3&lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
const int vib = D2;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
  WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
  bool res;&lt;br /&gt;
  res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
  if(!res) {&lt;br /&gt;
   Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
  else {&lt;br /&gt;
   Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
&lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
&lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(100);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=32009</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=32009"/>
				<updated>2025-03-21T15:20:32Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* prototype qu'on souhaite réaliser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
'''MOUMOUNA''' - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton - '''est un objet interactif distributeur de câlins à distance'''. &lt;br /&gt;
A l'échelle de notre prototype celui-ci peut être déployé dans l'espace familial ou à taille humaine disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore (bruits de vagues) à télécharger pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 400px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]] [[Fichier:MOUMOUNA ACTIVE.jpg |200px]]‎&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
PROTOTYPE FINAL&lt;br /&gt;
&lt;br /&gt;
 [[Fichier:MOUMOUNA-rose.jpg ‎|200px]]  [[Fichier:MOUMOUNA ACTIVE.jpg|300px]]  [[Fichier:Moumouna2.jpg|200px]]  [[Fichier:Calin moumouna.jpg‎|300px]] [[Fichier:Calindemoumouna.jpg‎|300px]]&lt;br /&gt;
&lt;br /&gt;
   [[Fichier:Logo moumouna serigraphie.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[x]| - Vibreur In                   &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| -           &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3&lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
const int vib = D2;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
  WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
  bool res;&lt;br /&gt;
  res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
  if(!res) {&lt;br /&gt;
   Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
  else {&lt;br /&gt;
   Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
&lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
&lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(100);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Logo_moumouna_serigraphie.jpg&amp;diff=32008</id>
		<title>Fichier:Logo moumouna serigraphie.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Logo_moumouna_serigraphie.jpg&amp;diff=32008"/>
				<updated>2025-03-21T15:19:34Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Notice_moumouna.jpg&amp;diff=32007</id>
		<title>Fichier:Notice moumouna.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Notice_moumouna.jpg&amp;diff=32007"/>
				<updated>2025-03-21T15:19:03Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=32002</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=32002"/>
				<updated>2025-03-21T15:08:53Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* prototype qu'on souhaite réaliser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
'''MOUMOUNA''' - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton - '''est un objet interactif distributeur de câlins à distance'''. &lt;br /&gt;
A l'échelle de notre prototype celui-ci peut être déployé dans l'espace familial ou à taille humaine disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore (bruits de vagues) à télécharger pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 400px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]] [[Fichier:MOUMOUNA ACTIVE.jpg |200px]]‎&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
PROTOTYPE FINAL&lt;br /&gt;
&lt;br /&gt;
 [[Fichier:MOUMOUNA-rose.jpg ‎|200px]]  [[Fichier:MOUMOUNA ACTIVE.jpg|300px]]  [[Fichier:Moumouna2.jpg|200px]]  [[Fichier:Calin moumouna.jpg‎|300px]] [[Fichier:Calindemoumouna.jpg‎|300px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[x]| - Vibreur In                   &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| -           &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3&lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
const int vib = D2;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
  WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
  bool res;&lt;br /&gt;
  res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
  if(!res) {&lt;br /&gt;
   Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
  else {&lt;br /&gt;
   Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
&lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
&lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(100);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=32000</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=32000"/>
				<updated>2025-03-21T15:08:13Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* prototype qu'on souhaite réaliser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
'''MOUMOUNA''' - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton - '''est un objet interactif distributeur de câlins à distance'''. &lt;br /&gt;
A l'échelle de notre prototype celui-ci peut être déployé dans l'espace familial ou à taille humaine disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore (bruits de vagues) à télécharger pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 400px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]] [[Fichier:MOUMOUNA ACTIVE.jpg |200px]]‎&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
PROTOTYPE FINAL&lt;br /&gt;
&lt;br /&gt;
 [[Fichier:MOUMOUNA-rose.jpg ‎|200px]]  [[Fichier:MOUMOUNA ACTIVE.jpg|300px]]  [[Fichier:Moumouna2.jpg|200px]]  [[Fichier:Calin moumouna.jpg‎|300px]]&lt;br /&gt;
[[Fichier:Calindemoumouna.jpg‎|300px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[x]| - Vibreur In                   &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| -           &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3&lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
const int vib = D2;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
  WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
  bool res;&lt;br /&gt;
  res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
  if(!res) {&lt;br /&gt;
   Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
  else {&lt;br /&gt;
   Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
&lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
&lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(100);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31999</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31999"/>
				<updated>2025-03-21T15:07:41Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* prototype qu'on souhaite réaliser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
'''MOUMOUNA''' - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton - '''est un objet interactif distributeur de câlins à distance'''. &lt;br /&gt;
A l'échelle de notre prototype celui-ci peut être déployé dans l'espace familial ou à taille humaine disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore (bruits de vagues) à télécharger pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 400px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]] [[Fichier:MOUMOUNA ACTIVE.jpg |200px]]‎&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
PROTOTYPE FINAL&lt;br /&gt;
&lt;br /&gt;
 [[Fichier:MOUMOUNA-rose.jpg ‎|200px]]  [[Fichier:MOUMOUNA ACTIVE.jpg|300px]]  [[Fichier:Moumouna2.jpg|200px]]  [[Fichier:Calin moumouna.jpg‎|300px]]&lt;br /&gt;
[Fichier:Calindemoumouna.jpg‎|300px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[x]| - Vibreur In                   &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| -           &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3&lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
const int vib = D2;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
  WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
  bool res;&lt;br /&gt;
  res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
  if(!res) {&lt;br /&gt;
   Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
  else {&lt;br /&gt;
   Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
&lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
&lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(100);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Calindemoumouna.jpg&amp;diff=31998</id>
		<title>Fichier:Calindemoumouna.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Calindemoumouna.jpg&amp;diff=31998"/>
				<updated>2025-03-21T15:06:32Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31992</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31992"/>
				<updated>2025-03-21T14:59:01Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* prototype qu'on souhaite réaliser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
'''MOUMOUNA''' - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton - '''est un objet interactif distributeur de câlins à distance'''. &lt;br /&gt;
A l'échelle de notre prototype celui-ci peut être déployé dans l'espace familial ou à taille humaine disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore (bruits de vagues) à télécharger pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 400px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]] [[Fichier:MOUMOUNA ACTIVE.jpg |200px]]‎&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
PROTOTYPE FINAL&lt;br /&gt;
&lt;br /&gt;
 [[Fichier:MOUMOUNA-rose.jpg ‎|200px]]  [[Fichier:MOUMOUNA ACTIVE.jpg|300px]]  [[Fichier:Moumouna2.jpg|200px]]  [[Fichier:Calin moumouna.jpg‎|300px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[x]| - Vibreur In                   &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| -           &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3&lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
const int vib = D2;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
  WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
  bool res;&lt;br /&gt;
  res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
  if(!res) {&lt;br /&gt;
   Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
  else {&lt;br /&gt;
   Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
&lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
&lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(100);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31991</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31991"/>
				<updated>2025-03-21T14:58:37Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* prototype qu'on souhaite réaliser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
'''MOUMOUNA''' - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton - '''est un objet interactif distributeur de câlins à distance'''. &lt;br /&gt;
A l'échelle de notre prototype celui-ci peut être déployé dans l'espace familial ou à taille humaine disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore (bruits de vagues) à télécharger pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 400px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]] [[Fichier:MOUMOUNA ACTIVE.jpg |200px]]‎&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
PROTOTYPE FINAL&lt;br /&gt;
&lt;br /&gt;
 [[Fichier:MOUMOUNA-rose.jpg ‎|200px]]  [[Fichier:MOUMOUNA ACTIVE.jpg|200px]]  [[Fichier:Moumouna2.jpg|200px]]  [[Fichier:Calin moumouna.jpg‎|300px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[x]| - Vibreur In                   &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| -           &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3&lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
const int vib = D2;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
  WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
  bool res;&lt;br /&gt;
  res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
  if(!res) {&lt;br /&gt;
   Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
  else {&lt;br /&gt;
   Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
&lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
&lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(100);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31990</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31990"/>
				<updated>2025-03-21T14:58:02Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* prototype qu'on souhaite réaliser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
'''MOUMOUNA''' - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton - '''est un objet interactif distributeur de câlins à distance'''. &lt;br /&gt;
A l'échelle de notre prototype celui-ci peut être déployé dans l'espace familial ou à taille humaine disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore (bruits de vagues) à télécharger pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 400px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]] [[Fichier:MOUMOUNA ACTIVE.jpg |200px]]‎&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
PROTOTYPE FINAL&lt;br /&gt;
&lt;br /&gt;
 [[Fichier:MOUMOUNA-rose.jpg ‎|200px]]  [[Fichier:MOUMOUNA ACTIVE.jpg|200px]]  [[Fichier:Calin moumouna.jpg‎|200px]]  [[Fichier:Moumouna2.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[x]| - Vibreur In                   &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| -           &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3&lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
const int vib = D2;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
&lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
  WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
  bool res;&lt;br /&gt;
  res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
  if(!res) {&lt;br /&gt;
   Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
  else {&lt;br /&gt;
   Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
   } &lt;br /&gt;
&lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
&lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
&lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(100);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Calin_moumouna.jpg&amp;diff=31987</id>
		<title>Fichier:Calin moumouna.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Calin_moumouna.jpg&amp;diff=31987"/>
				<updated>2025-03-21T14:56:45Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Moumouna2.jpg&amp;diff=31985</id>
		<title>Fichier:Moumouna2.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Moumouna2.jpg&amp;diff=31985"/>
				<updated>2025-03-21T14:56:33Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31958</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31958"/>
				<updated>2025-03-21T13:28:35Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* résumé du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
'''MOUMOUNA''' - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton - '''est un objet interactif distributeur de câlins à distance'''. &lt;br /&gt;
A l'échelle de notre prototype celui-ci peut être déployé dans l'espace familial ou à taille humaine disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore (bruits de vagues) à télécharger pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 400px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]] [[Fichier:MOUMOUNA ACTIVE.jpg |200px]]‎&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
PROTOTYPE FINAL&lt;br /&gt;
&lt;br /&gt;
 [[Fichier:MOUMOUNA-rose.jpg ‎|200px]]  [[Fichier:MOUMOUNA ACTIVE.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31954</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31954"/>
				<updated>2025-03-21T13:24:33Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* résumé du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore (bruits de vagues) à télécharger pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 400px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]] [[Fichier:MOUMOUNA-rose.jpg |200px]]‎&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
PROTOTYPE FINAL&lt;br /&gt;
&lt;br /&gt;
 [[Fichier:MOUMOUNA-rose.jpg ‎|200px]]  [[Fichier:MOUMOUNA ACTIVE.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31953</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31953"/>
				<updated>2025-03-21T13:24:18Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* résumé du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore (bruits de vagues) à télécharger pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 400px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]] [[Fichier:MOUMOUNA-rose.jpg |300px]]‎&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
PROTOTYPE FINAL&lt;br /&gt;
&lt;br /&gt;
 [[Fichier:MOUMOUNA-rose.jpg ‎|200px]]  [[Fichier:MOUMOUNA ACTIVE.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31952</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31952"/>
				<updated>2025-03-21T13:23:51Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* prototype qu'on souhaite réaliser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore (bruits de vagues) à télécharger pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 400px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]]&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
PROTOTYPE FINAL&lt;br /&gt;
&lt;br /&gt;
 [[Fichier:MOUMOUNA-rose.jpg ‎|200px]]  [[Fichier:MOUMOUNA ACTIVE.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31950</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31950"/>
				<updated>2025-03-21T13:23:17Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* prototype qu'on souhaite réaliser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore (bruits de vagues) à télécharger pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 400px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]]&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 [[Fichier:MOUMOUNA-rose.jpg ‎|200px]]  [[Fichier:MOUMOUNA ACTIVE.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:MOUMOUNA_ACTIVE.jpg&amp;diff=31949</id>
		<title>Fichier:MOUMOUNA ACTIVE.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:MOUMOUNA_ACTIVE.jpg&amp;diff=31949"/>
				<updated>2025-03-21T13:22:36Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:MOUMOUNA-rose.jpg&amp;diff=31948</id>
		<title>Fichier:MOUMOUNA-rose.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:MOUMOUNA-rose.jpg&amp;diff=31948"/>
				<updated>2025-03-21T13:22:18Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31943</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31943"/>
				<updated>2025-03-21T13:11:42Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* résumé du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore (bruits de vagues) à télécharger pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 400px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]]&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31942</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31942"/>
				<updated>2025-03-21T13:10:59Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* résumé du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 400px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]]&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31941</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31941"/>
				<updated>2025-03-21T13:10:05Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* résumé du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 300px]] [[Fichier:Moumouna Distributeur de câlins.png |300px]]&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Moumouna_Distributeur_de_c%C3%A2lins.png&amp;diff=31940</id>
		<title>Fichier:Moumouna Distributeur de câlins.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Moumouna_Distributeur_de_c%C3%A2lins.png&amp;diff=31940"/>
				<updated>2025-03-21T13:09:33Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31938</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31938"/>
				<updated>2025-03-21T13:08:20Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* prototype qu'on souhaite réaliser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 300px]]&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
COLORATION DU TISSUS&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
ASSEMBLAGE DE NOS PROTOTYPES&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31937</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31937"/>
				<updated>2025-03-21T13:07:10Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* prototype qu'on souhaite réaliser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 300px]]&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|200px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31935</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31935"/>
				<updated>2025-03-21T13:05:23Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* prototype qu'on souhaite réaliser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 300px]]&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
 [[Fichier:Decoupe prototype.jpg|300px]]  [[Fichier:Proto details.jpg |200px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31934</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31934"/>
				<updated>2025-03-21T13:03:46Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* prototype qu'on souhaite réaliser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 300px]]&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Proto details.jpg |200px]] [[Fichier:Decoupe prototype.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Decoupe_prototype.jpg&amp;diff=31933</id>
		<title>Fichier:Decoupe prototype.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Decoupe_prototype.jpg&amp;diff=31933"/>
				<updated>2025-03-21T13:03:24Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Proto_details.jpg&amp;diff=31932</id>
		<title>Fichier:Proto details.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Proto_details.jpg&amp;diff=31932"/>
				<updated>2025-03-21T13:01:06Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31922</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31922"/>
				<updated>2025-03-21T11:33:34Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:LOGO MOUMOUNA copie.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 300px]]&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:LOGO_MOUMOUNA_copie.jpg&amp;diff=31921</id>
		<title>Fichier:LOGO MOUMOUNA copie.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:LOGO_MOUMOUNA_copie.jpg&amp;diff=31921"/>
				<updated>2025-03-21T11:32:11Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31916</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31916"/>
				<updated>2025-03-21T11:14:43Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* résumé du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:Moumounan projet calin.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 300px]]&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31915</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31915"/>
				<updated>2025-03-21T11:13:32Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* résumé du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:Moumounan projet calin.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Action technique.jpg | 200px]]&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Action_technique.jpg&amp;diff=31914</id>
		<title>Fichier:Action technique.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Action_technique.jpg&amp;diff=31914"/>
				<updated>2025-03-21T11:12:56Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31913</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31913"/>
				<updated>2025-03-21T11:10:09Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* prototype qu'on souhaite réaliser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:Moumounan projet calin.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]] [[Fichier:Peinture bombe.jpg|200px]] [[Fichier:Couleur bombe.jpg ‎|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Peinture_bombe.jpg&amp;diff=31911</id>
		<title>Fichier:Peinture bombe.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Peinture_bombe.jpg&amp;diff=31911"/>
				<updated>2025-03-21T11:08:39Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Couleur_bombe.jpg&amp;diff=31909</id>
		<title>Fichier:Couleur bombe.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Couleur_bombe.jpg&amp;diff=31909"/>
				<updated>2025-03-21T11:07:36Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31904</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31904"/>
				<updated>2025-03-21T10:49:04Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* membres du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:Moumounan projet calin.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31903</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31903"/>
				<updated>2025-03-21T10:48:56Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* membres du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:Moumounan projet calin.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]] [[Fichier:Equipe.jpg ‎|200 px]]&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31902</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31902"/>
				<updated>2025-03-21T10:48:27Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* membres du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:Moumounan projet calin.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Equipe au travail.jpg ‎|200 px]]&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Equipe.jpg&amp;diff=31901</id>
		<title>Fichier:Equipe.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Equipe.jpg&amp;diff=31901"/>
				<updated>2025-03-21T10:46:39Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : MEL a téléversé une nouvelle version de Fichier:Equipe.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Equipe_au_travail.jpg&amp;diff=31900</id>
		<title>Fichier:Equipe au travail.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Equipe_au_travail.jpg&amp;diff=31900"/>
				<updated>2025-03-21T10:45:54Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31899</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31899"/>
				<updated>2025-03-21T10:33:54Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* membres du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:Moumounan projet calin.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
Aude Mouillot - Catherine Huve - Mélissa Rosingana - Claire Denieul&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31898</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31898"/>
				<updated>2025-03-21T10:33:22Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* prototype qu'on souhaite réaliser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:Moumounan projet calin.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
Claire Denieul - Aude Mouillot - Catherine Huve - Mélissa Rosingana&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  &lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Programmation.jpg |150px]] [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31897</id>
		<title>Passerelle.Infini 2025 : MOUMOUNAN</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Passerelle.Infini_2025_:_MOUMOUNAN&amp;diff=31897"/>
				<updated>2025-03-21T10:32:51Z</updated>
		
		<summary type="html">&lt;p&gt;MEL : /* prototype qu'on souhaite réaliser */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:Moumounan projet calin.jpg|200px]]&lt;br /&gt;
==résumé du projet==&lt;br /&gt;
Nommé MOUMOUNA - dérivé du mot câliner &amp;quot;moumounan&amp;quot; en breton, l'équipe à créé un objet interactif distributeur de câlins à distance disposé dans l'espace public.&lt;br /&gt;
&lt;br /&gt;
Le principe : Enlacer cet objet textile afin de faire baisser son anxiété ou trouver du réconfort. &lt;br /&gt;
La pression contre son corps active Moumouna qui émet une douce vibration et s'illumine. Cet étreinte envoie un signal au deuxième &amp;quot;moumouna&amp;quot; disposé dans un autre espace ou une autre ville, qui s'illumine en attendant un câlin en réponse. &lt;br /&gt;
Les vibrations annoncent que deux personnes s'enlacent par Moumouna interposé.&lt;br /&gt;
&lt;br /&gt;
Un QR code est imprimé sur les deux objets qui vous renvoie vers un bande sonore pour renforcer l'expérience du câlin.&lt;br /&gt;
&lt;br /&gt;
==membres du projet==&lt;br /&gt;
Claire Denieul - Aude Mouillot - Catherine Huve - Mélissa Rosingana&lt;br /&gt;
&lt;br /&gt;
==Bibliographie et webographie sur le projet==&lt;br /&gt;
Mettre ici des exemples trouvés sur web de projets qui ressemblent et des technologies qui s'en rapprochent ou qui servent d'inspiration.&lt;br /&gt;
&lt;br /&gt;
#calinothérapie&lt;br /&gt;
https://www.24heures.ch/les-bienfaits-de-la-calinotherapie-expliques-par-une-experte-803631900339&lt;br /&gt;
&lt;br /&gt;
==pistes explorée, abandonnées ou fertiles==&lt;br /&gt;
CROQUIS / PREMIERES IDEES&lt;br /&gt;
[[Fichier:Croquis 1 moumounan.jpg|200px]]  [[Fichier:Idée 1 moumounan.jpg|200px]] [[Fichier:Moumounan projet calin.jpg|200px]] [[Fichier:Proto-moumounan-esquisse.jpg|200px]]  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Inspiration Oeuvre de Catherine Huve &amp;quot; LE GRAND HUG &amp;quot; textiles, mixtes - Dimensions: 40x70cm, 2024 &lt;br /&gt;
  [[Fichier:LE GRAND HUG Catherine Huve.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
==prototype qu'on souhaite réaliser ==&lt;br /&gt;
PROTOTYPE EN MOUSSE DES DEUX MOUMOUNA&lt;br /&gt;
   [[Fichier:Prototype moumounan mousse.jpg|200px]][[Fichier:Prototype en mousse moumounan.jpg|200px]]&lt;br /&gt;
PROTOTYPE TISSUS&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Coussin tissus proto moumounan.jpg|200px]]&lt;br /&gt;
COUTURE DU PROTOTYPE FINAL&lt;br /&gt;
  [[Fichier:Catherine couture coussin 2.jpg|200px]]  [[Fichier:Catherine couture main coussin.jpg|200px]] [[Fichier:Aude couture housse.jpg|200px]] [[Fichier:Aude couture housse 2.jpg|200px]] &lt;br /&gt;
&lt;br /&gt;
REMPLISSAGE AVEC COPEAUX DE BOIS ET COTON &lt;br /&gt;
  [[Fichier:Cath remplissage moumouna.jpg|200px]] [[Fichier:Copeaux bois.jpg |200px]] [[Fichier:Remplissage moumouna.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Premier proto tissus moumounan.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
BOITE NUMERIQUE&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:Boite numerique.jpg|200px]] [[Fichier:Boite numerique 2.jpg |200px]]  Bande LED [[Fichier:Programmation boite moumouna.jpg|150px]] Vibreur [[Fichier:Vibreur moumouna.jpg |150px]]  [[Fichier:Programmation.jpg |150px]]&lt;br /&gt;
&lt;br /&gt;
  [[Fichier:En action.jpg |300px]]&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/////////////////////////&lt;br /&gt;
//      POCL Poke      //&lt;br /&gt;
/////////////////////////&lt;br /&gt;
/*&lt;br /&gt;
 * Un POCL imaginé et réalisé au Hackathon POCL à l'édulab Rennes 2 les 9 et 10 décembre 2021.&lt;br /&gt;
 * &lt;br /&gt;
 * Difficultés :&lt;br /&gt;
 * Configurez le logiciel Arduino pour gérer la carte D1 mini (ESP8266).&lt;br /&gt;
 * Intégrer les biobliothèues requises par le projet :&lt;br /&gt;
 ** #include &amp;lt;MQTT.h&amp;gt; -&amp;gt; pour gérer le protocole de communication, c'est la bibliothèque MQTT de Joël Gähwiler : https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
 ** #include &amp;lt;Adafruit_NeoPixel.h&amp;gt; -&amp;gt; pour gérer les rubans de led&lt;br /&gt;
 ** #include &amp;lt;WiFiManager.h&amp;gt; -&amp;gt; Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
 * &lt;br /&gt;
 *                                      BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                           -  |[ ]RST        TX[ ]| -                    &lt;br /&gt;
                           -  |[ ]A0  -GPIO  RX[ ]| -                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| -                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]| -                    &lt;br /&gt;
                    Bouton -  |[X]D6-12    0-D3[X]| - ruban de leds             &lt;br /&gt;
                           -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                           -  |[ ]D8-15     GND[X]| - GND (Boutons, ruban de leds)             &lt;br /&gt;
                           -  |[ ]3V3 .      5V[X]| - ruban de Led        &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|                      &lt;br /&gt;
&lt;br /&gt;
Matériel :&lt;br /&gt;
- des fils dupont.&lt;br /&gt;
- un ruban de led RGB WS28B12&lt;br /&gt;
- D1 mini (Wemos, LOLIN,...)&lt;br /&gt;
- bouton poussoir&lt;br /&gt;
- une alimentation 5V&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
 * Un travail d'équipe de :&lt;br /&gt;
 * Alma Oskouei&lt;br /&gt;
 * Gaëlle Bescond&lt;br /&gt;
 * Tony Vanpoucke&lt;br /&gt;
 * Wing-Anh Luy&lt;br /&gt;
 * Antony Le Goïc-Auffret&lt;br /&gt;
   ___&lt;br /&gt;
 / ___ \&lt;br /&gt;
|_|   | |&lt;br /&gt;
     /_/ &lt;br /&gt;
     _   ___   _ &lt;br /&gt;
    |_| |___|_| |_&lt;br /&gt;
         ___|_   _|&lt;br /&gt;
        |___| |_|&lt;br /&gt;
Les petits Débrouillards - décembre 2021 CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
// Programme inspiré de celui par Joël Gähwiler&lt;br /&gt;
// https://github.com/256dpi/arduino-mqtt&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;MQTT.h&amp;gt; // Bibliothèque MQTT par Joël Gaehwiler&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt; // Bibliothèque NeoPixel d'Adafruit&lt;br /&gt;
#include &amp;lt;WiFiManager.h&amp;gt; // Bibliothèque WiFiManager pour configurer automatiquement le réseau wifi et le mot de passe.&lt;br /&gt;
&lt;br /&gt;
WiFiClient net; //on crée l'objet WiFiClient &amp;quot;Net&amp;quot;&lt;br /&gt;
MQTTClient client;&lt;br /&gt;
#define BROKER_IP &amp;quot;debrouillards.ddns.net&amp;quot; //IP du serveur sur lequel est installé le Broker MQTT&lt;br /&gt;
&lt;br /&gt;
unsigned long lastMillis = 0;&lt;br /&gt;
&lt;br /&gt;
//=============élément pour le ruban de led et le bouton===============&lt;br /&gt;
&lt;br /&gt;
// Broche de connexion du ruban de LED&lt;br /&gt;
#define PIN D3 // &lt;br /&gt;
&lt;br /&gt;
const int brocheBouton = 12; //GPIO de la broche D6&lt;br /&gt;
&lt;br /&gt;
const int vib = D4;&lt;br /&gt;
&lt;br /&gt;
// Nombre de Led RDGB dans votre ruban&lt;br /&gt;
#define NUMPIXELS 13 &lt;br /&gt;
&lt;br /&gt;
// on configurer un riban nommé &amp;quot;pixels&amp;quot;&lt;br /&gt;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
#define T 1 // temps pour gérer le fade du ruban&lt;br /&gt;
//==============================================================&lt;br /&gt;
&lt;br /&gt;
void connect() {&lt;br /&gt;
  Serial.print(&amp;quot;Vérification de la connexion Wifi...&amp;quot;);&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  Serial.print(&amp;quot;\nconnexion au serveur MQTT en cours...&amp;quot;);&lt;br /&gt;
  //connection au serveur MQTT : identifiant, User, mot de passe&lt;br /&gt;
  while (!client.connect(&amp;quot;Antony&amp;quot;, &amp;quot;poclpokou&amp;quot;, &amp;quot;pokou&amp;quot;)) {&lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;\nconnecté à MQTT !&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// on s'abonne au sujet (topic) &amp;quot;/mou&amp;quot; &lt;br /&gt;
  client.subscribe(&amp;quot;/mou&amp;quot;); // Attention à la casse !! La casse c'est maj ou minuscule&lt;br /&gt;
  Serial.println(&amp;quot;Abonné à /mou&amp;quot;);&lt;br /&gt;
  // client.unsubscribe(&amp;quot;/mou&amp;quot;);// Pour se désinscrire&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void messageReceived(String &amp;amp;topic, String &amp;amp;payload) {&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  fade();&lt;br /&gt;
  Serial.println(&amp;quot;incoming: &amp;quot; + topic + &amp;quot; - &amp;quot; + payload);&lt;br /&gt;
  if (payload == &amp;quot;calin&amp;quot;){&lt;br /&gt;
    Serial.println(&amp;quot;clic !&amp;quot;);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, LOW);&lt;br /&gt;
    delay(100);&lt;br /&gt;
    digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void fade() {&lt;br /&gt;
  for (int sig=0; sig&amp;lt;3; sig++){&lt;br /&gt;
  for (int b=0; b&amp;lt;255; b++){&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(250, 150, b));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // On allume les rubans&lt;br /&gt;
  digitalWrite(vib, HIGH);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for (int b=255; b&amp;gt;1; b--){ //boucle de gestion de la brillance&lt;br /&gt;
  pixels.setBrightness(b);&lt;br /&gt;
  &lt;br /&gt;
  // n'oubliez pas que le premier pixel porte le Numéro 0&lt;br /&gt;
  for(int i=0; i&amp;lt;NUMPIXELS; i++) { // Pour chaque pixel...&lt;br /&gt;
&lt;br /&gt;
    // pixels.Color() prends les valeurs RGB de 0,0,0 jusqu'à 255,255,255&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(b, 50, 255));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();   // on affiche les pixels&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  delay(T);&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
&lt;br /&gt;
   WiFi.mode(WIFI_STA); // la carte D1 mini est mise en mode STATION&lt;br /&gt;
   WiFiManager MonReseauWifi; // on crée l'objet &amp;quot;MonReseauWifi&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   bool res;&lt;br /&gt;
   res = MonReseauWifi.autoConnect(&amp;quot;Wifi POCL Pokou&amp;quot;); // le POCL diffuse un réseau wifi en accès libre nommé &amp;quot;Wifi POCL Pokou&amp;quot;&lt;br /&gt;
     &lt;br /&gt;
   if(!res) {&lt;br /&gt;
    Serial.println(&amp;quot;La connexion n'a pas fonctionnée...&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
   else {&lt;br /&gt;
    Serial.println(&amp;quot;Vous êtes connecté au Wifi... :-)&amp;quot;);&lt;br /&gt;
    } &lt;br /&gt;
  &lt;br /&gt;
  pixels.begin(); //on initialise le ruban &amp;quot;pixels&amp;quot;&lt;br /&gt;
  pinMode(brocheBouton,INPUT_PULLUP);&lt;br /&gt;
  &lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
  digitalWrite(LED_BUILTIN, HIGH);&lt;br /&gt;
  pinMode(vib, OUTPUT);&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  // on se connecte au client&lt;br /&gt;
  client.begin(BROKER_IP, 1883, net); // (IP, port, Client Wfi défini plus haut)&lt;br /&gt;
  client.onMessage(messageReceived);&lt;br /&gt;
&lt;br /&gt;
  connect();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  pixels.clear(); // Set all pixel colors to 'off'&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  digitalWrite(vib, LOW);&lt;br /&gt;
  &lt;br /&gt;
  client.loop();&lt;br /&gt;
  delay(10);  // &amp;lt;- fixes some issues with WiFi stability&lt;br /&gt;
&lt;br /&gt;
  if (!client.connected()) {&lt;br /&gt;
    connect();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // publish a message roughly every second.&lt;br /&gt;
&lt;br /&gt;
  if ( digitalRead(brocheBouton) == LOW ){&lt;br /&gt;
  Serial.println(&amp;quot;Appuis Bouton&amp;quot;); &lt;br /&gt;
  client.publish(&amp;quot;/mou&amp;quot;, &amp;quot;calin&amp;quot;);&lt;br /&gt;
  delay(250);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ne pas toucher en dessous de ce paragraphe==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Passerelle.infini]]&lt;br /&gt;
[[Catégorie:Passerelle.infini2025]]&lt;/div&gt;</summary>
		<author><name>MEL</name></author>	</entry>

	</feed>