<?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=Matthieu</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=Matthieu"/>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Sp%C3%A9cial:Contributions/Matthieu"/>
		<updated>2026-05-18T01:56:24Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=PAPIFAB_2024-2025&amp;diff=33708</id>
		<title>PAPIFAB 2024-2025</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=PAPIFAB_2024-2025&amp;diff=33708"/>
				<updated>2025-04-03T08:41:58Z</updated>
		
		<summary type="html">&lt;p&gt;Matthieu : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PAPIFAB est un projet de la ville Brest.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Logo Brest metropole ville P blanc.jpg|150px]]&lt;br /&gt;
[[Fichier:BC2017.png|link=http://wiki.a-brest.net/index.php/Portail:BC_2017|50px]]&lt;br /&gt;
&lt;br /&gt;
* [https://numeriqueabrest.gogocarto.fr/map#/carte/@48.398,-4.496,14z?cat=all@fg137fd La carte des PAPI ]&lt;br /&gt;
* [http://www.a-brest.net/article17209.html Présentation du projet sur a-Brest]&lt;br /&gt;
&lt;br /&gt;
==PAPIFAB 3 avril : HTML et CSS==&lt;br /&gt;
&lt;br /&gt;
Logiciels utilisés :&lt;br /&gt;
* [https://vscodium.com/ VSCodium] : alternative libre à Visual Studio Code (pour écrire du code HTML ou CSS)&lt;br /&gt;
* [https://filezilla-project.org/ FileZilla] : pour transférer les fichiers sur un serveur Web par le protocole FTP&lt;br /&gt;
&lt;br /&gt;
Informations diverses :&lt;br /&gt;
* [https://fr.wikipedia.org/wiki/Gemini_(protocole) Protocole Gemini] : alternative au protocole HTTP&lt;br /&gt;
* [https://offurl.fr/search/ Offurl.fr] : moteur de recherche pour trouver les sites officiels de logiciels&lt;br /&gt;
&lt;br /&gt;
==PAPIFAB 6 mars : IA et éducation==&lt;br /&gt;
&lt;br /&gt;
==PAPIFAB 6 février==&lt;br /&gt;
Réalité virtuelle à la médiathèque de Capucins.&lt;br /&gt;
&lt;br /&gt;
l'entrée par le PC sécurité se fait à gauche de l'entrée principale qui se trouve au Rez-de-chaussé sous la passerelle qui relie l'esplanade de la fraternité au passage des arpètes.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;iframe width=&amp;quot;425&amp;quot; height=&amp;quot;350&amp;quot; src=&amp;quot;https://www.openstreetmap.org/export/embed.html?bbox=-4.501487016677857%2C48.388192441634516%2C-4.497061371803285%2C48.390643316817254&amp;amp;amp;layer=mapnik&amp;amp;amp;marker=48.38941796393165%2C-4.499276876449585&amp;quot; style=&amp;quot;border: 1px solid black&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;&amp;lt;a href=&amp;quot;https://www.openstreetmap.org/?mlat=48.389418&amp;amp;amp;mlon=-4.499277#map=18/48.389418/-4.499274&amp;quot;&amp;gt;Afficher une carte plus grande&amp;lt;/a&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Casques d'IFREMER occulus GO===&lt;br /&gt;
* Le film qui est disponible sur le casque VR est le suivant : https://www.ifremer.fr/fr/ressources/plongee-vr-360-sur-une-cheminee-hydrothermale-1700-m-de-profondeur&lt;br /&gt;
* Un second film a été réalisé : https://www.ifremer.fr/fr/ressources/plongee-vr-360-sur-les-coraux-d-eau-froide-de-mediterranee&lt;br /&gt;
* Plusieurs ressources qui pourraient être intéressantes : https://www.ifremer.fr/fr/ressources&lt;br /&gt;
&lt;br /&gt;
==PAPIFAB 9 janvier==&lt;br /&gt;
visite du CERV.&lt;br /&gt;
&lt;br /&gt;
===Présentation du Centre Européen de Réalité Virtuelle===&lt;br /&gt;
* Sur le web : https://cerv.enib.fr/&lt;br /&gt;
Crée en 2004 (il vient de fêter ses 20 ans !), le CERV est situé sur le technopole Brest-Iroise et rassemble laboratoires, entreprises et étudiants dans un contexte multidisciplinaire.&lt;br /&gt;
Ses chercheurs travaillent sur des thèmes de recherche autours de l’informatique, la psychologie, les mathématiques, l’histoire et les sciences de l’éducation.&lt;br /&gt;
Le CERV est spécialisé dans les domaines de recherche liés à l’Intelligence artificielle, les simulations d’activités humaines et de phénomènes complexes, ainsi que la validation formelle et expérimentale des simulations dans un contexte de réalité virtuelle et augmentée.&lt;br /&gt;
&lt;br /&gt;
Le CERV est une plateforme technologique de l'ENIB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;iframe width=&amp;quot;560&amp;quot; height=&amp;quot;315&amp;quot; src=&amp;quot;https://www.youtube.com/embed/gWjLAWkdhig?si=QClLR-vMIDk1T39y&amp;quot; title=&amp;quot;YouTube video player&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;quot; referrerpolicy=&amp;quot;strict-origin-when-cross-origin&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===C'est ou ?===&lt;br /&gt;
25 Rue Claude Chappe, 29280 Plouzané&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;iframe width=&amp;quot;100%&amp;quot; height=&amp;quot;400&amp;quot; src=&amp;quot;https://www.openstreetmap.org/export/embed.html?bbox=-4.575601816177369%2C48.359150563778805%2C-4.56658959388733%2C48.36413340280695&amp;amp;amp;layer=mapnik&amp;amp;amp;marker=48.36164204422131%2C-4.571095705032349&amp;quot; style=&amp;quot;border: 1px solid black&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;&amp;lt;a href=&amp;quot;https://www.openstreetmap.org/?mlat=48.361642&amp;amp;amp;mlon=-4.571096#map=17/48.361642/-4.571096&amp;quot;&amp;gt;Afficher une carte plus grande&amp;lt;/a&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PAPIFAB 19 décembre==&lt;br /&gt;
des leds et du son !&lt;br /&gt;
===circuits led en papier===&lt;br /&gt;
L'activté suiate est inspirée de https://www.voltpaperscissors.com/rgb-touchcube&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;iframe width=&amp;quot;560&amp;quot; height=&amp;quot;315&amp;quot; src=&amp;quot;https://www.youtube.com/embed/FHnXIIKzby8?si=bAG3CORNaFx8OV4v&amp;quot; title=&amp;quot;YouTube video player&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;quot; referrerpolicy=&amp;quot;strict-origin-when-cross-origin&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
A imprimer sur un papier de 160gr&lt;br /&gt;
&lt;br /&gt;
* [[Media:PetitsDebrouillards-Voltpapercisors-cube.pdf|Téléchargez le cube à coller sur la LED]]&lt;br /&gt;
* [[Media:PetitDebrouillard-Voltpapercisors.pdf|Téléchargez le fichier à imprimer et découper pour monter la LED]]&lt;br /&gt;
&lt;br /&gt;
==PAPIFAB 14 novembre 2024 - ESCAPE GAME 2 ==&lt;br /&gt;
/!\ les feuillles de présence !&lt;br /&gt;
&lt;br /&gt;
Au programme : fabrication de dispositifs énigmlatiques numériques :&lt;br /&gt;
* Fausse Bombe à retardement&lt;br /&gt;
* console de potentiomètres linéaires&lt;br /&gt;
&lt;br /&gt;
https://mypads2.framapad.org/p/papifab-2425-bm3f979m5&lt;br /&gt;
&lt;br /&gt;
==codes==&lt;br /&gt;
===Afficheur LED 4 digit display avec ESP32===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
/* compte à rebours pour ESP32 ça marche !&lt;br /&gt;
afficher 4 digitledDisplay&lt;br /&gt;
source : https://www.instructables.com/Countdown-TimerMinutes-and-Seconds-With-Arduino-an/&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;TM1637Display.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Countdown Timer&lt;br /&gt;
const unsigned long COUNTDOWN_TIME = 300; // 5 minutes in seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Pins for TM1637 display module&lt;br /&gt;
#define CLK_PIN 26&lt;br /&gt;
#define DIO_PIN 27&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TM1637Display display(CLK_PIN, DIO_PIN);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
unsigned long startTime;&lt;br /&gt;
unsigned long currentTime;&lt;br /&gt;
unsigned long elapsedTime;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  display.setBrightness(7); // Set the brightness of the display (0-7)&lt;br /&gt;
  display.clear(); // Clear the display&lt;br /&gt;
  startTime = millis(); // Record the starting time&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  currentTime = millis(); // Get the current time&lt;br /&gt;
  elapsedTime = (currentTime - startTime) / 1000; // Calculate elapsed time in seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (elapsedTime &amp;lt;= COUNTDOWN_TIME) {&lt;br /&gt;
    unsigned long remainingTime = COUNTDOWN_TIME - elapsedTime;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    // Display remaining time in Minutes:Seconds format&lt;br /&gt;
    unsigned int minutes = remainingTime / 60;&lt;br /&gt;
    unsigned int seconds = remainingTime % 60;&lt;br /&gt;
    display.showNumberDecEx(minutes * 100 + seconds, 0b01000000, true);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    if (remainingTime == 0) {&lt;br /&gt;
      // Start blinking when countdown reaches 00:00&lt;br /&gt;
      while (true) {&lt;br /&gt;
        display.showNumberDecEx(0, 0b01000000, true); // Display &amp;quot;00:00&amp;quot;&lt;br /&gt;
        delay(500);&lt;br /&gt;
        display.clear(); // Clear the display&lt;br /&gt;
        delay(500);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay(1000); // Wait for 1 second&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===afficheur LED - 4 digit display avec D1 mini===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Lolin (Wemos) D1 mini&lt;br /&gt;
                                     &lt;br /&gt;
                                _________________&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                            - |[X]D0-16    5-D1[X]| SCL&lt;br /&gt;
                        SCK - |[ ]D5-14    4-D2[X]| SDA&lt;br /&gt;
             CLK_PIN - MISO - |[X]D6-12    0-D3[X]|&lt;br /&gt;
             DIO_PIN - MOSI - |[X]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                         SS - |[ ]D8-15     GND[X]|&lt;br /&gt;
                              |[X]3V3        5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   _______________________________________________________&lt;br /&gt;
  |(O)     _____      _____       _____      _____     (O)|&lt;br /&gt;
  |      |\\___//|  |\\___//|   |\\___//|  |\\___//|      |&lt;br /&gt;
  |[ ]CLK| |   | |  | |   | |   | |   | |  | |   | |CLK[X]|- vers D6&lt;br /&gt;
  |[ ]DIO|//---\\|  |//---\\| o |//---\\|  |//---\\|DIO[X]|- vers D7&lt;br /&gt;
  |[ ]GND|\\---//|  |\\---//| o |\\---//|  |\\---//|GND[X]|- vers GND&lt;br /&gt;
  |[ ]5V | |___| |  | |___| |   | |___| |  | |___| | 5V[X]|- vers 3V3 &lt;br /&gt;
  |      |//___\\|o |//___\\|o  |//___\\|o |//___\\|o     |&lt;br /&gt;
  |(O)_________________________________________________(O)| &lt;br /&gt;
&lt;br /&gt;
Matériel :&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;
         |___| |_|&lt;br /&gt;
  Les petits Débrouillards - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
  Antony Le Goïc-Auffret Août 2024&lt;br /&gt;
 */&lt;br /&gt;
#include &amp;lt;TM1637Display.h&amp;gt;&lt;br /&gt;
// Broches pour le module TM1637 (afficheur 4 chiffre à leds 7 segments)&lt;br /&gt;
#define CLK_PIN D6&lt;br /&gt;
#define DIO_PIN D7&lt;br /&gt;
TM1637Display display(CLK_PIN, DIO_PIN);&lt;br /&gt;
&lt;br /&gt;
const unsigned long COUNTDOWN_TIME = 300; // 5 minutes in seconds&lt;br /&gt;
&lt;br /&gt;
unsigned long startTime;&lt;br /&gt;
unsigned long currentTime;&lt;br /&gt;
unsigned long elapsedTime;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  display.setBrightness(7); // luminosité de l'afficheur (0-7)&lt;br /&gt;
  display.clear(); // effacer l'afficheur&lt;br /&gt;
  startTime = millis(); // Record the starting time&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  currentTime = millis(); // Get the current time&lt;br /&gt;
  elapsedTime = (currentTime - startTime) / 1000; // Calculate elapsed time in seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (elapsedTime &amp;lt;= COUNTDOWN_TIME) {&lt;br /&gt;
    unsigned long remainingTime = COUNTDOWN_TIME - elapsedTime;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    // Display remaining time in Minutes:Seconds format&lt;br /&gt;
    unsigned int minutes = remainingTime / 60;&lt;br /&gt;
    unsigned int seconds = remainingTime % 60;&lt;br /&gt;
    display.showNumberDecEx(minutes * 100 + seconds, 0b01000000, true);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    if (remainingTime == 0) {&lt;br /&gt;
      // Start blinking when countdown reaches 00:00&lt;br /&gt;
      while (true) {&lt;br /&gt;
        display.showNumberDecEx(0, 0b01000000, true); // Display &amp;quot;00:00&amp;quot;&lt;br /&gt;
        delay(500);&lt;br /&gt;
        display.clear(); // Clear the display&lt;br /&gt;
        delay(500);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay(1000); // Wait for 1 second&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Bombe à retardement avec ESP32===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
/* compte à rebours &lt;br /&gt;
révision 17102024&lt;br /&gt;
afficher 4 digitledDisplay&lt;br /&gt;
source d'infos : https://www.instructables.com/Countdown-TimerMinutes-and-Seconds-With-Arduino-an/&lt;br /&gt;
&lt;br /&gt;
ESP32 à 30 broches&lt;br /&gt;
                    _______________________&lt;br /&gt;
                     |(O) ESP32-devKit V1 (O)|&lt;br /&gt;
                     |     WIFI-BLUETOOTH    |&lt;br /&gt;
                     |       30 broches      |&lt;br /&gt;
                     |[ ]EN         23-D23[ ]|&lt;br /&gt;
                     |[ ]VP-36      22-D22[ ]|&lt;br /&gt;
                     |[ ]VN-39       1-TXo[ ]|&lt;br /&gt;
                     |[ ]D34-34      3-RXo[ ]|&lt;br /&gt;
                     |[ ]D35-35     21-D21[ ]|&lt;br /&gt;
GND-accélération CàR-|[X]D32-32r    19-D19[ ]|&lt;br /&gt;
       GND-Désamorce-|[X]D33-33r    18-D18[ ]|&lt;br /&gt;
                    -|[ ]D25-25r     r5-D5[ ]|&lt;br /&gt;
       Afficheur CLK-|[X]D26-26r    17-TX2[ ]|&lt;br /&gt;
       Afficheur DIO-|[X]D27-27r    16-RX2[ ]|&lt;br /&gt;
                     |[ ]D14-14r     r4-D4[ ]|&lt;br /&gt;
               Piezo-|[X]D12-12r      2-D2[ ]|&lt;br /&gt;
GND-Lancement du CàR-|[X]D13-13r   r15-D15[ ]|&lt;br /&gt;
                     |[X]GND           GND[ ]|&lt;br /&gt;
                     |[ ]VIN           3V3[X]| /!\ Alim Afficheur + piezo&lt;br /&gt;
                     |   EN            Boot  |&lt;br /&gt;
                     |(O)[o]   +---+   [o](O)|&lt;br /&gt;
                     |_________|USB|_________| r pour résistances interne (PULLUP ou PULLDOWN).&lt;br /&gt;
&lt;br /&gt;
       ____&lt;br /&gt;
     /  (o) \&lt;br /&gt;
    |\______/|&lt;br /&gt;
    |  Piezo |&lt;br /&gt;
     \______/&lt;br /&gt;
      |    |&lt;br /&gt;
      +    -&lt;br /&gt;
      12  GND&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   _______________________________________________________&lt;br /&gt;
  |(O)     _____      _____       _____      _____     (O)|&lt;br /&gt;
  |      |\\___//|  |\\___//|   |\\___//|  |\\___//|      |&lt;br /&gt;
  |[ ]CLK| |   | |  | |   | |   | |   | |  | |   | |CLK[X]|- vers D26&lt;br /&gt;
  |[ ]DIO|//---\\|  |//---\\| o |//---\\|  |//---\\|DIO[X]|- vers D27&lt;br /&gt;
  |[ ]GND|\\---//|  |\\---//| o |\\---//|  |\\---//|GND[X]|- vers GND&lt;br /&gt;
  |[ ]5V | |___| |  | |___| |   | |___| |  | |___| | 5V[X]|- vers 3V3 &lt;br /&gt;
  |      |//___\\|o |//___\\|o  |//___\\|o |//___\\|o     |&lt;br /&gt;
  |(O)_________________________________________________(O)| &lt;br /&gt;
&lt;br /&gt;
Matériel :&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;
         |___| |_|&lt;br /&gt;
  Les petits Débrouillards - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
  Antony Le Goïc-Auffret Août 2024&lt;br /&gt;
 */&lt;br /&gt;
#include &amp;lt;TM1637Display.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Compte à rebours&lt;br /&gt;
const unsigned long COUNTDOWN_TIME = 600; // 10 minutes en secondes&lt;br /&gt;
unsigned long tempsPrecedent = 0;&lt;br /&gt;
int vitesse = 1000;&lt;br /&gt;
&lt;br /&gt;
//Fil&lt;br /&gt;
int brocheFilAcc = 32; //GPIO32 &lt;br /&gt;
int brocheFilStop = 33;//GPIO33 &lt;br /&gt;
bool stop = LOW;&lt;br /&gt;
&lt;br /&gt;
//piezo&lt;br /&gt;
int piezo = 12; // GPIO12&lt;br /&gt;
unsigned long tempsPrecedentPiezo = 0;&lt;br /&gt;
// démarrage&lt;br /&gt;
int brocheLancement = 13; // GPIO13&lt;br /&gt;
bool demarre = 0;&lt;br /&gt;
&lt;br /&gt;
// Broches pour le module TM1637 (afficheur 4 chiffre à leds 7 segments)&lt;br /&gt;
#define CLK_PIN 26&lt;br /&gt;
#define DIO_PIN 27&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TM1637Display display(CLK_PIN, DIO_PIN);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
unsigned long tempsDemarrage;&lt;br /&gt;
unsigned long tempsT;&lt;br /&gt;
unsigned long tempsEcoule;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(57600);&lt;br /&gt;
  display.setBrightness(3); // luminosité de l'afficheur (0-7)&lt;br /&gt;
  display.clear(); // effacer l'afficheur&lt;br /&gt;
  tempsDemarrage = millis(); // stocker la valeur du temps au démarrage&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
  pinMode(brocheFilAcc,INPUT_PULLUP);&lt;br /&gt;
  pinMode(brocheFilStop,INPUT_PULLUP);&lt;br /&gt;
  pinMode(brocheLancement,INPUT_PULLUP);&lt;br /&gt;
  pinMode(piezo,OUTPUT);&lt;br /&gt;
  demarre = digitalRead(brocheLancement);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  if (demarre==0){ // teste si &lt;br /&gt;
  Serial.print(&amp;quot;état démarre : &amp;quot;); Serial.println(demarre); &lt;br /&gt;
  demarre = digitalRead(brocheLancement);&lt;br /&gt;
  tempsDemarrage = millis(); // stocker la valeur du temps au démarrage&lt;br /&gt;
  }&lt;br /&gt;
  else {&lt;br /&gt;
  Serial.print(&amp;quot;état démarre : &amp;quot;); Serial.println(demarre); &lt;br /&gt;
  tempsT = millis(); // récupérer la valuer du temps au temps &amp;quot;t&amp;quot;&lt;br /&gt;
  tempsEcoule = (tempsT - tempsDemarrage) / vitesse; // Calculer le temps écoulé en secondes.&lt;br /&gt;
&lt;br /&gt;
  //gestion du bip&lt;br /&gt;
  if((tempsT-tempsPrecedentPiezo)&amp;gt;50){&lt;br /&gt;
    digitalWrite(piezo,LOW); // éteint le buzzer&lt;br /&gt;
    Serial.println(&amp;quot;état piezo : éteint&amp;quot;);   &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(tempsEcoule);&lt;br /&gt;
  &lt;br /&gt;
  bool coupeAcc = digitalRead(brocheFilAcc);&lt;br /&gt;
  bool coupeStop = digitalRead(brocheFilStop);&lt;br /&gt;
  Serial.println(coupeAcc);&lt;br /&gt;
  Serial.println(vitesse);&lt;br /&gt;
&lt;br /&gt;
  if (coupeAcc == HIGH) { // contrôle du mauvais fil&lt;br /&gt;
    vitesse=100;&lt;br /&gt;
    Serial.print(coupeAcc);&lt;br /&gt;
    Serial.println(vitesse);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  if (coupeStop == HIGH) { // contrôle du fil qui arrête la bombe&lt;br /&gt;
    stop=1;&lt;br /&gt;
    Serial.print(coupeStop);&lt;br /&gt;
    }&lt;br /&gt;
  if (stop == 0){ // le compte à rebours fonctionne normalement tant que le fil n'est pas coupé&lt;br /&gt;
  if((tempsT-tempsPrecedent)&amp;gt;=vitesse){&lt;br /&gt;
  digitalWrite(piezo,HIGH); // allume le buzzer&lt;br /&gt;
  tempsPrecedentPiezo = millis(); tempsPrecedent = millis();&lt;br /&gt;
  if (tempsEcoule &amp;lt;= COUNTDOWN_TIME) {&lt;br /&gt;
    unsigned long remainingTime = COUNTDOWN_TIME - tempsEcoule;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    // affiche le temps restant en format Minutes:Secondes &lt;br /&gt;
    unsigned int minutes = remainingTime / 60;&lt;br /&gt;
    unsigned int seconds = remainingTime % 60;&lt;br /&gt;
    display.showNumberDecEx(minutes * 100 + seconds, 0b01000000, true);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    if (remainingTime == 0) {&lt;br /&gt;
      // clignote lorsque le temps arrive à 00:00&lt;br /&gt;
      digitalWrite(piezo,LOW); // éteint le buzzer&lt;br /&gt;
      while (true) {&lt;br /&gt;
        display.showNumberDecEx(0, 0b01000000, true); // affiche &amp;quot;00:00&amp;quot;&lt;br /&gt;
        delay(500);&lt;br /&gt;
        display.clear(); // vide l'afficheur&lt;br /&gt;
        delay(500);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (stop==1){&lt;br /&gt;
          // clignote avec la valeur de temps qu'il y a au moment ou le fil est coupé&lt;br /&gt;
      digitalWrite(piezo,LOW); // éteint le buzzer&lt;br /&gt;
      while (true) {&lt;br /&gt;
        unsigned long remainingTime = COUNTDOWN_TIME - tempsEcoule;&lt;br /&gt;
        // affiche le temps restant en format Minutes:Secondes&lt;br /&gt;
        unsigned int minutes = remainingTime / 60;&lt;br /&gt;
        unsigned int seconds = remainingTime % 60;&lt;br /&gt;
        display.showNumberDecEx(minutes * 100 + seconds, 0b01000000, true); // affiche le temps&lt;br /&gt;
        delay(500);&lt;br /&gt;
        display.clear(); // vide l'afficheur&lt;br /&gt;
        delay(500);&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==codes==&lt;br /&gt;
===potentiometre lineaire sur esp32===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
// Déclaration de la broche du potentiomètre&lt;br /&gt;
const int potPin = 34; // Utilisation de la broche ADC1 pour ESP32&lt;br /&gt;
&lt;br /&gt;
// Variable pour stocker la valeur lue&lt;br /&gt;
int potValue = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Initialisation de la communication série pour l'affichage des valeurs&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // Lecture de la valeur du potentiomètre&lt;br /&gt;
  potValue = analogRead(potPin);&lt;br /&gt;
   // Affichage de la valeur lue sur le moniteur série&lt;br /&gt;
 &lt;br /&gt;
  Serial.println(potValue);&lt;br /&gt;
  &lt;br /&gt;
  // Petite pause avant de lire la valeur suivante&lt;br /&gt;
  delay(100);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===potentiometre lineaire et bandeau de LED sur arduino UNO===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define LED_PIN    6  // Broche à laquelle le ruban LED est connecté&lt;br /&gt;
#define NUM_LEDS   48  // Nombre de LEDs dans le ruban&lt;br /&gt;
#define POT_PIN    A0  // Broche à laquelle le potentiomètre est connecté&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  strip.begin();&lt;br /&gt;
  strip.show();  // Initialise toutes les LEDs à &amp;quot;off&amp;quot;&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int potValue = analogRead(POT_PIN);  // Lecture de la valeur du potentiomètre&lt;br /&gt;
  int colorValue = map(potValue, 0, 710, 0, 255);  // Conversion de la valeur en une plage de 0 à 255&lt;br /&gt;
&lt;br /&gt;
  // Détermination de la couleur en fonction de la valeur du potentiomètre&lt;br /&gt;
  int red = colorValue;&lt;br /&gt;
  int green = 255 - colorValue;&lt;br /&gt;
  int blue = (colorValue / 4);&lt;br /&gt;
&lt;br /&gt;
  // Application de la couleur sur toutes les LEDs&lt;br /&gt;
  for(int i=0; i&amp;lt;strip.numPixels(); i++) {&lt;br /&gt;
    strip.setPixelColor(i, strip.Color(red, green, blue));&lt;br /&gt;
  }&lt;br /&gt;
  strip.show();  // Mise à jour du ruban LED&lt;br /&gt;
&lt;br /&gt;
  delay(100);  // Petite pause avant la lecture suivante&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----ATTENTION ----&lt;br /&gt;
il faut penser a mettre a jour la bibliotheque adafruit , de bien compter le nombre de led et d'alimenter le potentiometre en 3,3V et le ruban de led en 5V&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
===potentiometre lineaire et bandeau de LED sur wemos D1 mini===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define LED_PIN    D5  // Broche à laquelle le ruban LED est connecté&lt;br /&gt;
#define NUM_LEDS   15  // Nombre de LEDs dans le ruban&lt;br /&gt;
#define POT_PIN    A0  // Broche à laquelle le potentiomètre est connecté&lt;br /&gt;
#define BRIGHTNESS 50  // Luminosité (0-255)&lt;br /&gt;
&lt;br /&gt;
// Création de l'objet NeoPixel&lt;br /&gt;
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  strip.begin();&lt;br /&gt;
  strip.setBrightness(BRIGHTNESS);  // Ajustement de la luminosité&lt;br /&gt;
  strip.show();  // Initialise toutes les LEDs à &amp;quot;off&amp;quot;&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int potValue = analogRead(POT_PIN);  // Lecture de la valeur du potentiomètre&lt;br /&gt;
  int mappedValue = map(potValue, 0, 1024, 0, 1530);  // Conversion de la valeur en une plage de 0 à 1530&lt;br /&gt;
&lt;br /&gt;
  int red = 0, green = 0, blue = 0;&lt;br /&gt;
&lt;br /&gt;
  if (mappedValue &amp;lt; 510) {&lt;br /&gt;
    // Vert à Bleu&lt;br /&gt;
    green = 255 - (mappedValue % 510);&lt;br /&gt;
    blue = mappedValue % 510;&lt;br /&gt;
  } else if (mappedValue &amp;lt; 1020) {&lt;br /&gt;
    // Bleu à Rouge&lt;br /&gt;
    blue = 255 - (mappedValue % 510);&lt;br /&gt;
    red = mappedValue % 510;&lt;br /&gt;
  } else {&lt;br /&gt;
    // Rouge à Vert&lt;br /&gt;
    red = 255 - (mappedValue % 510);&lt;br /&gt;
    green = mappedValue % 510;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Application de la couleur sur toutes les LEDs&lt;br /&gt;
  for (int i = 0; i &amp;lt; strip.numPixels(); i++) {&lt;br /&gt;
    strip.setPixelColor(i, strip.Color(red, green, blue));&lt;br /&gt;
  }&lt;br /&gt;
  strip.show();  // Mise à jour du ruban LED&lt;br /&gt;
 Serial.println(potValue);&lt;br /&gt;
  delay(100);  // Petite pause avant la lecture suivante&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
==codes==&lt;br /&gt;
===potentiometre lineaire sur arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
// Déclaration de la broche du potentiomètre&lt;br /&gt;
const int potPin = A0;&lt;br /&gt;
&lt;br /&gt;
// Variable pour stocker la valeur lue&lt;br /&gt;
int potValue = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Initialisation de la communication série pour l'affichage des valeurs&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // Lecture de la valeur du potentiomètre&lt;br /&gt;
  potValue = analogRead(potPin);&lt;br /&gt;
  &lt;br /&gt;
  // Affichage de la valeur lue sur le moniteur série&lt;br /&gt;
  Serial.println(potValue);&lt;br /&gt;
  &lt;br /&gt;
  // Petite pause avant de lire la valeur suivante&lt;br /&gt;
  delay(100);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PAPIFAB 17 octobre 2024 - ESCAPE GAME 1==&lt;br /&gt;
* [[Escape Game]]&lt;br /&gt;
* Faire sur wikidebrouillard la fiche Piezo : https://www.wikidebrouillard.org/wiki/Item:Buzzer&lt;br /&gt;
Pour la séance deux :&lt;br /&gt;
* Bombe : Damien, Brendan, Alex, Emmeline, Mathieu&lt;br /&gt;
* Potards : Nadia, Josselin voir avec pro Micro !! &lt;br /&gt;
&lt;br /&gt;
[[Fichier:PAPIFAB-escapeGame-171024.JPG]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PAPIFAB-escapeGame2-171024.JPG]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PAPIFAB-escapeGame3-171024.JPG]]&lt;br /&gt;
&lt;br /&gt;
==Programme des PAPIFAB 2024-2025==&lt;br /&gt;
* Septembre :  19 - accueil forum des u-sages ! Spygeon, l'OSS117 de la vidéosurveillance !&lt;br /&gt;
* Octobre :  17 ( car la semaine précédete c'est fête de la sience) - Escape Game 1/2&lt;br /&gt;
* Novembre : 14 - Escape Game 2/2&lt;br /&gt;
* Décembre : 19 - LEd et musique - des paillettes dans la vie !&lt;br /&gt;
* Janvier : 9 - visite du CERV (sous réserve de confirmation)&lt;br /&gt;
* Février : 6 - Expérimentation RV (casque au stang Alar, voir médiathèque).&lt;br /&gt;
* Mars : 6 - IA et éducation.&lt;br /&gt;
* Avril : 3 - Création et hébergement de site web. du html au CMS voir &lt;br /&gt;
* Mai : 15 - fabrication lowtech et numérique - base de lancement à électrovannes &lt;br /&gt;
* Juin : 12 - bilan et perspectives&lt;br /&gt;
&lt;br /&gt;
===Evénements dans le contexte===&lt;br /&gt;
Septembre&lt;br /&gt;
* Mi-septembre Date butoir de l'appel à projet Médiation et Usages du Numérique (AAP MUN) ? (à confirmer). les projets de l'an passé : https://www.a-brest.net/rubrique308.html&lt;br /&gt;
* Mardi 17 septembre : Conférence Bastien Masse IA et éudcation + ateleir dans l'après-midi.&lt;br /&gt;
* samedi 21 et dimanche 22 : journée européenne du patrimoine&lt;br /&gt;
* Vendredi 27 septembre : nuit européenne des chercheuses et des chercheurs&lt;br /&gt;
* La comète Tsuchinshan-ATLAS pourrait être très brillante et visible à l'oeil nu fin septembre et début octobre.&lt;br /&gt;
Octobre&lt;br /&gt;
* Mercredi 9 octobre : soirée de lancement Super Brest&lt;br /&gt;
* Jeudi 10 au dimanche 13 octobre : village des sciences au Quartz - Fabuleux laboratoire&lt;br /&gt;
Novembre&lt;br /&gt;
* Samedi 9 Novembre : Open Bidouille, journée aux capucins&lt;br /&gt;
* ''A définir'' novembre - Plénière de l'AAP MUN.&lt;br /&gt;
* Vendredi 22, samedi 23 et dimanche 24 novembre : Super Brest #10 !&lt;br /&gt;
Mars&lt;br /&gt;
* 14 mars éclipse de lune visible en partie&lt;br /&gt;
&lt;br /&gt;
==Explorations==&lt;br /&gt;
* [[Hexapode super simple]]&lt;br /&gt;
* [[Quadrupède super simple]]&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
[[Catégorie:papifab]]&lt;br /&gt;
[[Catégorie:Arduino]]&lt;/div&gt;</summary>
		<author><name>Matthieu</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=PAPIFAB_2024-2025&amp;diff=33707</id>
		<title>PAPIFAB 2024-2025</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=PAPIFAB_2024-2025&amp;diff=33707"/>
				<updated>2025-04-03T08:40:40Z</updated>
		
		<summary type="html">&lt;p&gt;Matthieu : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PAPIFAB est un projet de la ville Brest.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Logo Brest metropole ville P blanc.jpg|150px]]&lt;br /&gt;
[[Fichier:BC2017.png|link=http://wiki.a-brest.net/index.php/Portail:BC_2017|50px]]&lt;br /&gt;
&lt;br /&gt;
* [https://numeriqueabrest.gogocarto.fr/map#/carte/@48.398,-4.496,14z?cat=all@fg137fd La carte des PAPI ]&lt;br /&gt;
* [http://www.a-brest.net/article17209.html Présentation du projet sur a-Brest]&lt;br /&gt;
&lt;br /&gt;
==PAPIFAB 3 avril : HTML et CSS==&lt;br /&gt;
&lt;br /&gt;
Logiciels utilisés :&lt;br /&gt;
* [https://vscodium.com/] : VSCodium, alternative libre à Visual Studio Code (pour écrire du code HTML ou CSS)&lt;br /&gt;
* [https://filezilla-project.org/] : FileZilla (pour transférer les fichiers sur un serveur Web par le protocole FTP)&lt;br /&gt;
&lt;br /&gt;
Informations diverses :&lt;br /&gt;
* [https://fr.wikipedia.org/wiki/Gemini_(protocole)] : protocole Gemini, alternative au protocole HTTP&lt;br /&gt;
* [https://offurl.fr/search/] : moteur de recherche pour trouver les sites officiels de logiciels&lt;br /&gt;
&lt;br /&gt;
==PAPIFAB 6 mars : IA et éducation==&lt;br /&gt;
&lt;br /&gt;
==PAPIFAB 6 février==&lt;br /&gt;
Réalité virtuelle à la médiathèque de Capucins.&lt;br /&gt;
&lt;br /&gt;
l'entrée par le PC sécurité se fait à gauche de l'entrée principale qui se trouve au Rez-de-chaussé sous la passerelle qui relie l'esplanade de la fraternité au passage des arpètes.&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;iframe width=&amp;quot;425&amp;quot; height=&amp;quot;350&amp;quot; src=&amp;quot;https://www.openstreetmap.org/export/embed.html?bbox=-4.501487016677857%2C48.388192441634516%2C-4.497061371803285%2C48.390643316817254&amp;amp;amp;layer=mapnik&amp;amp;amp;marker=48.38941796393165%2C-4.499276876449585&amp;quot; style=&amp;quot;border: 1px solid black&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;&amp;lt;a href=&amp;quot;https://www.openstreetmap.org/?mlat=48.389418&amp;amp;amp;mlon=-4.499277#map=18/48.389418/-4.499274&amp;quot;&amp;gt;Afficher une carte plus grande&amp;lt;/a&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Casques d'IFREMER occulus GO===&lt;br /&gt;
* Le film qui est disponible sur le casque VR est le suivant : https://www.ifremer.fr/fr/ressources/plongee-vr-360-sur-une-cheminee-hydrothermale-1700-m-de-profondeur&lt;br /&gt;
* Un second film a été réalisé : https://www.ifremer.fr/fr/ressources/plongee-vr-360-sur-les-coraux-d-eau-froide-de-mediterranee&lt;br /&gt;
* Plusieurs ressources qui pourraient être intéressantes : https://www.ifremer.fr/fr/ressources&lt;br /&gt;
&lt;br /&gt;
==PAPIFAB 9 janvier==&lt;br /&gt;
visite du CERV.&lt;br /&gt;
&lt;br /&gt;
===Présentation du Centre Européen de Réalité Virtuelle===&lt;br /&gt;
* Sur le web : https://cerv.enib.fr/&lt;br /&gt;
Crée en 2004 (il vient de fêter ses 20 ans !), le CERV est situé sur le technopole Brest-Iroise et rassemble laboratoires, entreprises et étudiants dans un contexte multidisciplinaire.&lt;br /&gt;
Ses chercheurs travaillent sur des thèmes de recherche autours de l’informatique, la psychologie, les mathématiques, l’histoire et les sciences de l’éducation.&lt;br /&gt;
Le CERV est spécialisé dans les domaines de recherche liés à l’Intelligence artificielle, les simulations d’activités humaines et de phénomènes complexes, ainsi que la validation formelle et expérimentale des simulations dans un contexte de réalité virtuelle et augmentée.&lt;br /&gt;
&lt;br /&gt;
Le CERV est une plateforme technologique de l'ENIB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;iframe width=&amp;quot;560&amp;quot; height=&amp;quot;315&amp;quot; src=&amp;quot;https://www.youtube.com/embed/gWjLAWkdhig?si=QClLR-vMIDk1T39y&amp;quot; title=&amp;quot;YouTube video player&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;quot; referrerpolicy=&amp;quot;strict-origin-when-cross-origin&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===C'est ou ?===&lt;br /&gt;
25 Rue Claude Chappe, 29280 Plouzané&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;iframe width=&amp;quot;100%&amp;quot; height=&amp;quot;400&amp;quot; src=&amp;quot;https://www.openstreetmap.org/export/embed.html?bbox=-4.575601816177369%2C48.359150563778805%2C-4.56658959388733%2C48.36413340280695&amp;amp;amp;layer=mapnik&amp;amp;amp;marker=48.36164204422131%2C-4.571095705032349&amp;quot; style=&amp;quot;border: 1px solid black&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;&amp;lt;a href=&amp;quot;https://www.openstreetmap.org/?mlat=48.361642&amp;amp;amp;mlon=-4.571096#map=17/48.361642/-4.571096&amp;quot;&amp;gt;Afficher une carte plus grande&amp;lt;/a&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PAPIFAB 19 décembre==&lt;br /&gt;
des leds et du son !&lt;br /&gt;
===circuits led en papier===&lt;br /&gt;
L'activté suiate est inspirée de https://www.voltpaperscissors.com/rgb-touchcube&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;iframe width=&amp;quot;560&amp;quot; height=&amp;quot;315&amp;quot; src=&amp;quot;https://www.youtube.com/embed/FHnXIIKzby8?si=bAG3CORNaFx8OV4v&amp;quot; title=&amp;quot;YouTube video player&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;quot; referrerpolicy=&amp;quot;strict-origin-when-cross-origin&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
A imprimer sur un papier de 160gr&lt;br /&gt;
&lt;br /&gt;
* [[Media:PetitsDebrouillards-Voltpapercisors-cube.pdf|Téléchargez le cube à coller sur la LED]]&lt;br /&gt;
* [[Media:PetitDebrouillard-Voltpapercisors.pdf|Téléchargez le fichier à imprimer et découper pour monter la LED]]&lt;br /&gt;
&lt;br /&gt;
==PAPIFAB 14 novembre 2024 - ESCAPE GAME 2 ==&lt;br /&gt;
/!\ les feuillles de présence !&lt;br /&gt;
&lt;br /&gt;
Au programme : fabrication de dispositifs énigmlatiques numériques :&lt;br /&gt;
* Fausse Bombe à retardement&lt;br /&gt;
* console de potentiomètres linéaires&lt;br /&gt;
&lt;br /&gt;
https://mypads2.framapad.org/p/papifab-2425-bm3f979m5&lt;br /&gt;
&lt;br /&gt;
==codes==&lt;br /&gt;
===Afficheur LED 4 digit display avec ESP32===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
/* compte à rebours pour ESP32 ça marche !&lt;br /&gt;
afficher 4 digitledDisplay&lt;br /&gt;
source : https://www.instructables.com/Countdown-TimerMinutes-and-Seconds-With-Arduino-an/&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;TM1637Display.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Countdown Timer&lt;br /&gt;
const unsigned long COUNTDOWN_TIME = 300; // 5 minutes in seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Pins for TM1637 display module&lt;br /&gt;
#define CLK_PIN 26&lt;br /&gt;
#define DIO_PIN 27&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TM1637Display display(CLK_PIN, DIO_PIN);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
unsigned long startTime;&lt;br /&gt;
unsigned long currentTime;&lt;br /&gt;
unsigned long elapsedTime;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  display.setBrightness(7); // Set the brightness of the display (0-7)&lt;br /&gt;
  display.clear(); // Clear the display&lt;br /&gt;
  startTime = millis(); // Record the starting time&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  currentTime = millis(); // Get the current time&lt;br /&gt;
  elapsedTime = (currentTime - startTime) / 1000; // Calculate elapsed time in seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (elapsedTime &amp;lt;= COUNTDOWN_TIME) {&lt;br /&gt;
    unsigned long remainingTime = COUNTDOWN_TIME - elapsedTime;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    // Display remaining time in Minutes:Seconds format&lt;br /&gt;
    unsigned int minutes = remainingTime / 60;&lt;br /&gt;
    unsigned int seconds = remainingTime % 60;&lt;br /&gt;
    display.showNumberDecEx(minutes * 100 + seconds, 0b01000000, true);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    if (remainingTime == 0) {&lt;br /&gt;
      // Start blinking when countdown reaches 00:00&lt;br /&gt;
      while (true) {&lt;br /&gt;
        display.showNumberDecEx(0, 0b01000000, true); // Display &amp;quot;00:00&amp;quot;&lt;br /&gt;
        delay(500);&lt;br /&gt;
        display.clear(); // Clear the display&lt;br /&gt;
        delay(500);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay(1000); // Wait for 1 second&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===afficheur LED - 4 digit display avec D1 mini===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Lolin (Wemos) D1 mini&lt;br /&gt;
                                     &lt;br /&gt;
                                _________________&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                            - |[X]D0-16    5-D1[X]| SCL&lt;br /&gt;
                        SCK - |[ ]D5-14    4-D2[X]| SDA&lt;br /&gt;
             CLK_PIN - MISO - |[X]D6-12    0-D3[X]|&lt;br /&gt;
             DIO_PIN - MOSI - |[X]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                         SS - |[ ]D8-15     GND[X]|&lt;br /&gt;
                              |[X]3V3        5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   _______________________________________________________&lt;br /&gt;
  |(O)     _____      _____       _____      _____     (O)|&lt;br /&gt;
  |      |\\___//|  |\\___//|   |\\___//|  |\\___//|      |&lt;br /&gt;
  |[ ]CLK| |   | |  | |   | |   | |   | |  | |   | |CLK[X]|- vers D6&lt;br /&gt;
  |[ ]DIO|//---\\|  |//---\\| o |//---\\|  |//---\\|DIO[X]|- vers D7&lt;br /&gt;
  |[ ]GND|\\---//|  |\\---//| o |\\---//|  |\\---//|GND[X]|- vers GND&lt;br /&gt;
  |[ ]5V | |___| |  | |___| |   | |___| |  | |___| | 5V[X]|- vers 3V3 &lt;br /&gt;
  |      |//___\\|o |//___\\|o  |//___\\|o |//___\\|o     |&lt;br /&gt;
  |(O)_________________________________________________(O)| &lt;br /&gt;
&lt;br /&gt;
Matériel :&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;
         |___| |_|&lt;br /&gt;
  Les petits Débrouillards - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
  Antony Le Goïc-Auffret Août 2024&lt;br /&gt;
 */&lt;br /&gt;
#include &amp;lt;TM1637Display.h&amp;gt;&lt;br /&gt;
// Broches pour le module TM1637 (afficheur 4 chiffre à leds 7 segments)&lt;br /&gt;
#define CLK_PIN D6&lt;br /&gt;
#define DIO_PIN D7&lt;br /&gt;
TM1637Display display(CLK_PIN, DIO_PIN);&lt;br /&gt;
&lt;br /&gt;
const unsigned long COUNTDOWN_TIME = 300; // 5 minutes in seconds&lt;br /&gt;
&lt;br /&gt;
unsigned long startTime;&lt;br /&gt;
unsigned long currentTime;&lt;br /&gt;
unsigned long elapsedTime;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  display.setBrightness(7); // luminosité de l'afficheur (0-7)&lt;br /&gt;
  display.clear(); // effacer l'afficheur&lt;br /&gt;
  startTime = millis(); // Record the starting time&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  currentTime = millis(); // Get the current time&lt;br /&gt;
  elapsedTime = (currentTime - startTime) / 1000; // Calculate elapsed time in seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (elapsedTime &amp;lt;= COUNTDOWN_TIME) {&lt;br /&gt;
    unsigned long remainingTime = COUNTDOWN_TIME - elapsedTime;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    // Display remaining time in Minutes:Seconds format&lt;br /&gt;
    unsigned int minutes = remainingTime / 60;&lt;br /&gt;
    unsigned int seconds = remainingTime % 60;&lt;br /&gt;
    display.showNumberDecEx(minutes * 100 + seconds, 0b01000000, true);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    if (remainingTime == 0) {&lt;br /&gt;
      // Start blinking when countdown reaches 00:00&lt;br /&gt;
      while (true) {&lt;br /&gt;
        display.showNumberDecEx(0, 0b01000000, true); // Display &amp;quot;00:00&amp;quot;&lt;br /&gt;
        delay(500);&lt;br /&gt;
        display.clear(); // Clear the display&lt;br /&gt;
        delay(500);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  delay(1000); // Wait for 1 second&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Bombe à retardement avec ESP32===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
/* compte à rebours &lt;br /&gt;
révision 17102024&lt;br /&gt;
afficher 4 digitledDisplay&lt;br /&gt;
source d'infos : https://www.instructables.com/Countdown-TimerMinutes-and-Seconds-With-Arduino-an/&lt;br /&gt;
&lt;br /&gt;
ESP32 à 30 broches&lt;br /&gt;
                    _______________________&lt;br /&gt;
                     |(O) ESP32-devKit V1 (O)|&lt;br /&gt;
                     |     WIFI-BLUETOOTH    |&lt;br /&gt;
                     |       30 broches      |&lt;br /&gt;
                     |[ ]EN         23-D23[ ]|&lt;br /&gt;
                     |[ ]VP-36      22-D22[ ]|&lt;br /&gt;
                     |[ ]VN-39       1-TXo[ ]|&lt;br /&gt;
                     |[ ]D34-34      3-RXo[ ]|&lt;br /&gt;
                     |[ ]D35-35     21-D21[ ]|&lt;br /&gt;
GND-accélération CàR-|[X]D32-32r    19-D19[ ]|&lt;br /&gt;
       GND-Désamorce-|[X]D33-33r    18-D18[ ]|&lt;br /&gt;
                    -|[ ]D25-25r     r5-D5[ ]|&lt;br /&gt;
       Afficheur CLK-|[X]D26-26r    17-TX2[ ]|&lt;br /&gt;
       Afficheur DIO-|[X]D27-27r    16-RX2[ ]|&lt;br /&gt;
                     |[ ]D14-14r     r4-D4[ ]|&lt;br /&gt;
               Piezo-|[X]D12-12r      2-D2[ ]|&lt;br /&gt;
GND-Lancement du CàR-|[X]D13-13r   r15-D15[ ]|&lt;br /&gt;
                     |[X]GND           GND[ ]|&lt;br /&gt;
                     |[ ]VIN           3V3[X]| /!\ Alim Afficheur + piezo&lt;br /&gt;
                     |   EN            Boot  |&lt;br /&gt;
                     |(O)[o]   +---+   [o](O)|&lt;br /&gt;
                     |_________|USB|_________| r pour résistances interne (PULLUP ou PULLDOWN).&lt;br /&gt;
&lt;br /&gt;
       ____&lt;br /&gt;
     /  (o) \&lt;br /&gt;
    |\______/|&lt;br /&gt;
    |  Piezo |&lt;br /&gt;
     \______/&lt;br /&gt;
      |    |&lt;br /&gt;
      +    -&lt;br /&gt;
      12  GND&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   _______________________________________________________&lt;br /&gt;
  |(O)     _____      _____       _____      _____     (O)|&lt;br /&gt;
  |      |\\___//|  |\\___//|   |\\___//|  |\\___//|      |&lt;br /&gt;
  |[ ]CLK| |   | |  | |   | |   | |   | |  | |   | |CLK[X]|- vers D26&lt;br /&gt;
  |[ ]DIO|//---\\|  |//---\\| o |//---\\|  |//---\\|DIO[X]|- vers D27&lt;br /&gt;
  |[ ]GND|\\---//|  |\\---//| o |\\---//|  |\\---//|GND[X]|- vers GND&lt;br /&gt;
  |[ ]5V | |___| |  | |___| |   | |___| |  | |___| | 5V[X]|- vers 3V3 &lt;br /&gt;
  |      |//___\\|o |//___\\|o  |//___\\|o |//___\\|o     |&lt;br /&gt;
  |(O)_________________________________________________(O)| &lt;br /&gt;
&lt;br /&gt;
Matériel :&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;
         |___| |_|&lt;br /&gt;
  Les petits Débrouillards - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/&lt;br /&gt;
  Antony Le Goïc-Auffret Août 2024&lt;br /&gt;
 */&lt;br /&gt;
#include &amp;lt;TM1637Display.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Compte à rebours&lt;br /&gt;
const unsigned long COUNTDOWN_TIME = 600; // 10 minutes en secondes&lt;br /&gt;
unsigned long tempsPrecedent = 0;&lt;br /&gt;
int vitesse = 1000;&lt;br /&gt;
&lt;br /&gt;
//Fil&lt;br /&gt;
int brocheFilAcc = 32; //GPIO32 &lt;br /&gt;
int brocheFilStop = 33;//GPIO33 &lt;br /&gt;
bool stop = LOW;&lt;br /&gt;
&lt;br /&gt;
//piezo&lt;br /&gt;
int piezo = 12; // GPIO12&lt;br /&gt;
unsigned long tempsPrecedentPiezo = 0;&lt;br /&gt;
// démarrage&lt;br /&gt;
int brocheLancement = 13; // GPIO13&lt;br /&gt;
bool demarre = 0;&lt;br /&gt;
&lt;br /&gt;
// Broches pour le module TM1637 (afficheur 4 chiffre à leds 7 segments)&lt;br /&gt;
#define CLK_PIN 26&lt;br /&gt;
#define DIO_PIN 27&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TM1637Display display(CLK_PIN, DIO_PIN);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
unsigned long tempsDemarrage;&lt;br /&gt;
unsigned long tempsT;&lt;br /&gt;
unsigned long tempsEcoule;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(57600);&lt;br /&gt;
  display.setBrightness(3); // luminosité de l'afficheur (0-7)&lt;br /&gt;
  display.clear(); // effacer l'afficheur&lt;br /&gt;
  tempsDemarrage = millis(); // stocker la valeur du temps au démarrage&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
  pinMode(brocheFilAcc,INPUT_PULLUP);&lt;br /&gt;
  pinMode(brocheFilStop,INPUT_PULLUP);&lt;br /&gt;
  pinMode(brocheLancement,INPUT_PULLUP);&lt;br /&gt;
  pinMode(piezo,OUTPUT);&lt;br /&gt;
  demarre = digitalRead(brocheLancement);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  if (demarre==0){ // teste si &lt;br /&gt;
  Serial.print(&amp;quot;état démarre : &amp;quot;); Serial.println(demarre); &lt;br /&gt;
  demarre = digitalRead(brocheLancement);&lt;br /&gt;
  tempsDemarrage = millis(); // stocker la valeur du temps au démarrage&lt;br /&gt;
  }&lt;br /&gt;
  else {&lt;br /&gt;
  Serial.print(&amp;quot;état démarre : &amp;quot;); Serial.println(demarre); &lt;br /&gt;
  tempsT = millis(); // récupérer la valuer du temps au temps &amp;quot;t&amp;quot;&lt;br /&gt;
  tempsEcoule = (tempsT - tempsDemarrage) / vitesse; // Calculer le temps écoulé en secondes.&lt;br /&gt;
&lt;br /&gt;
  //gestion du bip&lt;br /&gt;
  if((tempsT-tempsPrecedentPiezo)&amp;gt;50){&lt;br /&gt;
    digitalWrite(piezo,LOW); // éteint le buzzer&lt;br /&gt;
    Serial.println(&amp;quot;état piezo : éteint&amp;quot;);   &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  Serial.println(tempsEcoule);&lt;br /&gt;
  &lt;br /&gt;
  bool coupeAcc = digitalRead(brocheFilAcc);&lt;br /&gt;
  bool coupeStop = digitalRead(brocheFilStop);&lt;br /&gt;
  Serial.println(coupeAcc);&lt;br /&gt;
  Serial.println(vitesse);&lt;br /&gt;
&lt;br /&gt;
  if (coupeAcc == HIGH) { // contrôle du mauvais fil&lt;br /&gt;
    vitesse=100;&lt;br /&gt;
    Serial.print(coupeAcc);&lt;br /&gt;
    Serial.println(vitesse);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  if (coupeStop == HIGH) { // contrôle du fil qui arrête la bombe&lt;br /&gt;
    stop=1;&lt;br /&gt;
    Serial.print(coupeStop);&lt;br /&gt;
    }&lt;br /&gt;
  if (stop == 0){ // le compte à rebours fonctionne normalement tant que le fil n'est pas coupé&lt;br /&gt;
  if((tempsT-tempsPrecedent)&amp;gt;=vitesse){&lt;br /&gt;
  digitalWrite(piezo,HIGH); // allume le buzzer&lt;br /&gt;
  tempsPrecedentPiezo = millis(); tempsPrecedent = millis();&lt;br /&gt;
  if (tempsEcoule &amp;lt;= COUNTDOWN_TIME) {&lt;br /&gt;
    unsigned long remainingTime = COUNTDOWN_TIME - tempsEcoule;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    // affiche le temps restant en format Minutes:Secondes &lt;br /&gt;
    unsigned int minutes = remainingTime / 60;&lt;br /&gt;
    unsigned int seconds = remainingTime % 60;&lt;br /&gt;
    display.showNumberDecEx(minutes * 100 + seconds, 0b01000000, true);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    if (remainingTime == 0) {&lt;br /&gt;
      // clignote lorsque le temps arrive à 00:00&lt;br /&gt;
      digitalWrite(piezo,LOW); // éteint le buzzer&lt;br /&gt;
      while (true) {&lt;br /&gt;
        display.showNumberDecEx(0, 0b01000000, true); // affiche &amp;quot;00:00&amp;quot;&lt;br /&gt;
        delay(500);&lt;br /&gt;
        display.clear(); // vide l'afficheur&lt;br /&gt;
        delay(500);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (stop==1){&lt;br /&gt;
          // clignote avec la valeur de temps qu'il y a au moment ou le fil est coupé&lt;br /&gt;
      digitalWrite(piezo,LOW); // éteint le buzzer&lt;br /&gt;
      while (true) {&lt;br /&gt;
        unsigned long remainingTime = COUNTDOWN_TIME - tempsEcoule;&lt;br /&gt;
        // affiche le temps restant en format Minutes:Secondes&lt;br /&gt;
        unsigned int minutes = remainingTime / 60;&lt;br /&gt;
        unsigned int seconds = remainingTime % 60;&lt;br /&gt;
        display.showNumberDecEx(minutes * 100 + seconds, 0b01000000, true); // affiche le temps&lt;br /&gt;
        delay(500);&lt;br /&gt;
        display.clear(); // vide l'afficheur&lt;br /&gt;
        delay(500);&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==codes==&lt;br /&gt;
===potentiometre lineaire sur esp32===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
// Déclaration de la broche du potentiomètre&lt;br /&gt;
const int potPin = 34; // Utilisation de la broche ADC1 pour ESP32&lt;br /&gt;
&lt;br /&gt;
// Variable pour stocker la valeur lue&lt;br /&gt;
int potValue = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Initialisation de la communication série pour l'affichage des valeurs&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // Lecture de la valeur du potentiomètre&lt;br /&gt;
  potValue = analogRead(potPin);&lt;br /&gt;
   // Affichage de la valeur lue sur le moniteur série&lt;br /&gt;
 &lt;br /&gt;
  Serial.println(potValue);&lt;br /&gt;
  &lt;br /&gt;
  // Petite pause avant de lire la valeur suivante&lt;br /&gt;
  delay(100);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===potentiometre lineaire et bandeau de LED sur arduino UNO===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define LED_PIN    6  // Broche à laquelle le ruban LED est connecté&lt;br /&gt;
#define NUM_LEDS   48  // Nombre de LEDs dans le ruban&lt;br /&gt;
#define POT_PIN    A0  // Broche à laquelle le potentiomètre est connecté&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  strip.begin();&lt;br /&gt;
  strip.show();  // Initialise toutes les LEDs à &amp;quot;off&amp;quot;&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int potValue = analogRead(POT_PIN);  // Lecture de la valeur du potentiomètre&lt;br /&gt;
  int colorValue = map(potValue, 0, 710, 0, 255);  // Conversion de la valeur en une plage de 0 à 255&lt;br /&gt;
&lt;br /&gt;
  // Détermination de la couleur en fonction de la valeur du potentiomètre&lt;br /&gt;
  int red = colorValue;&lt;br /&gt;
  int green = 255 - colorValue;&lt;br /&gt;
  int blue = (colorValue / 4);&lt;br /&gt;
&lt;br /&gt;
  // Application de la couleur sur toutes les LEDs&lt;br /&gt;
  for(int i=0; i&amp;lt;strip.numPixels(); i++) {&lt;br /&gt;
    strip.setPixelColor(i, strip.Color(red, green, blue));&lt;br /&gt;
  }&lt;br /&gt;
  strip.show();  // Mise à jour du ruban LED&lt;br /&gt;
&lt;br /&gt;
  delay(100);  // Petite pause avant la lecture suivante&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----ATTENTION ----&lt;br /&gt;
il faut penser a mettre a jour la bibliotheque adafruit , de bien compter le nombre de led et d'alimenter le potentiometre en 3,3V et le ruban de led en 5V&lt;br /&gt;
&lt;br /&gt;
==code==&lt;br /&gt;
===potentiometre lineaire et bandeau de LED sur wemos D1 mini===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define LED_PIN    D5  // Broche à laquelle le ruban LED est connecté&lt;br /&gt;
#define NUM_LEDS   15  // Nombre de LEDs dans le ruban&lt;br /&gt;
#define POT_PIN    A0  // Broche à laquelle le potentiomètre est connecté&lt;br /&gt;
#define BRIGHTNESS 50  // Luminosité (0-255)&lt;br /&gt;
&lt;br /&gt;
// Création de l'objet NeoPixel&lt;br /&gt;
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  strip.begin();&lt;br /&gt;
  strip.setBrightness(BRIGHTNESS);  // Ajustement de la luminosité&lt;br /&gt;
  strip.show();  // Initialise toutes les LEDs à &amp;quot;off&amp;quot;&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  int potValue = analogRead(POT_PIN);  // Lecture de la valeur du potentiomètre&lt;br /&gt;
  int mappedValue = map(potValue, 0, 1024, 0, 1530);  // Conversion de la valeur en une plage de 0 à 1530&lt;br /&gt;
&lt;br /&gt;
  int red = 0, green = 0, blue = 0;&lt;br /&gt;
&lt;br /&gt;
  if (mappedValue &amp;lt; 510) {&lt;br /&gt;
    // Vert à Bleu&lt;br /&gt;
    green = 255 - (mappedValue % 510);&lt;br /&gt;
    blue = mappedValue % 510;&lt;br /&gt;
  } else if (mappedValue &amp;lt; 1020) {&lt;br /&gt;
    // Bleu à Rouge&lt;br /&gt;
    blue = 255 - (mappedValue % 510);&lt;br /&gt;
    red = mappedValue % 510;&lt;br /&gt;
  } else {&lt;br /&gt;
    // Rouge à Vert&lt;br /&gt;
    red = 255 - (mappedValue % 510);&lt;br /&gt;
    green = mappedValue % 510;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Application de la couleur sur toutes les LEDs&lt;br /&gt;
  for (int i = 0; i &amp;lt; strip.numPixels(); i++) {&lt;br /&gt;
    strip.setPixelColor(i, strip.Color(red, green, blue));&lt;br /&gt;
  }&lt;br /&gt;
  strip.show();  // Mise à jour du ruban LED&lt;br /&gt;
 Serial.println(potValue);&lt;br /&gt;
  delay(100);  // Petite pause avant la lecture suivante&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
==codes==&lt;br /&gt;
===potentiometre lineaire sur arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
// Déclaration de la broche du potentiomètre&lt;br /&gt;
const int potPin = A0;&lt;br /&gt;
&lt;br /&gt;
// Variable pour stocker la valeur lue&lt;br /&gt;
int potValue = 0;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Initialisation de la communication série pour l'affichage des valeurs&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // Lecture de la valeur du potentiomètre&lt;br /&gt;
  potValue = analogRead(potPin);&lt;br /&gt;
  &lt;br /&gt;
  // Affichage de la valeur lue sur le moniteur série&lt;br /&gt;
  Serial.println(potValue);&lt;br /&gt;
  &lt;br /&gt;
  // Petite pause avant de lire la valeur suivante&lt;br /&gt;
  delay(100);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PAPIFAB 17 octobre 2024 - ESCAPE GAME 1==&lt;br /&gt;
* [[Escape Game]]&lt;br /&gt;
* Faire sur wikidebrouillard la fiche Piezo : https://www.wikidebrouillard.org/wiki/Item:Buzzer&lt;br /&gt;
Pour la séance deux :&lt;br /&gt;
* Bombe : Damien, Brendan, Alex, Emmeline, Mathieu&lt;br /&gt;
* Potards : Nadia, Josselin voir avec pro Micro !! &lt;br /&gt;
&lt;br /&gt;
[[Fichier:PAPIFAB-escapeGame-171024.JPG]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PAPIFAB-escapeGame2-171024.JPG]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PAPIFAB-escapeGame3-171024.JPG]]&lt;br /&gt;
&lt;br /&gt;
==Programme des PAPIFAB 2024-2025==&lt;br /&gt;
* Septembre :  19 - accueil forum des u-sages ! Spygeon, l'OSS117 de la vidéosurveillance !&lt;br /&gt;
* Octobre :  17 ( car la semaine précédete c'est fête de la sience) - Escape Game 1/2&lt;br /&gt;
* Novembre : 14 - Escape Game 2/2&lt;br /&gt;
* Décembre : 19 - LEd et musique - des paillettes dans la vie !&lt;br /&gt;
* Janvier : 9 - visite du CERV (sous réserve de confirmation)&lt;br /&gt;
* Février : 6 - Expérimentation RV (casque au stang Alar, voir médiathèque).&lt;br /&gt;
* Mars : 6 - IA et éducation.&lt;br /&gt;
* Avril : 3 - Création et hébergement de site web. du html au CMS voir &lt;br /&gt;
* Mai : 15 - fabrication lowtech et numérique - base de lancement à électrovannes &lt;br /&gt;
* Juin : 12 - bilan et perspectives&lt;br /&gt;
&lt;br /&gt;
===Evénements dans le contexte===&lt;br /&gt;
Septembre&lt;br /&gt;
* Mi-septembre Date butoir de l'appel à projet Médiation et Usages du Numérique (AAP MUN) ? (à confirmer). les projets de l'an passé : https://www.a-brest.net/rubrique308.html&lt;br /&gt;
* Mardi 17 septembre : Conférence Bastien Masse IA et éudcation + ateleir dans l'après-midi.&lt;br /&gt;
* samedi 21 et dimanche 22 : journée européenne du patrimoine&lt;br /&gt;
* Vendredi 27 septembre : nuit européenne des chercheuses et des chercheurs&lt;br /&gt;
* La comète Tsuchinshan-ATLAS pourrait être très brillante et visible à l'oeil nu fin septembre et début octobre.&lt;br /&gt;
Octobre&lt;br /&gt;
* Mercredi 9 octobre : soirée de lancement Super Brest&lt;br /&gt;
* Jeudi 10 au dimanche 13 octobre : village des sciences au Quartz - Fabuleux laboratoire&lt;br /&gt;
Novembre&lt;br /&gt;
* Samedi 9 Novembre : Open Bidouille, journée aux capucins&lt;br /&gt;
* ''A définir'' novembre - Plénière de l'AAP MUN.&lt;br /&gt;
* Vendredi 22, samedi 23 et dimanche 24 novembre : Super Brest #10 !&lt;br /&gt;
Mars&lt;br /&gt;
* 14 mars éclipse de lune visible en partie&lt;br /&gt;
&lt;br /&gt;
==Explorations==&lt;br /&gt;
* [[Hexapode super simple]]&lt;br /&gt;
* [[Quadrupède super simple]]&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
[[Catégorie:papifab]]&lt;br /&gt;
[[Catégorie:Arduino]]&lt;/div&gt;</summary>
		<author><name>Matthieu</name></author>	</entry>

	</feed>