<?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=Matt%C3%A9o</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=Matt%C3%A9o"/>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Sp%C3%A9cial:Contributions/Matt%C3%A9o"/>
		<updated>2026-04-27T18:59:58Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36748</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36748"/>
				<updated>2026-01-20T14:58:20Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
À la fin de ce wiki, vous serez capable d'obtenir le projet fonctionnel comme montré ci-dessous.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Demo_SmartVague.mp4]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Un pistolet à colle&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ESP32.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Une ESP32-S expansion board 38-pin&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Expansion_board.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
* 2 câbles mâle mâle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_male.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* 8 câbles femelle femelle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_femelle.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un bouton poussoir&lt;br /&gt;
* Un moteur pas à pas 28BYJ-48 avec un driver ULN2003&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Stepper_motor.png|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un enrouleur à fil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de se rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
Le code complet à utiliser pour ce projet est accessible ici:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SmartVagueV2.ino|vignette|SmartVague.ino]]&lt;br /&gt;
&lt;br /&gt;
Il est aussi disponible à la suite du wiki en copier coller.&lt;br /&gt;
&lt;br /&gt;
Un pdf donnant la liste des ID des différents ports est disponible ci-dessous:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tableau.pdf|vignette|Tableau.pdf]]&lt;br /&gt;
&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/*&lt;br /&gt;
 * PROJET : SMART VAGUE&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;HTTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;ArduinoJson.h&amp;gt;&lt;br /&gt;
#include &amp;lt;NTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;WiFiUdp.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Stepper.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;soc/soc.h&amp;quot;&lt;br /&gt;
#include &amp;quot;soc/rtc_cntl_reg.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
const int PAS_PAR_TOUR = 2048;&lt;br /&gt;
const float PAS_PAR_METRE = PAS_PAR_TOUR / 7.0;&lt;br /&gt;
const float HAUTEUR_MAX = 7.0;&lt;br /&gt;
&lt;br /&gt;
// --- 1. CONFIGURATION ---&lt;br /&gt;
&lt;br /&gt;
const char* ssid     = &amp;quot;NOM_DU_RESEAU&amp;quot;; 			//-&amp;gt; à modifier pour correspondre à votre réseau&lt;br /&gt;
const char* password = &amp;quot;MOT_DE_PASSE_RESEAU&amp;quot;;			//-&amp;gt; IDEM&lt;br /&gt;
 &lt;br /&gt;
// Câblage : IN1-&amp;gt;19, IN3-&amp;gt;5, IN2-&amp;gt;18, IN4-&amp;gt;17&lt;br /&gt;
Stepper myStepper(PAS_PAR_TOUR, 19, 5, 18, 17);			//-&amp;gt; vous pouvez modifiez les Pins de branchement pour le Moteur&lt;br /&gt;
const int boutonPin = 14; 					//-&amp;gt; IDEM pour le Bouton Poussoir&lt;br /&gt;
&lt;br /&gt;
// FIN CONFIGURATION&lt;br /&gt;
&lt;br /&gt;
String url_base = &amp;quot;https://services.data.shom.fr/maregraphie/observation/json/&amp;quot;; &lt;br /&gt;
String Ville_ID = &amp;quot;3&amp;quot;;                                          //-&amp;gt; voir Tableau.pdf pour modifier la ville (Brest par défaut = 3)&lt;br /&gt;
WiFiUDP ntpUDP;&lt;br /&gt;
NTPClient timeClient(ntpUDP, &amp;quot;pool.ntp.org&amp;quot;, 0);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Désactive le détecteur de Brownout&lt;br /&gt;
  WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); &lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(boutonPin, INPUT_PULLUP);&lt;br /&gt;
  myStepper.setSpeed(10); // Vitesse modérée pour voir l'ondulation&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Connexion au WiFi&amp;quot;);&lt;br /&gt;
  WiFi.begin(ssid, password);&lt;br /&gt;
  &lt;br /&gt;
  int timeout = 0;&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED &amp;amp;&amp;amp; timeout &amp;lt; 20) { &lt;br /&gt;
    delay(500); &lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;); &lt;br /&gt;
    timeout++;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if (WiFi.status() == WL_CONNECTED) {&lt;br /&gt;
    Serial.println(&amp;quot;\nWiFi Connecté !&amp;quot;);&lt;br /&gt;
  } else {&lt;br /&gt;
    Serial.println(&amp;quot;\nEchec WiFi&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  timeClient.begin();&lt;br /&gt;
  Serial.println(&amp;quot;Pret.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  timeClient.update(); &lt;br /&gt;
&lt;br /&gt;
  if (digitalRead(boutonPin) == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;Bouton detecté !&amp;quot;);&lt;br /&gt;
    lancerAnimationMaree();&lt;br /&gt;
    delay(1000); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// --- FONCTION PRINCIPALE ---&lt;br /&gt;
void lancerAnimationMaree() {&lt;br /&gt;
  if (WiFi.status() == WL_CONNECTED) {&lt;br /&gt;
    unsigned long epoch = timeClient.getEpochTime();&lt;br /&gt;
    String url = url_base + Ville_ID + &amp;quot;?sources=1&amp;amp;dtStart=&amp;quot; + getFormattedDate(epoch - 600) + &amp;quot;&amp;amp;dtEnd=&amp;quot; + getFormattedDate(epoch + 60);&lt;br /&gt;
    &lt;br /&gt;
    HTTPClient http;&lt;br /&gt;
    http.begin(url);&lt;br /&gt;
    int code = http.GET(); &lt;br /&gt;
    &lt;br /&gt;
    if (code == 200) { &lt;br /&gt;
      String payload = http.getString();&lt;br /&gt;
      JsonDocument doc;&lt;br /&gt;
      deserializeJson(doc, payload);&lt;br /&gt;
&lt;br /&gt;
      if (doc[&amp;quot;data&amp;quot;].size() &amp;gt; 0) {&lt;br /&gt;
        int dernierIndex = doc[&amp;quot;data&amp;quot;].size() - 1;&lt;br /&gt;
        float niveau = doc[&amp;quot;data&amp;quot;][dernierIndex][&amp;quot;value&amp;quot;];&lt;br /&gt;
        Serial.print(&amp;quot;Hauteur SHOM : &amp;quot;); Serial.println(niveau); &lt;br /&gt;
&lt;br /&gt;
        // Limitation Sécurité&lt;br /&gt;
        if (niveau &amp;gt; HAUTEUR_MAX) niveau = HAUTEUR_MAX;&lt;br /&gt;
&lt;br /&gt;
        // Calcul des pas pour aller à la hauteur de marée&lt;br /&gt;
        long pasAfaire = (long)(niveau * PAS_PAR_METRE);&lt;br /&gt;
&lt;br /&gt;
        // 1. ALLER À LA HAUTEUR DE MARÉE&lt;br /&gt;
        Serial.println(&amp;quot;Deplacement vers la hauteur...&amp;quot;);&lt;br /&gt;
        if (pasAfaire &amp;gt; 0) myStepper.step(-pasAfaire); // (Négatif = monter)&lt;br /&gt;
        &lt;br /&gt;
        // 2. ANIMATION VAGUE AMORTIE&lt;br /&gt;
        Serial.println(&amp;quot;Animation Vague...&amp;quot;);&lt;br /&gt;
        simulerVague(); // &amp;lt;--- C'est ici que ça bouge !&lt;br /&gt;
&lt;br /&gt;
        // 3. RETOUR À ZÉRO&lt;br /&gt;
        Serial.println(&amp;quot;Retour a zero...&amp;quot;);&lt;br /&gt;
        if (pasAfaire &amp;gt; 0) myStepper.step(pasAfaire); &lt;br /&gt;
        &lt;br /&gt;
        extinctionMoteur();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    http.end();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// --- FONCTION QUI FAIT L'OSCILLATION ---&lt;br /&gt;
void simulerVague() {&lt;br /&gt;
  // Réglages de l'animation&lt;br /&gt;
  int amplitude = 200; // Amplitude de départ (en pas). Env. 50cm sur votre échelle.&lt;br /&gt;
  float amortissement = 0.60; // Chaque vague est 40% plus petite que la précédente&lt;br /&gt;
&lt;br /&gt;
  // On fait 4 rebonds&lt;br /&gt;
  for(int i=0; i&amp;lt;4; i++) {&lt;br /&gt;
    &lt;br /&gt;
    // Si l'amplitude devient trop petite (invisible), on arrête&lt;br /&gt;
    if (amplitude &amp;lt; 10) break;&lt;br /&gt;
&lt;br /&gt;
    // A. Monte (Crête)&lt;br /&gt;
    // On monte de 'amplitude'&lt;br /&gt;
    myStepper.step(-amplitude);&lt;br /&gt;
&lt;br /&gt;
    // B. Descend (Creux)&lt;br /&gt;
    // On descend de 2x amplitude pour traverser le centre et aller en bas&lt;br /&gt;
    myStepper.step(amplitude * 2);&lt;br /&gt;
&lt;br /&gt;
    // C. Remonte au centre&lt;br /&gt;
    // On remonte de 'amplitude' pour revenir au niveau exact de la marée&lt;br /&gt;
    myStepper.step(-amplitude);&lt;br /&gt;
&lt;br /&gt;
    // D. Réduit l'amplitude pour le prochain tour&lt;br /&gt;
    amplitude = (int)(amplitude * amortissement);&lt;br /&gt;
    &lt;br /&gt;
    // Petite pause pour ne pas brusquer le moteur&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // On s'assure que le moteur est éteint à la fin de l'oscillation&lt;br /&gt;
  extinctionMoteur();&lt;br /&gt;
  delay(10000); // Pause finale pour lire la valeur avant de redescendre à zéro&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void extinctionMoteur() {&lt;br /&gt;
  digitalWrite(19, LOW); digitalWrite(18, LOW);&lt;br /&gt;
  digitalWrite(5, LOW); digitalWrite(17, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
String getFormattedDate(unsigned long epoch) {&lt;br /&gt;
  time_t rawtime = epoch;&lt;br /&gt;
  struct tm * ti;&lt;br /&gt;
  ti = gmtime (&amp;amp;rawtime);&lt;br /&gt;
  char buffer[25];&lt;br /&gt;
  sprintf(buffer, &amp;quot;%04d-%02d-%02dT%02d:%02d:%02dZ&amp;quot;, &lt;br /&gt;
          ti-&amp;gt;tm_year + 1900, ti-&amp;gt;tm_mon + 1, ti-&amp;gt;tm_mday, &lt;br /&gt;
          ti-&amp;gt;tm_hour, ti-&amp;gt;tm_min, ti-&amp;gt;tm_sec);&lt;br /&gt;
  return String(buffer);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Vague.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr réaliser votre propre modèle. La seule contrainte à respecter est que la largeur de la vague doit être inférieure à 140mm.&lt;br /&gt;
===étape 2===&lt;br /&gt;
Réaliser un trou dans le grand morceau de carton afin de pouvoir passer le moteur à travers.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Trou_carton.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Attacher le moteur à l'enrouleur avec de la colle.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tambour.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
Faire un trou au centre d'une des deux pièces 140x70 afin d'y faire passer le bouton poussoir.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bouton_poussoir.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
Coller les morceaux de carton ensembles afin d'obtenir le résultat suivant.&lt;br /&gt;
&lt;br /&gt;
===étape 6===&lt;br /&gt;
Enrouler la ficelle dans l'enrouleur et attacher le haut de la vague à l'extrémité de la ficelle.&lt;br /&gt;
&lt;br /&gt;
===étape 7===&lt;br /&gt;
Réaliser le câblage suivant.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Wiring.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
Afin d'être en adéquation avec le code fournit, il faut brancher:&lt;br /&gt;
* le bouton poussoir à la broche P14&lt;br /&gt;
* IN1 du driver à la broche P19&lt;br /&gt;
* IN2 du driver à la broche P18&lt;br /&gt;
* IN3 du driver à la broche P5&lt;br /&gt;
* IN4 du driver à la broche P17&lt;br /&gt;
&lt;br /&gt;
===étape 8===&lt;br /&gt;
Réaliser la graduation en partant de 0 et tracer un trait tout les 15mm d'écart, ce qui correspond à un mètre de marnage.&lt;br /&gt;
&lt;br /&gt;
===étape 9===&lt;br /&gt;
Connecter la carte à l'ordinateur et téléverser le code fournit. Si tout est correct, un appui sur le bouton poussoir fera bouger la vague, avec des petites oscillations, jusqu'au marnage réel.&lt;br /&gt;
&lt;br /&gt;
Voici le POCL fini.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto_fini.jpeg|400px]]&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Il est possible qu'il y ait des problèmes et que la SmartVague ne fonctionne pas du premier coup, ça a été le cas pour nous. Nous allons exposer les difficultés que nous avons rencontré et quelle solution nous avons trouvé.&lt;br /&gt;
* Le câble de connexion ordinateur-ESP32. Il s'avère que certains câbles ne permettent pas la connexion, d'autres ne fournissent pas assez de courant pour alimenter le moteur ainsi que la carte, ce qui donne un problème dans l'exécution du programme. Après avoir testé plusieurs câbles, nous avons finalement trouvé un qui fonctionnait correctement, donc il faut penser à avoir plusieurs câbles pour tester le meilleur.&lt;br /&gt;
* Pour le tracé de l'échelle, il a fallut faire un deuxième programme permettant de commander manuellement le moteur afin de définir combien de tours il devait faire pour une montée d'un mètre du marnage.&lt;br /&gt;
* La vague en carton était trop légère car elle ne tenait pas à plat contre le mur en carton. Nous l'avons donc lesté avec quelques fils d'étain pour y remédier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Tableau.pdf&amp;diff=36743</id>
		<title>Fichier:Tableau.pdf</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Tableau.pdf&amp;diff=36743"/>
				<updated>2026-01-20T14:55:55Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36740</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36740"/>
				<updated>2026-01-20T14:55:11Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
À la fin de ce wiki, vous serez capable d'obtenir le projet fonctionnel comme montré ci-dessous.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Demo_SmartVague.mp4]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Un pistolet à colle&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ESP32.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Une ESP32-S expansion board 38-pin&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Expansion_board.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
* 2 câbles mâle mâle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_male.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* 8 câbles femelle femelle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_femelle.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un bouton poussoir&lt;br /&gt;
* Un moteur pas à pas 28BYJ-48 avec un driver ULN2003&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Stepper_motor.png|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un enrouleur à fil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de se rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
Le code complet à utiliser pour ce projet est accessible ici:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SmartVagueV2.ino|vignette|SmartVague.ino]]&lt;br /&gt;
&lt;br /&gt;
Il est aussi disponible à la suite du wiki en copier coller.&lt;br /&gt;
&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/*&lt;br /&gt;
 * PROJET : SMART VAGUE&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;HTTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;ArduinoJson.h&amp;gt;&lt;br /&gt;
#include &amp;lt;NTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;WiFiUdp.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Stepper.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;soc/soc.h&amp;quot;&lt;br /&gt;
#include &amp;quot;soc/rtc_cntl_reg.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
const int PAS_PAR_TOUR = 2048;&lt;br /&gt;
const float PAS_PAR_METRE = PAS_PAR_TOUR / 7.0;&lt;br /&gt;
const float HAUTEUR_MAX = 7.0;&lt;br /&gt;
&lt;br /&gt;
// --- 1. CONFIGURATION ---&lt;br /&gt;
&lt;br /&gt;
const char* ssid     = &amp;quot;NOM_DU_RESEAU&amp;quot;; 			//-&amp;gt; à modifier pour correspondre à votre réseau&lt;br /&gt;
const char* password = &amp;quot;MOT_DE_PASSE_RESEAU&amp;quot;;			//-&amp;gt; IDEM&lt;br /&gt;
 &lt;br /&gt;
// Câblage : IN1-&amp;gt;19, IN3-&amp;gt;5, IN2-&amp;gt;18, IN4-&amp;gt;17&lt;br /&gt;
Stepper myStepper(PAS_PAR_TOUR, 19, 5, 18, 17);			//-&amp;gt; vous pouvez modifiez les Pins de branchement pour le Moteur&lt;br /&gt;
const int boutonPin = 14; 					//-&amp;gt; IDEM pour le Bouton Poussoir&lt;br /&gt;
&lt;br /&gt;
// FIN CONFIGURATION&lt;br /&gt;
&lt;br /&gt;
String url_base = &amp;quot;https://services.data.shom.fr/maregraphie/observation/json/&amp;quot;; &lt;br /&gt;
String Ville_ID = &amp;quot;3&amp;quot;;&lt;br /&gt;
WiFiUDP ntpUDP;&lt;br /&gt;
NTPClient timeClient(ntpUDP, &amp;quot;pool.ntp.org&amp;quot;, 0);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Désactive le détecteur de Brownout&lt;br /&gt;
  WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); &lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(boutonPin, INPUT_PULLUP);&lt;br /&gt;
  myStepper.setSpeed(10); // Vitesse modérée pour voir l'ondulation&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Connexion au WiFi&amp;quot;);&lt;br /&gt;
  WiFi.begin(ssid, password);&lt;br /&gt;
  &lt;br /&gt;
  int timeout = 0;&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED &amp;amp;&amp;amp; timeout &amp;lt; 20) { &lt;br /&gt;
    delay(500); &lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;); &lt;br /&gt;
    timeout++;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if (WiFi.status() == WL_CONNECTED) {&lt;br /&gt;
    Serial.println(&amp;quot;\nWiFi Connecté !&amp;quot;);&lt;br /&gt;
  } else {&lt;br /&gt;
    Serial.println(&amp;quot;\nEchec WiFi&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  timeClient.begin();&lt;br /&gt;
  Serial.println(&amp;quot;Pret.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  timeClient.update(); &lt;br /&gt;
&lt;br /&gt;
  if (digitalRead(boutonPin) == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;Bouton detecté !&amp;quot;);&lt;br /&gt;
    lancerAnimationMaree();&lt;br /&gt;
    delay(1000); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// --- FONCTION PRINCIPALE ---&lt;br /&gt;
void lancerAnimationMaree() {&lt;br /&gt;
  if (WiFi.status() == WL_CONNECTED) {&lt;br /&gt;
    unsigned long epoch = timeClient.getEpochTime();&lt;br /&gt;
    String url = url_base + Ville_ID + &amp;quot;?sources=1&amp;amp;dtStart=&amp;quot; + getFormattedDate(epoch - 600) + &amp;quot;&amp;amp;dtEnd=&amp;quot; + getFormattedDate(epoch + 60);&lt;br /&gt;
    &lt;br /&gt;
    HTTPClient http;&lt;br /&gt;
    http.begin(url);&lt;br /&gt;
    int code = http.GET(); &lt;br /&gt;
    &lt;br /&gt;
    if (code == 200) { &lt;br /&gt;
      String payload = http.getString();&lt;br /&gt;
      JsonDocument doc;&lt;br /&gt;
      deserializeJson(doc, payload);&lt;br /&gt;
&lt;br /&gt;
      if (doc[&amp;quot;data&amp;quot;].size() &amp;gt; 0) {&lt;br /&gt;
        int dernierIndex = doc[&amp;quot;data&amp;quot;].size() - 1;&lt;br /&gt;
        float niveau = doc[&amp;quot;data&amp;quot;][dernierIndex][&amp;quot;value&amp;quot;];&lt;br /&gt;
        Serial.print(&amp;quot;Hauteur SHOM : &amp;quot;); Serial.println(niveau); &lt;br /&gt;
&lt;br /&gt;
        // Limitation Sécurité&lt;br /&gt;
        if (niveau &amp;gt; HAUTEUR_MAX) niveau = HAUTEUR_MAX;&lt;br /&gt;
&lt;br /&gt;
        // Calcul des pas pour aller à la hauteur de marée&lt;br /&gt;
        long pasAfaire = (long)(niveau * PAS_PAR_METRE);&lt;br /&gt;
&lt;br /&gt;
        // 1. ALLER À LA HAUTEUR DE MARÉE&lt;br /&gt;
        Serial.println(&amp;quot;Deplacement vers la hauteur...&amp;quot;);&lt;br /&gt;
        if (pasAfaire &amp;gt; 0) myStepper.step(-pasAfaire); // (Négatif = monter)&lt;br /&gt;
        &lt;br /&gt;
        // 2. ANIMATION VAGUE AMORTIE&lt;br /&gt;
        Serial.println(&amp;quot;Animation Vague...&amp;quot;);&lt;br /&gt;
        simulerVague(); // &amp;lt;--- C'est ici que ça bouge !&lt;br /&gt;
&lt;br /&gt;
        // 3. RETOUR À ZÉRO&lt;br /&gt;
        Serial.println(&amp;quot;Retour a zero...&amp;quot;);&lt;br /&gt;
        if (pasAfaire &amp;gt; 0) myStepper.step(pasAfaire); &lt;br /&gt;
        &lt;br /&gt;
        extinctionMoteur();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    http.end();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// --- FONCTION QUI FAIT L'OSCILLATION ---&lt;br /&gt;
void simulerVague() {&lt;br /&gt;
  // Réglages de l'animation&lt;br /&gt;
  int amplitude = 200; // Amplitude de départ (en pas). Env. 50cm sur votre échelle.&lt;br /&gt;
  float amortissement = 0.60; // Chaque vague est 40% plus petite que la précédente&lt;br /&gt;
&lt;br /&gt;
  // On fait 4 rebonds&lt;br /&gt;
  for(int i=0; i&amp;lt;4; i++) {&lt;br /&gt;
    &lt;br /&gt;
    // Si l'amplitude devient trop petite (invisible), on arrête&lt;br /&gt;
    if (amplitude &amp;lt; 10) break;&lt;br /&gt;
&lt;br /&gt;
    // A. Monte (Crête)&lt;br /&gt;
    // On monte de 'amplitude'&lt;br /&gt;
    myStepper.step(-amplitude);&lt;br /&gt;
&lt;br /&gt;
    // B. Descend (Creux)&lt;br /&gt;
    // On descend de 2x amplitude pour traverser le centre et aller en bas&lt;br /&gt;
    myStepper.step(amplitude * 2);&lt;br /&gt;
&lt;br /&gt;
    // C. Remonte au centre&lt;br /&gt;
    // On remonte de 'amplitude' pour revenir au niveau exact de la marée&lt;br /&gt;
    myStepper.step(-amplitude);&lt;br /&gt;
&lt;br /&gt;
    // D. Réduit l'amplitude pour le prochain tour&lt;br /&gt;
    amplitude = (int)(amplitude * amortissement);&lt;br /&gt;
    &lt;br /&gt;
    // Petite pause pour ne pas brusquer le moteur&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // On s'assure que le moteur est éteint à la fin de l'oscillation&lt;br /&gt;
  extinctionMoteur();&lt;br /&gt;
  delay(10000); // Pause finale pour lire la valeur avant de redescendre à zéro&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void extinctionMoteur() {&lt;br /&gt;
  digitalWrite(19, LOW); digitalWrite(18, LOW);&lt;br /&gt;
  digitalWrite(5, LOW); digitalWrite(17, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
String getFormattedDate(unsigned long epoch) {&lt;br /&gt;
  time_t rawtime = epoch;&lt;br /&gt;
  struct tm * ti;&lt;br /&gt;
  ti = gmtime (&amp;amp;rawtime);&lt;br /&gt;
  char buffer[25];&lt;br /&gt;
  sprintf(buffer, &amp;quot;%04d-%02d-%02dT%02d:%02d:%02dZ&amp;quot;, &lt;br /&gt;
          ti-&amp;gt;tm_year + 1900, ti-&amp;gt;tm_mon + 1, ti-&amp;gt;tm_mday, &lt;br /&gt;
          ti-&amp;gt;tm_hour, ti-&amp;gt;tm_min, ti-&amp;gt;tm_sec);&lt;br /&gt;
  return String(buffer);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Vague.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr réaliser votre propre modèle. La seule contrainte à respecter est que la largeur de la vague doit être inférieure à 140mm.&lt;br /&gt;
===étape 2===&lt;br /&gt;
Réaliser un trou dans le grand morceau de carton afin de pouvoir passer le moteur à travers.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Trou_carton.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Attacher le moteur à l'enrouleur avec de la colle.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tambour.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
Faire un trou au centre d'une des deux pièces 140x70 afin d'y faire passer le bouton poussoir.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bouton_poussoir.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
Coller les morceaux de carton ensembles afin d'obtenir le résultat suivant.&lt;br /&gt;
&lt;br /&gt;
===étape 6===&lt;br /&gt;
Enrouler la ficelle dans l'enrouleur et attacher le haut de la vague à l'extrémité de la ficelle.&lt;br /&gt;
&lt;br /&gt;
===étape 7===&lt;br /&gt;
Réaliser le câblage suivant.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Wiring.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
Afin d'être en adéquation avec le code fournit, il faut brancher:&lt;br /&gt;
* le bouton poussoir à la broche P14&lt;br /&gt;
* IN1 du driver à la broche P19&lt;br /&gt;
* IN2 du driver à la broche P18&lt;br /&gt;
* IN3 du driver à la broche P5&lt;br /&gt;
* IN4 du driver à la broche P17&lt;br /&gt;
&lt;br /&gt;
===étape 8===&lt;br /&gt;
Réaliser la graduation en partant de 0 et tracer un trait tout les 15mm d'écart, ce qui correspond à un mètre de marnage.&lt;br /&gt;
&lt;br /&gt;
===étape 9===&lt;br /&gt;
Connecter la carte à l'ordinateur et téléverser le code fournit. Si tout est correct, un appui sur le bouton poussoir fera bouger la vague, avec des petites oscillations, jusqu'au marnage réel.&lt;br /&gt;
&lt;br /&gt;
Voici le POCL fini.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto_fini.jpeg|400px]]&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Il est possible qu'il y ait des problèmes et que la SmartVague ne fonctionne pas du premier coup, ça a été le cas pour nous. Nous allons exposer les difficultés que nous avons rencontré et quelle solution nous avons trouvé.&lt;br /&gt;
* Le câble de connexion ordinateur-ESP32. Il s'avère que certains câbles ne permettent pas la connexion, d'autres ne fournissent pas assez de courant pour alimenter le moteur ainsi que la carte, ce qui donne un problème dans l'exécution du programme. Après avoir testé plusieurs câbles, nous avons finalement trouvé un qui fonctionnait correctement, donc il faut penser à avoir plusieurs câbles pour tester le meilleur.&lt;br /&gt;
* Pour le tracé de l'échelle, il a fallut faire un deuxième programme permettant de commander manuellement le moteur afin de définir combien de tours il devait faire pour une montée d'un mètre du marnage.&lt;br /&gt;
* La vague en carton était trop légère car elle ne tenait pas à plat contre le mur en carton. Nous l'avons donc lesté avec quelques fils d'étain pour y remédier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36727</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36727"/>
				<updated>2026-01-20T14:52:59Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
À la fin de ce wiki, vous serez capable d'obtenir le projet fonctionnel comme montré ci-dessous.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Demo_SmartVague.mp4]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Un pistolet à colle&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ESP32.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Une ESP32-S expansion board 38-pin&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Expansion_board.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
* 2 câbles mâle mâle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_male.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* 8 câbles femelle femelle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_femelle.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un bouton poussoir&lt;br /&gt;
* Un moteur pas à pas 28BYJ-48 avec un driver ULN2003&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Stepper_motor.png|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un enrouleur à fil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de se rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
Le code complet à utiliser pour ce projet est accessible ici:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SmartVagueV2.ino|vignette|SmartVague.ino]]&lt;br /&gt;
&lt;br /&gt;
Il est aussi disponible à la suite du wiki en copier coller.&lt;br /&gt;
&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/*&lt;br /&gt;
 * PROJET : SMART VAGUE&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;HTTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;ArduinoJson.h&amp;gt;&lt;br /&gt;
#include &amp;lt;NTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;WiFiUdp.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Stepper.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;soc/soc.h&amp;quot;&lt;br /&gt;
#include &amp;quot;soc/rtc_cntl_reg.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
const int PAS_PAR_TOUR = 2048;&lt;br /&gt;
const float PAS_PAR_METRE = PAS_PAR_TOUR / 7.0;&lt;br /&gt;
const float HAUTEUR_MAX = 7.0;&lt;br /&gt;
&lt;br /&gt;
// --- 1. CONFIGURATION ---&lt;br /&gt;
&lt;br /&gt;
const char* ssid     = &amp;quot;NOM_DU_RESEAU&amp;quot;; 			//-&amp;gt; à modifier pour correspondre à votre réseau&lt;br /&gt;
const char* password = &amp;quot;MOT_DE_PASSE_RESEAU&amp;quot;;			//-&amp;gt; IDEM&lt;br /&gt;
 &lt;br /&gt;
// Câblage : IN1-&amp;gt;19, IN3-&amp;gt;5, IN2-&amp;gt;18, IN4-&amp;gt;17&lt;br /&gt;
Stepper myStepper(PAS_PAR_TOUR, 19, 5, 18, 17);			//-&amp;gt; vous pouvez modifiez les Pins de branchement pour le Moteur&lt;br /&gt;
const int boutonPin = 14; 					//-&amp;gt; IDEM pour le Bouton Poussoir&lt;br /&gt;
&lt;br /&gt;
// FIN CONFIGURATION&lt;br /&gt;
&lt;br /&gt;
String url_base = &amp;quot;https://services.data.shom.fr/maregraphie/observation/json/&amp;quot;; &lt;br /&gt;
String Ville_ID = &amp;quot;3&amp;quot;;&lt;br /&gt;
WiFiUDP ntpUDP;&lt;br /&gt;
NTPClient timeClient(ntpUDP, &amp;quot;pool.ntp.org&amp;quot;, 0);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Désactive le détecteur de Brownout&lt;br /&gt;
  WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); &lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(boutonPin, INPUT_PULLUP);&lt;br /&gt;
  myStepper.setSpeed(10); // Vitesse modérée pour voir l'ondulation&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Connexion au WiFi&amp;quot;);&lt;br /&gt;
  WiFi.begin(ssid, password);&lt;br /&gt;
  &lt;br /&gt;
  int timeout = 0;&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED &amp;amp;&amp;amp; timeout &amp;lt; 20) { &lt;br /&gt;
    delay(500); &lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;); &lt;br /&gt;
    timeout++;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if (WiFi.status() == WL_CONNECTED) {&lt;br /&gt;
    Serial.println(&amp;quot;\nWiFi Connecté !&amp;quot;);&lt;br /&gt;
  } else {&lt;br /&gt;
    Serial.println(&amp;quot;\nEchec WiFi&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  timeClient.begin();&lt;br /&gt;
  Serial.println(&amp;quot;Pret.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  timeClient.update(); &lt;br /&gt;
&lt;br /&gt;
  if (digitalRead(boutonPin) == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;Bouton detecté !&amp;quot;);&lt;br /&gt;
    lancerAnimationMaree();&lt;br /&gt;
    delay(1000); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// --- FONCTION PRINCIPALE ---&lt;br /&gt;
void lancerAnimationMaree() {&lt;br /&gt;
  if (WiFi.status() == WL_CONNECTED) {&lt;br /&gt;
    unsigned long epoch = timeClient.getEpochTime();&lt;br /&gt;
    String url = url_base + Ville_ID + &amp;quot;?sources=1&amp;amp;dtStart=&amp;quot; + getFormattedDate(epoch - 600) + &amp;quot;&amp;amp;dtEnd=&amp;quot; + getFormattedDate(epoch + 60);&lt;br /&gt;
    &lt;br /&gt;
    HTTPClient http;&lt;br /&gt;
    http.begin(url);&lt;br /&gt;
    int code = http.GET(); &lt;br /&gt;
    &lt;br /&gt;
    if (code == 200) { &lt;br /&gt;
      String payload = http.getString();&lt;br /&gt;
      JsonDocument doc;&lt;br /&gt;
      deserializeJson(doc, payload);&lt;br /&gt;
&lt;br /&gt;
      if (doc[&amp;quot;data&amp;quot;].size() &amp;gt; 0) {&lt;br /&gt;
        int dernierIndex = doc[&amp;quot;data&amp;quot;].size() - 1;&lt;br /&gt;
        float niveau = doc[&amp;quot;data&amp;quot;][dernierIndex][&amp;quot;value&amp;quot;];&lt;br /&gt;
        Serial.print(&amp;quot;Hauteur SHOM : &amp;quot;); Serial.println(niveau); &lt;br /&gt;
&lt;br /&gt;
        // Limitation Sécurité&lt;br /&gt;
        if (niveau &amp;gt; HAUTEUR_MAX) niveau = HAUTEUR_MAX;&lt;br /&gt;
&lt;br /&gt;
        // Calcul des pas pour aller à la hauteur de marée&lt;br /&gt;
        long pasAfaire = (long)(niveau * PAS_PAR_METRE);&lt;br /&gt;
&lt;br /&gt;
        // 1. ALLER À LA HAUTEUR DE MARÉE&lt;br /&gt;
        Serial.println(&amp;quot;Deplacement vers la hauteur...&amp;quot;);&lt;br /&gt;
        if (pasAfaire &amp;gt; 0) myStepper.step(-pasAfaire); // (Négatif = monter)&lt;br /&gt;
        &lt;br /&gt;
        // 2. ANIMATION VAGUE AMORTIE&lt;br /&gt;
        Serial.println(&amp;quot;Animation Vague...&amp;quot;);&lt;br /&gt;
        simulerVague(); // &amp;lt;--- C'est ici que ça bouge !&lt;br /&gt;
&lt;br /&gt;
        // 3. RETOUR À ZÉRO&lt;br /&gt;
        Serial.println(&amp;quot;Retour a zero...&amp;quot;);&lt;br /&gt;
        if (pasAfaire &amp;gt; 0) myStepper.step(pasAfaire); &lt;br /&gt;
        &lt;br /&gt;
        extinctionMoteur();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    http.end();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// --- FONCTION QUI FAIT L'OSCILLATION ---&lt;br /&gt;
void simulerVague() {&lt;br /&gt;
  // Réglages de l'animation&lt;br /&gt;
  int amplitude = 200; // Amplitude de départ (en pas). Env. 50cm sur votre échelle.&lt;br /&gt;
  float amortissement = 0.60; // Chaque vague est 40% plus petite que la précédente&lt;br /&gt;
&lt;br /&gt;
  // On fait 4 rebonds&lt;br /&gt;
  for(int i=0; i&amp;lt;4; i++) {&lt;br /&gt;
    &lt;br /&gt;
    // Si l'amplitude devient trop petite (invisible), on arrête&lt;br /&gt;
    if (amplitude &amp;lt; 10) break;&lt;br /&gt;
&lt;br /&gt;
    // A. Monte (Crête)&lt;br /&gt;
    // On monte de 'amplitude'&lt;br /&gt;
    myStepper.step(-amplitude);&lt;br /&gt;
&lt;br /&gt;
    // B. Descend (Creux)&lt;br /&gt;
    // On descend de 2x amplitude pour traverser le centre et aller en bas&lt;br /&gt;
    myStepper.step(amplitude * 2);&lt;br /&gt;
&lt;br /&gt;
    // C. Remonte au centre&lt;br /&gt;
    // On remonte de 'amplitude' pour revenir au niveau exact de la marée&lt;br /&gt;
    myStepper.step(-amplitude);&lt;br /&gt;
&lt;br /&gt;
    // D. Réduit l'amplitude pour le prochain tour&lt;br /&gt;
    amplitude = (int)(amplitude * amortissement);&lt;br /&gt;
    &lt;br /&gt;
    // Petite pause pour ne pas brusquer le moteur&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // On s'assure que le moteur est éteint à la fin de l'oscillation&lt;br /&gt;
  extinctionMoteur();&lt;br /&gt;
  delay(10000); // Pause finale pour lire la valeur avant de redescendre à zéro&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void extinctionMoteur() {&lt;br /&gt;
  digitalWrite(19, LOW); digitalWrite(18, LOW);&lt;br /&gt;
  digitalWrite(5, LOW); digitalWrite(17, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
String getFormattedDate(unsigned long epoch) {&lt;br /&gt;
  time_t rawtime = epoch;&lt;br /&gt;
  struct tm * ti;&lt;br /&gt;
  ti = gmtime (&amp;amp;rawtime);&lt;br /&gt;
  char buffer[25];&lt;br /&gt;
  sprintf(buffer, &amp;quot;%04d-%02d-%02dT%02d:%02d:%02dZ&amp;quot;, &lt;br /&gt;
          ti-&amp;gt;tm_year + 1900, ti-&amp;gt;tm_mon + 1, ti-&amp;gt;tm_mday, &lt;br /&gt;
          ti-&amp;gt;tm_hour, ti-&amp;gt;tm_min, ti-&amp;gt;tm_sec);&lt;br /&gt;
  return String(buffer);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Vague.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr réaliser votre propre modèle. La seule contrainte à respecter est que la largeur de la vague doit être inférieure à 140mm.&lt;br /&gt;
===étape 2===&lt;br /&gt;
Réaliser un trou dans le grand morceau de carton afin de pouvoir passer le moteur à travers.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Trou_carton.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Attacher le moteur à l'enrouleur avec de la colle.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tambour.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
==étape 4==&lt;br /&gt;
Faire un trou au centre d'une des deux pièces 140x70 afin d'y faire passer le bouton poussoir.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bouton_poussoir.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
==étape 5==&lt;br /&gt;
Coller les morceaux de carton ensembles afin d'obtenir le résultat suivant.&lt;br /&gt;
&lt;br /&gt;
==étape 6==&lt;br /&gt;
Enrouler la ficelle dans l'enrouleur et attacher le haut de la vague à l'extrémité de la ficelle.&lt;br /&gt;
&lt;br /&gt;
==étape 7==&lt;br /&gt;
Réaliser le câblage suivant.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Wiring.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
Afin d'être en adéquation avec le code fournit, il faut brancher:&lt;br /&gt;
* le bouton poussoir à la broche P14&lt;br /&gt;
* IN1 du driver à la broche P19&lt;br /&gt;
* IN2 du driver à la broche P18&lt;br /&gt;
* IN3 du driver à la broche P5&lt;br /&gt;
* IN4 du driver à la broche P17&lt;br /&gt;
&lt;br /&gt;
==étape 8==&lt;br /&gt;
Réaliser la graduation en partant de 0 et tracer un trait tout les 15mm d'écart, ce qui correspond à un mètre de marnage.&lt;br /&gt;
&lt;br /&gt;
==étape 9==&lt;br /&gt;
Connecter la carte à l'ordinateur et téléverser le code fournit. Si tout est correct, un appui sur le bouton poussoir fera bouger la vague, avec des petites oscillations, jusqu'au marnage réel.&lt;br /&gt;
&lt;br /&gt;
Voici le POCL fini.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto_fini.jpeg|400px]]&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Il est possible qu'il y ait des problèmes et que la SmartVague ne fonctionne pas du premier coup, ça a été le cas pour nous. Nous allons exposer les difficultés que nous avons rencontré et quelle solution nous avons trouvé.&lt;br /&gt;
* Le câble de connexion ordinateur-ESP32. Il s'avère que certains câbles ne permettent pas la connexion, d'autres ne fournissent pas assez de courant pour alimenter le moteur ainsi que la carte, ce qui donne un problème dans l'exécution du programme. Après avoir testé plusieurs câbles, nous avons finalement trouvé un qui fonctionnait correctement, donc il faut penser à avoir plusieurs câbles pour tester le meilleur.&lt;br /&gt;
* Pour le tracé de l'échelle, il a fallut faire un deuxième programme permettant de commander manuellement le moteur afin de définir combien de tours il devait faire pour une montée d'un mètre du marnage.&lt;br /&gt;
* La vague en carton était trop légère car elle ne tenait pas à plat contre le mur en carton. Nous l'avons donc lesté avec quelques fils d'étain pour y remédier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36724</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36724"/>
				<updated>2026-01-20T14:52:13Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
À la fin de ce wiki, vous serez capable d'obtenir le projet fonctionnel comme montré ci-dessous.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Demo_SmartVague.mp4]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Un pistolet à colle&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ESP32.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Une ESP32-S expansion board 38-pin&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Expansion_board.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
* 2 câbles mâle mâle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_male.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* 8 câbles femelle femelle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_femelle.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un bouton poussoir&lt;br /&gt;
* Un moteur pas à pas 28BYJ-48 avec un driver ULN2003&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Stepper_motor.png|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un enrouleur à fil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de se rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
Le code complet à utiliser pour ce projet est accessible ici:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SmartVagueV2.ino|vignette|SmartVague.ino]]&lt;br /&gt;
&lt;br /&gt;
Il est aussi disponible à la suite du wiki en copier coller.&lt;br /&gt;
&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/*&lt;br /&gt;
 * PROJET : SMART VAGUE&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;HTTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;ArduinoJson.h&amp;gt;&lt;br /&gt;
#include &amp;lt;NTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;WiFiUdp.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Stepper.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;soc/soc.h&amp;quot;&lt;br /&gt;
#include &amp;quot;soc/rtc_cntl_reg.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
const int PAS_PAR_TOUR = 2048;&lt;br /&gt;
const float PAS_PAR_METRE = PAS_PAR_TOUR / 7.0;&lt;br /&gt;
const float HAUTEUR_MAX = 7.0;&lt;br /&gt;
&lt;br /&gt;
// --- 1. CONFIGURATION ---&lt;br /&gt;
&lt;br /&gt;
const char* ssid     = &amp;quot;NOM_DU_RESEAU&amp;quot;; 			//-&amp;gt; à modifier pour correspondre à votre réseau&lt;br /&gt;
const char* password = &amp;quot;MOT_DE_PASSE_RESEAU&amp;quot;;			//-&amp;gt; IDEM&lt;br /&gt;
 &lt;br /&gt;
// Câblage : IN1-&amp;gt;19, IN3-&amp;gt;5, IN2-&amp;gt;18, IN4-&amp;gt;17&lt;br /&gt;
Stepper myStepper(PAS_PAR_TOUR, 19, 5, 18, 17);			//-&amp;gt; vous pouvez modifiez les Pins de branchement pour le Moteur&lt;br /&gt;
const int boutonPin = 14; 					//-&amp;gt; IDEM pour le Bouton Poussoir&lt;br /&gt;
&lt;br /&gt;
// FIN CONFIGURATION&lt;br /&gt;
&lt;br /&gt;
String url_base = &amp;quot;https://services.data.shom.fr/maregraphie/observation/json/&amp;quot;; &lt;br /&gt;
String Ville_ID = &amp;quot;3&amp;quot;;&lt;br /&gt;
WiFiUDP ntpUDP;&lt;br /&gt;
NTPClient timeClient(ntpUDP, &amp;quot;pool.ntp.org&amp;quot;, 0);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Désactive le détecteur de Brownout&lt;br /&gt;
  WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); &lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(boutonPin, INPUT_PULLUP);&lt;br /&gt;
  myStepper.setSpeed(10); // Vitesse modérée pour voir l'ondulation&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Connexion au WiFi&amp;quot;);&lt;br /&gt;
  WiFi.begin(ssid, password);&lt;br /&gt;
  &lt;br /&gt;
  int timeout = 0;&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED &amp;amp;&amp;amp; timeout &amp;lt; 20) { &lt;br /&gt;
    delay(500); &lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;); &lt;br /&gt;
    timeout++;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if (WiFi.status() == WL_CONNECTED) {&lt;br /&gt;
    Serial.println(&amp;quot;\nWiFi Connecté !&amp;quot;);&lt;br /&gt;
  } else {&lt;br /&gt;
    Serial.println(&amp;quot;\nEchec WiFi&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  timeClient.begin();&lt;br /&gt;
  Serial.println(&amp;quot;Pret.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  timeClient.update(); &lt;br /&gt;
&lt;br /&gt;
  if (digitalRead(boutonPin) == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;Bouton detecté !&amp;quot;);&lt;br /&gt;
    lancerAnimationMaree();&lt;br /&gt;
    delay(1000); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// --- FONCTION PRINCIPALE ---&lt;br /&gt;
void lancerAnimationMaree() {&lt;br /&gt;
  if (WiFi.status() == WL_CONNECTED) {&lt;br /&gt;
    unsigned long epoch = timeClient.getEpochTime();&lt;br /&gt;
    String url = url_base + Ville_ID + &amp;quot;?sources=1&amp;amp;dtStart=&amp;quot; + getFormattedDate(epoch - 600) + &amp;quot;&amp;amp;dtEnd=&amp;quot; + getFormattedDate(epoch + 60);&lt;br /&gt;
    &lt;br /&gt;
    HTTPClient http;&lt;br /&gt;
    http.begin(url);&lt;br /&gt;
    int code = http.GET(); &lt;br /&gt;
    &lt;br /&gt;
    if (code == 200) { &lt;br /&gt;
      String payload = http.getString();&lt;br /&gt;
      JsonDocument doc;&lt;br /&gt;
      deserializeJson(doc, payload);&lt;br /&gt;
&lt;br /&gt;
      if (doc[&amp;quot;data&amp;quot;].size() &amp;gt; 0) {&lt;br /&gt;
        int dernierIndex = doc[&amp;quot;data&amp;quot;].size() - 1;&lt;br /&gt;
        float niveau = doc[&amp;quot;data&amp;quot;][dernierIndex][&amp;quot;value&amp;quot;];&lt;br /&gt;
        Serial.print(&amp;quot;Hauteur SHOM : &amp;quot;); Serial.println(niveau); &lt;br /&gt;
&lt;br /&gt;
        // Limitation Sécurité&lt;br /&gt;
        if (niveau &amp;gt; HAUTEUR_MAX) niveau = HAUTEUR_MAX;&lt;br /&gt;
&lt;br /&gt;
        // Calcul des pas pour aller à la hauteur de marée&lt;br /&gt;
        long pasAfaire = (long)(niveau * PAS_PAR_METRE);&lt;br /&gt;
&lt;br /&gt;
        // 1. ALLER À LA HAUTEUR DE MARÉE&lt;br /&gt;
        Serial.println(&amp;quot;Deplacement vers la hauteur...&amp;quot;);&lt;br /&gt;
        if (pasAfaire &amp;gt; 0) myStepper.step(-pasAfaire); // (Négatif = monter)&lt;br /&gt;
        &lt;br /&gt;
        // 2. ANIMATION VAGUE AMORTIE&lt;br /&gt;
        Serial.println(&amp;quot;Animation Vague...&amp;quot;);&lt;br /&gt;
        simulerVague(); // &amp;lt;--- C'est ici que ça bouge !&lt;br /&gt;
&lt;br /&gt;
        // 3. RETOUR À ZÉRO&lt;br /&gt;
        Serial.println(&amp;quot;Retour a zero...&amp;quot;);&lt;br /&gt;
        if (pasAfaire &amp;gt; 0) myStepper.step(pasAfaire); &lt;br /&gt;
        &lt;br /&gt;
        extinctionMoteur();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    http.end();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// --- FONCTION QUI FAIT L'OSCILLATION ---&lt;br /&gt;
void simulerVague() {&lt;br /&gt;
  // Réglages de l'animation&lt;br /&gt;
  int amplitude = 200; // Amplitude de départ (en pas). Env. 50cm sur votre échelle.&lt;br /&gt;
  float amortissement = 0.60; // Chaque vague est 40% plus petite que la précédente&lt;br /&gt;
&lt;br /&gt;
  // On fait 4 rebonds&lt;br /&gt;
  for(int i=0; i&amp;lt;4; i++) {&lt;br /&gt;
    &lt;br /&gt;
    // Si l'amplitude devient trop petite (invisible), on arrête&lt;br /&gt;
    if (amplitude &amp;lt; 10) break;&lt;br /&gt;
&lt;br /&gt;
    // A. Monte (Crête)&lt;br /&gt;
    // On monte de 'amplitude'&lt;br /&gt;
    myStepper.step(-amplitude);&lt;br /&gt;
&lt;br /&gt;
    // B. Descend (Creux)&lt;br /&gt;
    // On descend de 2x amplitude pour traverser le centre et aller en bas&lt;br /&gt;
    myStepper.step(amplitude * 2);&lt;br /&gt;
&lt;br /&gt;
    // C. Remonte au centre&lt;br /&gt;
    // On remonte de 'amplitude' pour revenir au niveau exact de la marée&lt;br /&gt;
    myStepper.step(-amplitude);&lt;br /&gt;
&lt;br /&gt;
    // D. Réduit l'amplitude pour le prochain tour&lt;br /&gt;
    amplitude = (int)(amplitude * amortissement);&lt;br /&gt;
    &lt;br /&gt;
    // Petite pause pour ne pas brusquer le moteur&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // On s'assure que le moteur est éteint à la fin de l'oscillation&lt;br /&gt;
  extinctionMoteur();&lt;br /&gt;
  delay(10000); // Pause finale pour lire la valeur avant de redescendre à zéro&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void extinctionMoteur() {&lt;br /&gt;
  digitalWrite(19, LOW); digitalWrite(18, LOW);&lt;br /&gt;
  digitalWrite(5, LOW); digitalWrite(17, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
String getFormattedDate(unsigned long epoch) {&lt;br /&gt;
  time_t rawtime = epoch;&lt;br /&gt;
  struct tm * ti;&lt;br /&gt;
  ti = gmtime (&amp;amp;rawtime);&lt;br /&gt;
  char buffer[25];&lt;br /&gt;
  sprintf(buffer, &amp;quot;%04d-%02d-%02dT%02d:%02d:%02dZ&amp;quot;, &lt;br /&gt;
          ti-&amp;gt;tm_year + 1900, ti-&amp;gt;tm_mon + 1, ti-&amp;gt;tm_mday, &lt;br /&gt;
          ti-&amp;gt;tm_hour, ti-&amp;gt;tm_min, ti-&amp;gt;tm_sec);&lt;br /&gt;
  return String(buffer);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Vague.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr réaliser votre propre modèle. La seule contrainte à respecter est que la largeur de la vague doit être inférieure à 140mm.&lt;br /&gt;
===étape 2===&lt;br /&gt;
Réaliser un trou dans le grand morceau de carton afin de pouvoir passer le moteur à travers.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Trou_carton.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Attacher le moteur à l'enrouleur avec de la colle.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tambour.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
==étape 4==&lt;br /&gt;
Faire un trou au centre d'une des deux pièces 140x70 afin d'y faire passer le bouton poussoir.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bouton_poussoir.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
==étape 5==&lt;br /&gt;
Coller les morceaux de carton ensembles afin d'obtenir le résultat suivant.&lt;br /&gt;
&lt;br /&gt;
==étape 6==&lt;br /&gt;
Enrouler la ficelle dans l'enrouleur et attacher le haut de la vague à l'extrémité de la ficelle.&lt;br /&gt;
&lt;br /&gt;
==étape 7==&lt;br /&gt;
Réaliser le câblage suivant.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Wiring.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
Afin d'être en adéquation avec le code fournit, il faut brancher:&lt;br /&gt;
* le bouton poussoir à la broche P14&lt;br /&gt;
* IN1 du driver à la broche P19&lt;br /&gt;
* IN2 du driver à la broche P18&lt;br /&gt;
* IN3 du driver à la broche P5&lt;br /&gt;
* IN4 du driver à la broche P17&lt;br /&gt;
&lt;br /&gt;
==étape 8==&lt;br /&gt;
Réaliser la graduation en partant de 0 et tracer un trait tout les 15mm d'écart, ce qui correspond à un mètre de marnage.&lt;br /&gt;
&lt;br /&gt;
==étape 9==&lt;br /&gt;
Connecter la carte à l'ordinateur et téléverser le code fournit. Si tout est correct, un appui sur le bouton poussoir fera bouger la vague, avec des petites oscillations, jusqu'au marnage réel.&lt;br /&gt;
&lt;br /&gt;
Voici le POCL fini.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto_fini.jpeg|400px]]&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Il est possible qu'il y ait des problèmes et que la SmartVague ne fonctionne pas du premier coup, ça a été le cas pour nous. Nous allons exposer les difficultés que nous avons rencontré et quelle solution nous avons trouvé.&lt;br /&gt;
* Le câble de connexion ordinateur-ESP32. Il s'avère que certains câbles ne permettent pas la connexion, d'autres ne fournissent pas assez de courant pour alimenter le moteur ainsi que la carte, ce qui donne un problème dans l'exécution du programme. Après avoir testé plusieurs câbles, nous avons finalement trouvé un qui fonctionnait correctement, donc il faut penser à avoir plusieurs câbles pour tester le meilleur.&lt;br /&gt;
* Pour le tracé de l'échelle, il a fallut faire un deuxième programme permettant de commander manuellement le moteur afin de définir combien de tours il devait faire pour une montée d'un mètre du marnage.&lt;br /&gt;
* La vague en carton était trop légère car elle ne tenait pas à plat contre le mur en carton. Nous l'avons donc lesté avec quelques fils d'étain pour y remédier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:SmartVagueV2.ino&amp;diff=36706</id>
		<title>Fichier:SmartVagueV2.ino</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:SmartVagueV2.ino&amp;diff=36706"/>
				<updated>2026-01-20T14:48:05Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36700</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36700"/>
				<updated>2026-01-20T14:47:20Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
À la fin de ce wiki, vous serez capable d'obtenir le projet fonctionnel comme montré ci-dessous.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Demo_SmartVague.mp4]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Un pistolet à colle&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ESP32.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Une ESP32-S expansion board 38-pin&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Expansion_board.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
* 2 câbles mâle mâle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_male.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* 8 câbles femelle femelle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_femelle.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un bouton poussoir&lt;br /&gt;
* Un moteur pas à pas 28BYJ-48 avec un driver ULN2003&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Stepper_motor.png|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un enrouleur à fil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de se rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
Le code complet à utiliser pour ce projet est accessible ici:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SmartVague.ino|vignette|SmartVague.ino]]&lt;br /&gt;
&lt;br /&gt;
Il est aussi disponible à la suite du wiki en copier coller.&lt;br /&gt;
&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/*&lt;br /&gt;
 * PROJET : SMART VAGUE&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;HTTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;ArduinoJson.h&amp;gt;&lt;br /&gt;
#include &amp;lt;NTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;WiFiUdp.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Stepper.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;soc/soc.h&amp;quot;&lt;br /&gt;
#include &amp;quot;soc/rtc_cntl_reg.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
const int PAS_PAR_TOUR = 2048;&lt;br /&gt;
const float PAS_PAR_METRE = PAS_PAR_TOUR / 7.0;&lt;br /&gt;
const float HAUTEUR_MAX = 7.0;&lt;br /&gt;
&lt;br /&gt;
// --- 1. CONFIGURATION ---&lt;br /&gt;
&lt;br /&gt;
const char* ssid     = &amp;quot;NOM_DU_RESEAU&amp;quot;; 			//-&amp;gt; à modifier pour correspondre à votre réseau&lt;br /&gt;
const char* password = &amp;quot;MOT_DE_PASSE_RESEAU&amp;quot;;			//-&amp;gt; IDEM&lt;br /&gt;
 &lt;br /&gt;
// Câblage : IN1-&amp;gt;19, IN3-&amp;gt;5, IN2-&amp;gt;18, IN4-&amp;gt;17&lt;br /&gt;
Stepper myStepper(PAS_PAR_TOUR, 19, 5, 18, 17);			//-&amp;gt; vous pouvez modifiez les Pins de branchement pour le Moteur&lt;br /&gt;
const int boutonPin = 14; 					//-&amp;gt; IDEM pour le Bouton Poussoir&lt;br /&gt;
&lt;br /&gt;
// FIN CONFIGURATION&lt;br /&gt;
&lt;br /&gt;
String url_base = &amp;quot;https://services.data.shom.fr/maregraphie/observation/json/3?sources=1&amp;quot;; &lt;br /&gt;
WiFiUDP ntpUDP;&lt;br /&gt;
NTPClient timeClient(ntpUDP, &amp;quot;pool.ntp.org&amp;quot;, 0);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Désactive le détecteur de Brownout&lt;br /&gt;
  WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); &lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(boutonPin, INPUT_PULLUP);&lt;br /&gt;
  myStepper.setSpeed(10); // Vitesse modérée pour voir l'ondulation&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Connexion au WiFi&amp;quot;);&lt;br /&gt;
  WiFi.begin(ssid, password);&lt;br /&gt;
  &lt;br /&gt;
  int timeout = 0;&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED &amp;amp;&amp;amp; timeout &amp;lt; 20) { &lt;br /&gt;
    delay(500); &lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;); &lt;br /&gt;
    timeout++;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if (WiFi.status() == WL_CONNECTED) {&lt;br /&gt;
    Serial.println(&amp;quot;\nWiFi Connecté !&amp;quot;);&lt;br /&gt;
  } else {&lt;br /&gt;
    Serial.println(&amp;quot;\nEchec WiFi&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  timeClient.begin();&lt;br /&gt;
  Serial.println(&amp;quot;Pret.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  timeClient.update(); &lt;br /&gt;
&lt;br /&gt;
  if (digitalRead(boutonPin) == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;Bouton detecté !&amp;quot;);&lt;br /&gt;
    lancerAnimationMaree();&lt;br /&gt;
    delay(1000); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// --- FONCTION PRINCIPALE ---&lt;br /&gt;
void lancerAnimationMaree() {&lt;br /&gt;
  if (WiFi.status() == WL_CONNECTED) {&lt;br /&gt;
    unsigned long epoch = timeClient.getEpochTime();&lt;br /&gt;
    String url = url_base + &amp;quot;&amp;amp;dtStart=&amp;quot; + getFormattedDate(epoch - 600) + &amp;quot;&amp;amp;dtEnd=&amp;quot; + getFormattedDate(epoch + 60);&lt;br /&gt;
    &lt;br /&gt;
    HTTPClient http;&lt;br /&gt;
    http.begin(url);&lt;br /&gt;
    int code = http.GET(); &lt;br /&gt;
    &lt;br /&gt;
    if (code == 200) { &lt;br /&gt;
      String payload = http.getString();&lt;br /&gt;
      JsonDocument doc;&lt;br /&gt;
      deserializeJson(doc, payload);&lt;br /&gt;
&lt;br /&gt;
      if (doc[&amp;quot;data&amp;quot;].size() &amp;gt; 0) {&lt;br /&gt;
        int dernierIndex = doc[&amp;quot;data&amp;quot;].size() - 1;&lt;br /&gt;
        float niveau = doc[&amp;quot;data&amp;quot;][dernierIndex][&amp;quot;value&amp;quot;];&lt;br /&gt;
        Serial.print(&amp;quot;Hauteur SHOM : &amp;quot;); Serial.println(niveau); &lt;br /&gt;
&lt;br /&gt;
        // Limitation Sécurité&lt;br /&gt;
        if (niveau &amp;gt; HAUTEUR_MAX) niveau = HAUTEUR_MAX;&lt;br /&gt;
&lt;br /&gt;
        // Calcul des pas pour aller à la hauteur de marée&lt;br /&gt;
        long pasAfaire = (long)(niveau * PAS_PAR_METRE);&lt;br /&gt;
&lt;br /&gt;
        // 1. ALLER À LA HAUTEUR DE MARÉE&lt;br /&gt;
        Serial.println(&amp;quot;Deplacement vers la hauteur...&amp;quot;);&lt;br /&gt;
        if (pasAfaire &amp;gt; 0) myStepper.step(-pasAfaire); // (Négatif = monter)&lt;br /&gt;
        &lt;br /&gt;
        // 2. ANIMATION VAGUE AMORTIE&lt;br /&gt;
        Serial.println(&amp;quot;Animation Vague...&amp;quot;);&lt;br /&gt;
        simulerVague(); // &amp;lt;--- C'est ici que ça bouge !&lt;br /&gt;
&lt;br /&gt;
        // 3. RETOUR À ZÉRO&lt;br /&gt;
        Serial.println(&amp;quot;Retour a zero...&amp;quot;);&lt;br /&gt;
        if (pasAfaire &amp;gt; 0) myStepper.step(pasAfaire); &lt;br /&gt;
        &lt;br /&gt;
        extinctionMoteur();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    http.end();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// --- FONCTION QUI FAIT L'OSCILLATION ---&lt;br /&gt;
void simulerVague() {&lt;br /&gt;
  // Réglages de l'animation&lt;br /&gt;
  int amplitude = 200; // Amplitude de départ (en pas). Env. 50cm sur votre échelle.&lt;br /&gt;
  float amortissement = 0.60; // Chaque vague est 40% plus petite que la précédente&lt;br /&gt;
&lt;br /&gt;
  // On fait 4 rebonds&lt;br /&gt;
  for(int i=0; i&amp;lt;4; i++) {&lt;br /&gt;
    &lt;br /&gt;
    // Si l'amplitude devient trop petite (invisible), on arrête&lt;br /&gt;
    if (amplitude &amp;lt; 10) break;&lt;br /&gt;
&lt;br /&gt;
    // A. Monte (Crête)&lt;br /&gt;
    // On monte de 'amplitude'&lt;br /&gt;
    myStepper.step(-amplitude);&lt;br /&gt;
&lt;br /&gt;
    // B. Descend (Creux)&lt;br /&gt;
    // On descend de 2x amplitude pour traverser le centre et aller en bas&lt;br /&gt;
    myStepper.step(amplitude * 2);&lt;br /&gt;
&lt;br /&gt;
    // C. Remonte au centre&lt;br /&gt;
    // On remonte de 'amplitude' pour revenir au niveau exact de la marée&lt;br /&gt;
    myStepper.step(-amplitude);&lt;br /&gt;
&lt;br /&gt;
    // D. Réduit l'amplitude pour le prochain tour&lt;br /&gt;
    amplitude = (int)(amplitude * amortissement);&lt;br /&gt;
    &lt;br /&gt;
    // Petite pause pour ne pas brusquer le moteur&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // On s'assure que le moteur est éteint à la fin de l'oscillation&lt;br /&gt;
  extinctionMoteur();&lt;br /&gt;
  delay(10000); // Pause finale pour lire la valeur avant de redescendre à zéro&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void extinctionMoteur() {&lt;br /&gt;
  digitalWrite(19, LOW); digitalWrite(18, LOW);&lt;br /&gt;
  digitalWrite(5, LOW); digitalWrite(17, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
String getFormattedDate(unsigned long epoch) {&lt;br /&gt;
  time_t rawtime = epoch;&lt;br /&gt;
  struct tm * ti;&lt;br /&gt;
  ti = gmtime (&amp;amp;rawtime);&lt;br /&gt;
  char buffer[25];&lt;br /&gt;
  sprintf(buffer, &amp;quot;%04d-%02d-%02dT%02d:%02d:%02dZ&amp;quot;, &lt;br /&gt;
          ti-&amp;gt;tm_year + 1900, ti-&amp;gt;tm_mon + 1, ti-&amp;gt;tm_mday, &lt;br /&gt;
          ti-&amp;gt;tm_hour, ti-&amp;gt;tm_min, ti-&amp;gt;tm_sec);&lt;br /&gt;
  return String(buffer);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Vague.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr réaliser votre propre modèle. La seule contrainte à respecter est que la largeur de la vague doit être inférieure à 140mm.&lt;br /&gt;
===étape 2===&lt;br /&gt;
Réaliser un trou dans le grand morceau de carton afin de pouvoir passer le moteur à travers.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Trou_carton.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Attacher le moteur à l'enrouleur avec de la colle.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tambour.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
==étape 4==&lt;br /&gt;
Faire un trou au centre d'une des deux pièces 140x70 afin d'y faire passer le bouton poussoir.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bouton_poussoir.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
==étape 5==&lt;br /&gt;
Coller les morceaux de carton ensembles afin d'obtenir le résultat suivant.&lt;br /&gt;
&lt;br /&gt;
==étape 6==&lt;br /&gt;
Enrouler la ficelle dans l'enrouleur et attacher le haut de la vague à l'extrémité de la ficelle.&lt;br /&gt;
&lt;br /&gt;
==étape 7==&lt;br /&gt;
Réaliser le câblage suivant.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Wiring.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
Afin d'être en adéquation avec le code fournit, il faut brancher:&lt;br /&gt;
* le bouton poussoir à la broche P14&lt;br /&gt;
* IN1 du driver à la broche P19&lt;br /&gt;
* IN2 du driver à la broche P18&lt;br /&gt;
* IN3 du driver à la broche P5&lt;br /&gt;
* IN4 du driver à la broche P17&lt;br /&gt;
&lt;br /&gt;
==étape 8==&lt;br /&gt;
Réaliser la graduation en partant de 0 et tracer un trait tout les 15mm d'écart, ce qui correspond à un mètre de marnage.&lt;br /&gt;
&lt;br /&gt;
==étape 9==&lt;br /&gt;
Connecter la carte à l'ordinateur et téléverser le code fournit. Si tout est correct, un appui sur le bouton poussoir fera bouger la vague, avec des petites oscillations, jusqu'au marnage réel.&lt;br /&gt;
&lt;br /&gt;
Voici le POCL fini.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto_fini.jpeg|400px]]&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Il est possible qu'il y ait des problèmes et que la SmartVague ne fonctionne pas du premier coup, ça a été le cas pour nous. Nous allons exposer les difficultés que nous avons rencontré et quelle solution nous avons trouvé.&lt;br /&gt;
* Le câble de connexion ordinateur-ESP32. Il s'avère que certains câbles ne permettent pas la connexion, d'autres ne fournissent pas assez de courant pour alimenter le moteur ainsi que la carte, ce qui donne un problème dans l'exécution du programme. Après avoir testé plusieurs câbles, nous avons finalement trouvé un qui fonctionnait correctement, donc il faut penser à avoir plusieurs câbles pour tester le meilleur.&lt;br /&gt;
* Pour le tracé de l'échelle, il a fallut faire un deuxième programme permettant de commander manuellement le moteur afin de définir combien de tours il devait faire pour une montée d'un mètre du marnage.&lt;br /&gt;
* La vague en carton était trop légère car elle ne tenait pas à plat contre le mur en carton. Nous l'avons donc lesté avec quelques fils d'étain pour y remédier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Demo_SmartVague.mp4&amp;diff=36696</id>
		<title>Fichier:Demo SmartVague.mp4</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Demo_SmartVague.mp4&amp;diff=36696"/>
				<updated>2026-01-20T14:45:23Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36694</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36694"/>
				<updated>2026-01-20T14:45:00Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Un pistolet à colle&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ESP32.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Une ESP32-S expansion board 38-pin&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Expansion_board.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
* 2 câbles mâle mâle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_male.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* 8 câbles femelle femelle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_femelle.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un bouton poussoir&lt;br /&gt;
* Un moteur pas à pas 28BYJ-48 avec un driver ULN2003&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Stepper_motor.png|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un enrouleur à fil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de se rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
Le code complet à utiliser pour ce projet est accessible ici:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SmartVague.ino|vignette|SmartVague.ino]]&lt;br /&gt;
&lt;br /&gt;
Il est aussi disponible à la suite du wiki en copier coller.&lt;br /&gt;
&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/*&lt;br /&gt;
 * PROJET : SMART VAGUE&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;HTTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;ArduinoJson.h&amp;gt;&lt;br /&gt;
#include &amp;lt;NTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;WiFiUdp.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Stepper.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;soc/soc.h&amp;quot;&lt;br /&gt;
#include &amp;quot;soc/rtc_cntl_reg.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
const int PAS_PAR_TOUR = 2048;&lt;br /&gt;
const float PAS_PAR_METRE = PAS_PAR_TOUR / 7.0;&lt;br /&gt;
const float HAUTEUR_MAX = 7.0;&lt;br /&gt;
&lt;br /&gt;
// --- 1. CONFIGURATION ---&lt;br /&gt;
&lt;br /&gt;
const char* ssid     = &amp;quot;NOM_DU_RESEAU&amp;quot;; 			//-&amp;gt; à modifier pour correspondre à votre réseau&lt;br /&gt;
const char* password = &amp;quot;MOT_DE_PASSE_RESEAU&amp;quot;;			//-&amp;gt; IDEM&lt;br /&gt;
 &lt;br /&gt;
// Câblage : IN1-&amp;gt;19, IN3-&amp;gt;5, IN2-&amp;gt;18, IN4-&amp;gt;17&lt;br /&gt;
Stepper myStepper(PAS_PAR_TOUR, 19, 5, 18, 17);			//-&amp;gt; vous pouvez modifiez les Pins de branchement pour le Moteur&lt;br /&gt;
const int boutonPin = 14; 					//-&amp;gt; IDEM pour le Bouton Poussoir&lt;br /&gt;
&lt;br /&gt;
// FIN CONFIGURATION&lt;br /&gt;
&lt;br /&gt;
String url_base = &amp;quot;https://services.data.shom.fr/maregraphie/observation/json/3?sources=1&amp;quot;; &lt;br /&gt;
WiFiUDP ntpUDP;&lt;br /&gt;
NTPClient timeClient(ntpUDP, &amp;quot;pool.ntp.org&amp;quot;, 0);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Désactive le détecteur de Brownout&lt;br /&gt;
  WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); &lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(boutonPin, INPUT_PULLUP);&lt;br /&gt;
  myStepper.setSpeed(10); // Vitesse modérée pour voir l'ondulation&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Connexion au WiFi&amp;quot;);&lt;br /&gt;
  WiFi.begin(ssid, password);&lt;br /&gt;
  &lt;br /&gt;
  int timeout = 0;&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED &amp;amp;&amp;amp; timeout &amp;lt; 20) { &lt;br /&gt;
    delay(500); &lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;); &lt;br /&gt;
    timeout++;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if (WiFi.status() == WL_CONNECTED) {&lt;br /&gt;
    Serial.println(&amp;quot;\nWiFi Connecté !&amp;quot;);&lt;br /&gt;
  } else {&lt;br /&gt;
    Serial.println(&amp;quot;\nEchec WiFi&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  timeClient.begin();&lt;br /&gt;
  Serial.println(&amp;quot;Pret.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  timeClient.update(); &lt;br /&gt;
&lt;br /&gt;
  if (digitalRead(boutonPin) == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;Bouton detecté !&amp;quot;);&lt;br /&gt;
    lancerAnimationMaree();&lt;br /&gt;
    delay(1000); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// --- FONCTION PRINCIPALE ---&lt;br /&gt;
void lancerAnimationMaree() {&lt;br /&gt;
  if (WiFi.status() == WL_CONNECTED) {&lt;br /&gt;
    unsigned long epoch = timeClient.getEpochTime();&lt;br /&gt;
    String url = url_base + &amp;quot;&amp;amp;dtStart=&amp;quot; + getFormattedDate(epoch - 600) + &amp;quot;&amp;amp;dtEnd=&amp;quot; + getFormattedDate(epoch + 60);&lt;br /&gt;
    &lt;br /&gt;
    HTTPClient http;&lt;br /&gt;
    http.begin(url);&lt;br /&gt;
    int code = http.GET(); &lt;br /&gt;
    &lt;br /&gt;
    if (code == 200) { &lt;br /&gt;
      String payload = http.getString();&lt;br /&gt;
      JsonDocument doc;&lt;br /&gt;
      deserializeJson(doc, payload);&lt;br /&gt;
&lt;br /&gt;
      if (doc[&amp;quot;data&amp;quot;].size() &amp;gt; 0) {&lt;br /&gt;
        int dernierIndex = doc[&amp;quot;data&amp;quot;].size() - 1;&lt;br /&gt;
        float niveau = doc[&amp;quot;data&amp;quot;][dernierIndex][&amp;quot;value&amp;quot;];&lt;br /&gt;
        Serial.print(&amp;quot;Hauteur SHOM : &amp;quot;); Serial.println(niveau); &lt;br /&gt;
&lt;br /&gt;
        // Limitation Sécurité&lt;br /&gt;
        if (niveau &amp;gt; HAUTEUR_MAX) niveau = HAUTEUR_MAX;&lt;br /&gt;
&lt;br /&gt;
        // Calcul des pas pour aller à la hauteur de marée&lt;br /&gt;
        long pasAfaire = (long)(niveau * PAS_PAR_METRE);&lt;br /&gt;
&lt;br /&gt;
        // 1. ALLER À LA HAUTEUR DE MARÉE&lt;br /&gt;
        Serial.println(&amp;quot;Deplacement vers la hauteur...&amp;quot;);&lt;br /&gt;
        if (pasAfaire &amp;gt; 0) myStepper.step(-pasAfaire); // (Négatif = monter)&lt;br /&gt;
        &lt;br /&gt;
        // 2. ANIMATION VAGUE AMORTIE&lt;br /&gt;
        Serial.println(&amp;quot;Animation Vague...&amp;quot;);&lt;br /&gt;
        simulerVague(); // &amp;lt;--- C'est ici que ça bouge !&lt;br /&gt;
&lt;br /&gt;
        // 3. RETOUR À ZÉRO&lt;br /&gt;
        Serial.println(&amp;quot;Retour a zero...&amp;quot;);&lt;br /&gt;
        if (pasAfaire &amp;gt; 0) myStepper.step(pasAfaire); &lt;br /&gt;
        &lt;br /&gt;
        extinctionMoteur();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    http.end();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// --- FONCTION QUI FAIT L'OSCILLATION ---&lt;br /&gt;
void simulerVague() {&lt;br /&gt;
  // Réglages de l'animation&lt;br /&gt;
  int amplitude = 200; // Amplitude de départ (en pas). Env. 50cm sur votre échelle.&lt;br /&gt;
  float amortissement = 0.60; // Chaque vague est 40% plus petite que la précédente&lt;br /&gt;
&lt;br /&gt;
  // On fait 4 rebonds&lt;br /&gt;
  for(int i=0; i&amp;lt;4; i++) {&lt;br /&gt;
    &lt;br /&gt;
    // Si l'amplitude devient trop petite (invisible), on arrête&lt;br /&gt;
    if (amplitude &amp;lt; 10) break;&lt;br /&gt;
&lt;br /&gt;
    // A. Monte (Crête)&lt;br /&gt;
    // On monte de 'amplitude'&lt;br /&gt;
    myStepper.step(-amplitude);&lt;br /&gt;
&lt;br /&gt;
    // B. Descend (Creux)&lt;br /&gt;
    // On descend de 2x amplitude pour traverser le centre et aller en bas&lt;br /&gt;
    myStepper.step(amplitude * 2);&lt;br /&gt;
&lt;br /&gt;
    // C. Remonte au centre&lt;br /&gt;
    // On remonte de 'amplitude' pour revenir au niveau exact de la marée&lt;br /&gt;
    myStepper.step(-amplitude);&lt;br /&gt;
&lt;br /&gt;
    // D. Réduit l'amplitude pour le prochain tour&lt;br /&gt;
    amplitude = (int)(amplitude * amortissement);&lt;br /&gt;
    &lt;br /&gt;
    // Petite pause pour ne pas brusquer le moteur&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // On s'assure que le moteur est éteint à la fin de l'oscillation&lt;br /&gt;
  extinctionMoteur();&lt;br /&gt;
  delay(10000); // Pause finale pour lire la valeur avant de redescendre à zéro&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void extinctionMoteur() {&lt;br /&gt;
  digitalWrite(19, LOW); digitalWrite(18, LOW);&lt;br /&gt;
  digitalWrite(5, LOW); digitalWrite(17, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
String getFormattedDate(unsigned long epoch) {&lt;br /&gt;
  time_t rawtime = epoch;&lt;br /&gt;
  struct tm * ti;&lt;br /&gt;
  ti = gmtime (&amp;amp;rawtime);&lt;br /&gt;
  char buffer[25];&lt;br /&gt;
  sprintf(buffer, &amp;quot;%04d-%02d-%02dT%02d:%02d:%02dZ&amp;quot;, &lt;br /&gt;
          ti-&amp;gt;tm_year + 1900, ti-&amp;gt;tm_mon + 1, ti-&amp;gt;tm_mday, &lt;br /&gt;
          ti-&amp;gt;tm_hour, ti-&amp;gt;tm_min, ti-&amp;gt;tm_sec);&lt;br /&gt;
  return String(buffer);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Vague.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr réaliser votre propre modèle. La seule contrainte à respecter est que la largeur de la vague doit être inférieure à 140mm.&lt;br /&gt;
===étape 2===&lt;br /&gt;
Réaliser un trou dans le grand morceau de carton afin de pouvoir passer le moteur à travers.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Trou_carton.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Attacher le moteur à l'enrouleur avec de la colle.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tambour.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
==étape 4==&lt;br /&gt;
Faire un trou au centre d'une des deux pièces 140x70 afin d'y faire passer le bouton poussoir.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bouton_poussoir.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
==étape 5==&lt;br /&gt;
Coller les morceaux de carton ensembles afin d'obtenir le résultat suivant.&lt;br /&gt;
&lt;br /&gt;
==étape 6==&lt;br /&gt;
Enrouler la ficelle dans l'enrouleur et attacher le haut de la vague à l'extrémité de la ficelle.&lt;br /&gt;
&lt;br /&gt;
==étape 7==&lt;br /&gt;
Réaliser le câblage suivant.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Wiring.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
Afin d'être en adéquation avec le code fournit, il faut brancher:&lt;br /&gt;
* le bouton poussoir à la broche P14&lt;br /&gt;
* IN1 du driver à la broche P19&lt;br /&gt;
* IN2 du driver à la broche P18&lt;br /&gt;
* IN3 du driver à la broche P5&lt;br /&gt;
* IN4 du driver à la broche P17&lt;br /&gt;
&lt;br /&gt;
==étape 8==&lt;br /&gt;
Réaliser la graduation en partant de 0 et tracer un trait tout les 15mm d'écart, ce qui correspond à un mètre de marnage.&lt;br /&gt;
&lt;br /&gt;
==étape 9==&lt;br /&gt;
Connecter la carte à l'ordinateur et téléverser le code fournit. Si tout est correct, un appui sur le bouton poussoir fera bouger la vague, avec des petites oscillations, jusqu'au marnage réel.&lt;br /&gt;
&lt;br /&gt;
Voici le POCL fini.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto_fini.jpeg|400px]]&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
&lt;br /&gt;
Il est possible qu'il y ait des problèmes et que la SmartVague ne fonctionne pas du premier coup, ça a été le cas pour nous. Nous allons exposer les difficultés que nous avons rencontré et quelle solution nous avons trouvé.&lt;br /&gt;
* Le câble de connexion ordinateur-ESP32. Il s'avère que certains câbles ne permettent pas la connexion, d'autres ne fournissent pas assez de courant pour alimenter le moteur ainsi que la carte, ce qui donne un problème dans l'exécution du programme. Après avoir testé plusieurs câbles, nous avons finalement trouvé un qui fonctionnait correctement, donc il faut penser à avoir plusieurs câbles pour tester le meilleur.&lt;br /&gt;
* Pour le tracé de l'échelle, il a fallut faire un deuxième programme permettant de commander manuellement le moteur afin de définir combien de tours il devait faire pour une montée d'un mètre du marnage.&lt;br /&gt;
* La vague en carton était trop légère car elle ne tenait pas à plat contre le mur en carton. Nous l'avons donc lesté avec quelques fils d'étain pour y remédier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36636</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36636"/>
				<updated>2026-01-20T14:27:19Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Un pistolet à colle&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ESP32.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Une ESP32-S expansion board 38-pin&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Expansion_board.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
* 2 câbles mâle mâle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_male.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* 8 câbles femelle femelle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_femelle.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un bouton poussoir&lt;br /&gt;
* Un moteur pas à pas 28BYJ-48 avec un driver ULN2003&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Stepper_motor.png|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un enrouleur à fil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de se rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
Le code complet à utiliser pour ce projet est accessible ici:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SmartVague.ino|vignette|SmartVague.ino]]&lt;br /&gt;
&lt;br /&gt;
Il est aussi disponible à la suite du wiki en copier coller.&lt;br /&gt;
&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/*&lt;br /&gt;
 * PROJET : SMART VAGUE&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;HTTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;ArduinoJson.h&amp;gt;&lt;br /&gt;
#include &amp;lt;NTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;WiFiUdp.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Stepper.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;soc/soc.h&amp;quot;&lt;br /&gt;
#include &amp;quot;soc/rtc_cntl_reg.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
const int PAS_PAR_TOUR = 2048;&lt;br /&gt;
const float PAS_PAR_METRE = PAS_PAR_TOUR / 7.0;&lt;br /&gt;
const float HAUTEUR_MAX = 7.0;&lt;br /&gt;
&lt;br /&gt;
// --- 1. CONFIGURATION ---&lt;br /&gt;
&lt;br /&gt;
const char* ssid     = &amp;quot;NOM_DU_RESEAU&amp;quot;; 			//-&amp;gt; à modifier pour correspondre à votre réseau&lt;br /&gt;
const char* password = &amp;quot;MOT_DE_PASSE_RESEAU&amp;quot;;			//-&amp;gt; IDEM&lt;br /&gt;
 &lt;br /&gt;
// Câblage : IN1-&amp;gt;19, IN3-&amp;gt;5, IN2-&amp;gt;18, IN4-&amp;gt;17&lt;br /&gt;
Stepper myStepper(PAS_PAR_TOUR, 19, 5, 18, 17);			//-&amp;gt; vous pouvez modifiez les Pins de branchement pour le Moteur&lt;br /&gt;
const int boutonPin = 14; 					//-&amp;gt; IDEM pour le Bouton Poussoir&lt;br /&gt;
&lt;br /&gt;
// FIN CONFIGURATION&lt;br /&gt;
&lt;br /&gt;
String url_base = &amp;quot;https://services.data.shom.fr/maregraphie/observation/json/3?sources=1&amp;quot;; &lt;br /&gt;
WiFiUDP ntpUDP;&lt;br /&gt;
NTPClient timeClient(ntpUDP, &amp;quot;pool.ntp.org&amp;quot;, 0);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Désactive le détecteur de Brownout&lt;br /&gt;
  WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); &lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(boutonPin, INPUT_PULLUP);&lt;br /&gt;
  myStepper.setSpeed(10); // Vitesse modérée pour voir l'ondulation&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Connexion au WiFi&amp;quot;);&lt;br /&gt;
  WiFi.begin(ssid, password);&lt;br /&gt;
  &lt;br /&gt;
  int timeout = 0;&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED &amp;amp;&amp;amp; timeout &amp;lt; 20) { &lt;br /&gt;
    delay(500); &lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;); &lt;br /&gt;
    timeout++;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if (WiFi.status() == WL_CONNECTED) {&lt;br /&gt;
    Serial.println(&amp;quot;\nWiFi Connecté !&amp;quot;);&lt;br /&gt;
  } else {&lt;br /&gt;
    Serial.println(&amp;quot;\nEchec WiFi&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  timeClient.begin();&lt;br /&gt;
  Serial.println(&amp;quot;Pret.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  timeClient.update(); &lt;br /&gt;
&lt;br /&gt;
  if (digitalRead(boutonPin) == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;Bouton detecté !&amp;quot;);&lt;br /&gt;
    lancerAnimationMaree();&lt;br /&gt;
    delay(1000); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// --- FONCTION PRINCIPALE ---&lt;br /&gt;
void lancerAnimationMaree() {&lt;br /&gt;
  if (WiFi.status() == WL_CONNECTED) {&lt;br /&gt;
    unsigned long epoch = timeClient.getEpochTime();&lt;br /&gt;
    String url = url_base + &amp;quot;&amp;amp;dtStart=&amp;quot; + getFormattedDate(epoch - 600) + &amp;quot;&amp;amp;dtEnd=&amp;quot; + getFormattedDate(epoch + 60);&lt;br /&gt;
    &lt;br /&gt;
    HTTPClient http;&lt;br /&gt;
    http.begin(url);&lt;br /&gt;
    int code = http.GET(); &lt;br /&gt;
    &lt;br /&gt;
    if (code == 200) { &lt;br /&gt;
      String payload = http.getString();&lt;br /&gt;
      JsonDocument doc;&lt;br /&gt;
      deserializeJson(doc, payload);&lt;br /&gt;
&lt;br /&gt;
      if (doc[&amp;quot;data&amp;quot;].size() &amp;gt; 0) {&lt;br /&gt;
        int dernierIndex = doc[&amp;quot;data&amp;quot;].size() - 1;&lt;br /&gt;
        float niveau = doc[&amp;quot;data&amp;quot;][dernierIndex][&amp;quot;value&amp;quot;];&lt;br /&gt;
        Serial.print(&amp;quot;Hauteur SHOM : &amp;quot;); Serial.println(niveau); &lt;br /&gt;
&lt;br /&gt;
        // Limitation Sécurité&lt;br /&gt;
        if (niveau &amp;gt; HAUTEUR_MAX) niveau = HAUTEUR_MAX;&lt;br /&gt;
&lt;br /&gt;
        // Calcul des pas pour aller à la hauteur de marée&lt;br /&gt;
        long pasAfaire = (long)(niveau * PAS_PAR_METRE);&lt;br /&gt;
&lt;br /&gt;
        // 1. ALLER À LA HAUTEUR DE MARÉE&lt;br /&gt;
        Serial.println(&amp;quot;Deplacement vers la hauteur...&amp;quot;);&lt;br /&gt;
        if (pasAfaire &amp;gt; 0) myStepper.step(-pasAfaire); // (Négatif = monter)&lt;br /&gt;
        &lt;br /&gt;
        // 2. ANIMATION VAGUE AMORTIE&lt;br /&gt;
        Serial.println(&amp;quot;Animation Vague...&amp;quot;);&lt;br /&gt;
        simulerVague(); // &amp;lt;--- C'est ici que ça bouge !&lt;br /&gt;
&lt;br /&gt;
        // 3. RETOUR À ZÉRO&lt;br /&gt;
        Serial.println(&amp;quot;Retour a zero...&amp;quot;);&lt;br /&gt;
        if (pasAfaire &amp;gt; 0) myStepper.step(pasAfaire); &lt;br /&gt;
        &lt;br /&gt;
        extinctionMoteur();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    http.end();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// --- FONCTION QUI FAIT L'OSCILLATION ---&lt;br /&gt;
void simulerVague() {&lt;br /&gt;
  // Réglages de l'animation&lt;br /&gt;
  int amplitude = 200; // Amplitude de départ (en pas). Env. 50cm sur votre échelle.&lt;br /&gt;
  float amortissement = 0.60; // Chaque vague est 40% plus petite que la précédente&lt;br /&gt;
&lt;br /&gt;
  // On fait 4 rebonds&lt;br /&gt;
  for(int i=0; i&amp;lt;4; i++) {&lt;br /&gt;
    &lt;br /&gt;
    // Si l'amplitude devient trop petite (invisible), on arrête&lt;br /&gt;
    if (amplitude &amp;lt; 10) break;&lt;br /&gt;
&lt;br /&gt;
    // A. Monte (Crête)&lt;br /&gt;
    // On monte de 'amplitude'&lt;br /&gt;
    myStepper.step(-amplitude);&lt;br /&gt;
&lt;br /&gt;
    // B. Descend (Creux)&lt;br /&gt;
    // On descend de 2x amplitude pour traverser le centre et aller en bas&lt;br /&gt;
    myStepper.step(amplitude * 2);&lt;br /&gt;
&lt;br /&gt;
    // C. Remonte au centre&lt;br /&gt;
    // On remonte de 'amplitude' pour revenir au niveau exact de la marée&lt;br /&gt;
    myStepper.step(-amplitude);&lt;br /&gt;
&lt;br /&gt;
    // D. Réduit l'amplitude pour le prochain tour&lt;br /&gt;
    amplitude = (int)(amplitude * amortissement);&lt;br /&gt;
    &lt;br /&gt;
    // Petite pause pour ne pas brusquer le moteur&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // On s'assure que le moteur est éteint à la fin de l'oscillation&lt;br /&gt;
  extinctionMoteur();&lt;br /&gt;
  delay(10000); // Pause finale pour lire la valeur avant de redescendre à zéro&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void extinctionMoteur() {&lt;br /&gt;
  digitalWrite(19, LOW); digitalWrite(18, LOW);&lt;br /&gt;
  digitalWrite(5, LOW); digitalWrite(17, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
String getFormattedDate(unsigned long epoch) {&lt;br /&gt;
  time_t rawtime = epoch;&lt;br /&gt;
  struct tm * ti;&lt;br /&gt;
  ti = gmtime (&amp;amp;rawtime);&lt;br /&gt;
  char buffer[25];&lt;br /&gt;
  sprintf(buffer, &amp;quot;%04d-%02d-%02dT%02d:%02d:%02dZ&amp;quot;, &lt;br /&gt;
          ti-&amp;gt;tm_year + 1900, ti-&amp;gt;tm_mon + 1, ti-&amp;gt;tm_mday, &lt;br /&gt;
          ti-&amp;gt;tm_hour, ti-&amp;gt;tm_min, ti-&amp;gt;tm_sec);&lt;br /&gt;
  return String(buffer);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Vague.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr réaliser votre propre modèle. La seule contrainte à respecter est que la largeur de la vague doit être inférieure à 140mm.&lt;br /&gt;
===étape 2===&lt;br /&gt;
Réaliser un trou dans le grand morceau de carton afin de pouvoir passer le moteur à travers.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Trou_carton.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Attacher le moteur à l'enrouleur avec de la colle.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tambour.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
==étape 4==&lt;br /&gt;
Faire un trou au centre d'une des deux pièces 140x70 afin d'y faire passer le bouton poussoir.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bouton_poussoir.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
==étape 5==&lt;br /&gt;
Coller les morceaux de carton ensembles afin d'obtenir le résultat suivant.&lt;br /&gt;
&lt;br /&gt;
==étape 6==&lt;br /&gt;
Enrouler la ficelle dans l'enrouleur et attacher le haut de la vague à l'extrémité de la ficelle.&lt;br /&gt;
&lt;br /&gt;
==étape 7==&lt;br /&gt;
Réaliser le câblage suivant.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Wiring.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
Afin d'être en adéquation avec le code fournit, il faut brancher:&lt;br /&gt;
* le bouton poussoir à la broche P14&lt;br /&gt;
* IN1 du driver à la broche P19&lt;br /&gt;
* IN2 du driver à la broche P18&lt;br /&gt;
* IN3 du driver à la broche P5&lt;br /&gt;
* IN4 du driver à la broche P17&lt;br /&gt;
&lt;br /&gt;
==étape 8==&lt;br /&gt;
Réaliser la graduation en partant de 0 et tracer un trait tout les 15mm d'écart, ce qui correspond à un mètre de marnage.&lt;br /&gt;
&lt;br /&gt;
==étape 9==&lt;br /&gt;
Connecter la carte à l'ordinateur et téléverser le code fournit. Si tout est correct, un appui sur le bouton poussoir fera bouger la vague, avec des petites oscillations, jusqu'au marnage réel.&lt;br /&gt;
&lt;br /&gt;
Voici le POCL fini.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto_fini.jpeg|400px]]&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont les difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:SmartVague.ino&amp;diff=36629</id>
		<title>Fichier:SmartVague.ino</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:SmartVague.ino&amp;diff=36629"/>
				<updated>2026-01-20T14:23:53Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36628</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36628"/>
				<updated>2026-01-20T14:23:39Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Un pistolet à colle&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ESP32.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Une ESP32-S expansion board 38-pin&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Expansion_board.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
* 2 câbles mâle mâle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_male.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* 8 câbles femelle femelle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_femelle.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un bouton poussoir&lt;br /&gt;
* Un moteur pas à pas 28BYJ-48 avec un driver ULN2003&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Stepper_motor.png|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un enrouleur à fil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de se rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/*&lt;br /&gt;
 * PROJET : SMART VAGUE&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;HTTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;ArduinoJson.h&amp;gt;&lt;br /&gt;
#include &amp;lt;NTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;WiFiUdp.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Stepper.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;soc/soc.h&amp;quot;&lt;br /&gt;
#include &amp;quot;soc/rtc_cntl_reg.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
const int PAS_PAR_TOUR = 2048;&lt;br /&gt;
const float PAS_PAR_METRE = PAS_PAR_TOUR / 7.0;&lt;br /&gt;
const float HAUTEUR_MAX = 7.0;&lt;br /&gt;
&lt;br /&gt;
// --- 1. CONFIGURATION ---&lt;br /&gt;
&lt;br /&gt;
const char* ssid     = &amp;quot;NOM_DU_RESEAU&amp;quot;; 			//-&amp;gt; à modifier pour correspondre à votre réseau&lt;br /&gt;
const char* password = &amp;quot;MOT_DE_PASSE_RESEAU&amp;quot;;			//-&amp;gt; IDEM&lt;br /&gt;
 &lt;br /&gt;
// Câblage : IN1-&amp;gt;19, IN3-&amp;gt;5, IN2-&amp;gt;18, IN4-&amp;gt;17&lt;br /&gt;
Stepper myStepper(PAS_PAR_TOUR, 19, 5, 18, 17);			//-&amp;gt; vous pouvez modifiez les Pins de branchement pour le Moteur&lt;br /&gt;
const int boutonPin = 14; 					//-&amp;gt; IDEM pour le Bouton Poussoir&lt;br /&gt;
&lt;br /&gt;
// FIN CONFIGURATION&lt;br /&gt;
&lt;br /&gt;
String url_base = &amp;quot;https://services.data.shom.fr/maregraphie/observation/json/3?sources=1&amp;quot;; &lt;br /&gt;
WiFiUDP ntpUDP;&lt;br /&gt;
NTPClient timeClient(ntpUDP, &amp;quot;pool.ntp.org&amp;quot;, 0);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Désactive le détecteur de Brownout&lt;br /&gt;
  WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); &lt;br /&gt;
&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  pinMode(boutonPin, INPUT_PULLUP);&lt;br /&gt;
  myStepper.setSpeed(10); // Vitesse modérée pour voir l'ondulation&lt;br /&gt;
&lt;br /&gt;
  Serial.print(&amp;quot;Connexion au WiFi&amp;quot;);&lt;br /&gt;
  WiFi.begin(ssid, password);&lt;br /&gt;
  &lt;br /&gt;
  int timeout = 0;&lt;br /&gt;
  while (WiFi.status() != WL_CONNECTED &amp;amp;&amp;amp; timeout &amp;lt; 20) { &lt;br /&gt;
    delay(500); &lt;br /&gt;
    Serial.print(&amp;quot;.&amp;quot;); &lt;br /&gt;
    timeout++;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  if (WiFi.status() == WL_CONNECTED) {&lt;br /&gt;
    Serial.println(&amp;quot;\nWiFi Connecté !&amp;quot;);&lt;br /&gt;
  } else {&lt;br /&gt;
    Serial.println(&amp;quot;\nEchec WiFi&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  timeClient.begin();&lt;br /&gt;
  Serial.println(&amp;quot;Pret.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  timeClient.update(); &lt;br /&gt;
&lt;br /&gt;
  if (digitalRead(boutonPin) == LOW) {&lt;br /&gt;
    Serial.println(&amp;quot;Bouton detecté !&amp;quot;);&lt;br /&gt;
    lancerAnimationMaree();&lt;br /&gt;
    delay(1000); &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// --- FONCTION PRINCIPALE ---&lt;br /&gt;
void lancerAnimationMaree() {&lt;br /&gt;
  if (WiFi.status() == WL_CONNECTED) {&lt;br /&gt;
    unsigned long epoch = timeClient.getEpochTime();&lt;br /&gt;
    String url = url_base + &amp;quot;&amp;amp;dtStart=&amp;quot; + getFormattedDate(epoch - 600) + &amp;quot;&amp;amp;dtEnd=&amp;quot; + getFormattedDate(epoch + 60);&lt;br /&gt;
    &lt;br /&gt;
    HTTPClient http;&lt;br /&gt;
    http.begin(url);&lt;br /&gt;
    int code = http.GET(); &lt;br /&gt;
    &lt;br /&gt;
    if (code == 200) { &lt;br /&gt;
      String payload = http.getString();&lt;br /&gt;
      JsonDocument doc;&lt;br /&gt;
      deserializeJson(doc, payload);&lt;br /&gt;
&lt;br /&gt;
      if (doc[&amp;quot;data&amp;quot;].size() &amp;gt; 0) {&lt;br /&gt;
        int dernierIndex = doc[&amp;quot;data&amp;quot;].size() - 1;&lt;br /&gt;
        float niveau = doc[&amp;quot;data&amp;quot;][dernierIndex][&amp;quot;value&amp;quot;];&lt;br /&gt;
        Serial.print(&amp;quot;Hauteur SHOM : &amp;quot;); Serial.println(niveau); &lt;br /&gt;
&lt;br /&gt;
        // Limitation Sécurité&lt;br /&gt;
        if (niveau &amp;gt; HAUTEUR_MAX) niveau = HAUTEUR_MAX;&lt;br /&gt;
&lt;br /&gt;
        // Calcul des pas pour aller à la hauteur de marée&lt;br /&gt;
        long pasAfaire = (long)(niveau * PAS_PAR_METRE);&lt;br /&gt;
&lt;br /&gt;
        // 1. ALLER À LA HAUTEUR DE MARÉE&lt;br /&gt;
        Serial.println(&amp;quot;Deplacement vers la hauteur...&amp;quot;);&lt;br /&gt;
        if (pasAfaire &amp;gt; 0) myStepper.step(-pasAfaire); // (Négatif = monter)&lt;br /&gt;
        &lt;br /&gt;
        // 2. ANIMATION VAGUE AMORTIE&lt;br /&gt;
        Serial.println(&amp;quot;Animation Vague...&amp;quot;);&lt;br /&gt;
        simulerVague(); // &amp;lt;--- C'est ici que ça bouge !&lt;br /&gt;
&lt;br /&gt;
        // 3. RETOUR À ZÉRO&lt;br /&gt;
        Serial.println(&amp;quot;Retour a zero...&amp;quot;);&lt;br /&gt;
        if (pasAfaire &amp;gt; 0) myStepper.step(pasAfaire); &lt;br /&gt;
        &lt;br /&gt;
        extinctionMoteur();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    http.end();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// --- FONCTION QUI FAIT L'OSCILLATION ---&lt;br /&gt;
void simulerVague() {&lt;br /&gt;
  // Réglages de l'animation&lt;br /&gt;
  int amplitude = 200; // Amplitude de départ (en pas). Env. 50cm sur votre échelle.&lt;br /&gt;
  float amortissement = 0.60; // Chaque vague est 40% plus petite que la précédente&lt;br /&gt;
&lt;br /&gt;
  // On fait 4 rebonds&lt;br /&gt;
  for(int i=0; i&amp;lt;4; i++) {&lt;br /&gt;
    &lt;br /&gt;
    // Si l'amplitude devient trop petite (invisible), on arrête&lt;br /&gt;
    if (amplitude &amp;lt; 10) break;&lt;br /&gt;
&lt;br /&gt;
    // A. Monte (Crête)&lt;br /&gt;
    // On monte de 'amplitude'&lt;br /&gt;
    myStepper.step(-amplitude);&lt;br /&gt;
&lt;br /&gt;
    // B. Descend (Creux)&lt;br /&gt;
    // On descend de 2x amplitude pour traverser le centre et aller en bas&lt;br /&gt;
    myStepper.step(amplitude * 2);&lt;br /&gt;
&lt;br /&gt;
    // C. Remonte au centre&lt;br /&gt;
    // On remonte de 'amplitude' pour revenir au niveau exact de la marée&lt;br /&gt;
    myStepper.step(-amplitude);&lt;br /&gt;
&lt;br /&gt;
    // D. Réduit l'amplitude pour le prochain tour&lt;br /&gt;
    amplitude = (int)(amplitude * amortissement);&lt;br /&gt;
    &lt;br /&gt;
    // Petite pause pour ne pas brusquer le moteur&lt;br /&gt;
    delay(50);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // On s'assure que le moteur est éteint à la fin de l'oscillation&lt;br /&gt;
  extinctionMoteur();&lt;br /&gt;
  delay(10000); // Pause finale pour lire la valeur avant de redescendre à zéro&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void extinctionMoteur() {&lt;br /&gt;
  digitalWrite(19, LOW); digitalWrite(18, LOW);&lt;br /&gt;
  digitalWrite(5, LOW); digitalWrite(17, LOW);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
String getFormattedDate(unsigned long epoch) {&lt;br /&gt;
  time_t rawtime = epoch;&lt;br /&gt;
  struct tm * ti;&lt;br /&gt;
  ti = gmtime (&amp;amp;rawtime);&lt;br /&gt;
  char buffer[25];&lt;br /&gt;
  sprintf(buffer, &amp;quot;%04d-%02d-%02dT%02d:%02d:%02dZ&amp;quot;, &lt;br /&gt;
          ti-&amp;gt;tm_year + 1900, ti-&amp;gt;tm_mon + 1, ti-&amp;gt;tm_mday, &lt;br /&gt;
          ti-&amp;gt;tm_hour, ti-&amp;gt;tm_min, ti-&amp;gt;tm_sec);&lt;br /&gt;
  return String(buffer);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Vague.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr réaliser votre propre modèle. La seule contrainte à respecter est que la largeur de la vague doit être inférieure à 140mm.&lt;br /&gt;
===étape 2===&lt;br /&gt;
Réaliser un trou dans le grand morceau de carton afin de pouvoir passer le moteur à travers.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Trou_carton.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Attacher le moteur à l'enrouleur avec de la colle.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tambour.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
==étape 4==&lt;br /&gt;
Faire un trou au centre d'une des deux pièces 140x70 afin d'y faire passer le bouton poussoir.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bouton_poussoir.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
==étape 5==&lt;br /&gt;
Coller les morceaux de carton ensembles afin d'obtenir le résultat suivant.&lt;br /&gt;
&lt;br /&gt;
==étape 6==&lt;br /&gt;
Enrouler la ficelle dans l'enrouleur et attacher le haut de la vague à l'extrémité de la ficelle.&lt;br /&gt;
&lt;br /&gt;
==étape 7==&lt;br /&gt;
Réaliser le câblage suivant.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Wiring.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
Afin d'être en adéquation avec le code fournit, il faut brancher:&lt;br /&gt;
* le bouton poussoir à la broche P14&lt;br /&gt;
* IN1 du driver à la broche P19&lt;br /&gt;
* IN2 du driver à la broche P18&lt;br /&gt;
* IN3 du driver à la broche P5&lt;br /&gt;
* IN4 du driver à la broche P17&lt;br /&gt;
&lt;br /&gt;
==étape 8==&lt;br /&gt;
Réaliser la graduation en partant de 0 et tracer un trait tout les 15mm d'écart, ce qui correspond à un mètre de marnage.&lt;br /&gt;
&lt;br /&gt;
==étape 9==&lt;br /&gt;
Connecter la carte à l'ordinateur et téléverser le code fournit. Si tout est correct, un appui sur le bouton poussoir fera bouger la vague, avec des petites oscillations, jusqu'au marnage réel.&lt;br /&gt;
&lt;br /&gt;
Voici le POCL fini.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Proto_fini.jpeg|400px]]&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont les difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Proto_fini.jpeg&amp;diff=36622</id>
		<title>Fichier:Proto fini.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Proto_fini.jpeg&amp;diff=36622"/>
				<updated>2026-01-20T14:20:10Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36620</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36620"/>
				<updated>2026-01-20T14:19:36Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Un pistolet à colle&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ESP32.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Une ESP32-S expansion board 38-pin&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Expansion_board.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
* 2 câbles mâle mâle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_male.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* 8 câbles femelle femelle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_femelle.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un bouton poussoir&lt;br /&gt;
* Un moteur pas à pas 28BYJ-48 avec un driver ULN2003&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Stepper_motor.png|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un enrouleur à fil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de se rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Vague.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr réaliser votre propre modèle. La seule contrainte à respecter est que la largeur de la vague doit être inférieure à 140mm.&lt;br /&gt;
===étape 2===&lt;br /&gt;
Réaliser un trou dans le grand morceau de carton afin de pouvoir passer le moteur à travers.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Trou_carton.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Attacher le moteur à l'enrouleur avec de la colle.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tambour.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
==étape 4==&lt;br /&gt;
Faire un trou au centre d'une des deux pièces 140x70 afin d'y faire passer le bouton poussoir.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bouton_poussoir.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
==étape 5==&lt;br /&gt;
Coller les morceaux de carton ensembles afin d'obtenir le résultat suivant.&lt;br /&gt;
&lt;br /&gt;
==étape 6==&lt;br /&gt;
Enrouler la ficelle dans l'enrouleur et attacher le haut de la vague à l'extrémité de la ficelle.&lt;br /&gt;
&lt;br /&gt;
==étape 7==&lt;br /&gt;
Réaliser le câblage suivant.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Wiring.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
Afin d'être en adéquation avec le code fournit, il faut brancher:&lt;br /&gt;
* le bouton poussoir à la broche P14&lt;br /&gt;
* IN1 du driver à la broche P19&lt;br /&gt;
* IN2 du driver à la broche P18&lt;br /&gt;
* IN3 du driver à la broche P5&lt;br /&gt;
* IN4 du driver à la broche P17&lt;br /&gt;
&lt;br /&gt;
==étape 8==&lt;br /&gt;
Réaliser la graduation en partant de 0 et tracer un trait tout les 15mm d'écart, ce qui correspond à un mètre de marnage.&lt;br /&gt;
&lt;br /&gt;
==étape 9==&lt;br /&gt;
Connecter la carte à l'ordinateur et téléverser le code fournit. Si tout est correct, un appui sur le bouton poussoir fera bouger la vague, avec des petites oscillations, jusqu'au marnage réel.&lt;br /&gt;
&lt;br /&gt;
Voici le POCL fini.&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont les difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Wiring.jpeg&amp;diff=36609</id>
		<title>Fichier:Wiring.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Wiring.jpeg&amp;diff=36609"/>
				<updated>2026-01-20T14:08:40Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36608</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36608"/>
				<updated>2026-01-20T14:08:28Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Un pistolet à colle&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ESP32.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Une ESP32-S expansion board 38-pin&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Expansion_board.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
* 2 câbles mâle mâle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_male.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* 8 câbles femelle femelle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_femelle.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un bouton poussoir&lt;br /&gt;
* Un moteur pas à pas 28BYJ-48 avec un driver ULN2003&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Stepper_motor.png|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un enrouleur à fil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de se rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Vague.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr réaliser votre propre modèle. La seule contrainte à respecter est que la largeur de la vague doit être inférieure à 140mm.&lt;br /&gt;
===étape 2===&lt;br /&gt;
Réaliser un trou dans le grand morceau de carton afin de pouvoir passer le moteur à travers.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Trou_carton.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Attacher le moteur à l'enrouleur avec de la colle.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tambour.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
==étape 4==&lt;br /&gt;
Faire un trou au centre d'une des deux pièces 140x70 afin d'y faire passer le bouton poussoir.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Bouton_poussoir.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
==étape 5==&lt;br /&gt;
Coller les morceaux de carton ensembles afin d'obtenir le résultat suivant.&lt;br /&gt;
&lt;br /&gt;
==étape 6==&lt;br /&gt;
Enrouler la ficelle dans l'enrouleur et attacher le haut de la vague à l'extrémité de la ficelle.&lt;br /&gt;
&lt;br /&gt;
==étape 7==&lt;br /&gt;
Réaliser le câblage &lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont les difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Bouton_poussoir.jpeg&amp;diff=36602</id>
		<title>Fichier:Bouton poussoir.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Bouton_poussoir.jpeg&amp;diff=36602"/>
				<updated>2026-01-20T13:59:56Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36601</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36601"/>
				<updated>2026-01-20T13:58:49Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Un pistolet à colle&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ESP32.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Une ESP32-S expansion board 38-pin&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Expansion_board.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
* 2 câbles mâle mâle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_male.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* 8 câbles femelle femelle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_femelle.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un bouton poussoir&lt;br /&gt;
* Un moteur pas à pas 28BYJ-48 avec un driver ULN2003&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Stepper_motor.png|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un enrouleur à fil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de se rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Vague.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr réaliser votre propre modèle. La seule contrainte à respecter est que la largeur de la vague doit être inférieure à 140mm.&lt;br /&gt;
===étape 2===&lt;br /&gt;
Réaliser un trou dans le grand morceau de carton afin de pouvoir passer le moteur à travers.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Trou_carton.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Attacher le moteur à l'enrouleur avec de la colle.&lt;br /&gt;
&lt;br /&gt;
==étape 4==&lt;br /&gt;
Faire un trou au centre d'une des deux pièces 140x70 afin d'y faire passer le bouton poussoir.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Tambour.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Tambour.jpeg&amp;diff=36598</id>
		<title>Fichier:Tambour.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Tambour.jpeg&amp;diff=36598"/>
				<updated>2026-01-20T13:54:55Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36595</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36595"/>
				<updated>2026-01-20T13:53:50Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ESP32.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Une ESP32-S expansion board 38-pin&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Expansion_board.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
* 2 câbles mâle mâle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_male.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* 8 câbles femelle femelle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_femelle.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un bouton poussoir&lt;br /&gt;
* Un moteur pas à pas 28BYJ-48 avec un driver ULN2003&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Stepper_motor.png|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un enrouleur à fil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de se rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Vague.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr réaliser votre propre modèle. La seule contrainte à respecter est que la largeur de la vague doit être inférieure à 140mm.&lt;br /&gt;
===étape 2===&lt;br /&gt;
Réaliser un trou dans le grand morceau de carton afin de pouvoir passer le moteur à travers.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Trou_carton.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
===étape ...===&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Trou_carton.jpeg&amp;diff=36587</id>
		<title>Fichier:Trou carton.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Trou_carton.jpeg&amp;diff=36587"/>
				<updated>2026-01-20T13:51:13Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36586</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36586"/>
				<updated>2026-01-20T13:50:40Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ESP32.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Une ESP32-S expansion board 38-pin&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Expansion_board.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
* 2 câbles mâle mâle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_male.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* 8 câbles femelle femelle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_femelle.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un bouton poussoir&lt;br /&gt;
* Un moteur pas à pas 28BYJ-48 avec un driver ULN2003&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Stepper_motor.png|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un enrouleur à fil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de se rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Vague.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr réaliser votre propre modèle. La seule contrainte à respecter est que la largeur de la vague doit être inférieure à 140mm.&lt;br /&gt;
===étape 2===&lt;br /&gt;
Réaliser un trou dans le grand morceau de carton afin de pouvoir passer le moteur à travers&lt;br /&gt;
===étape ...===&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36578</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36578"/>
				<updated>2026-01-20T13:43:17Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Un moteur pas à pas&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
* Une ESP32-S expansion board 38-pin&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Expansion_board.jpg|200px]]&lt;br /&gt;
&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
* 2 câbles mâle mâle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_male.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* 8 câbles femelle femelle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_femelle.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un bouton poussoir&lt;br /&gt;
* un moteur pas à pas 28BYJ-48 avec un driver ULN2003&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Stepper_motor.png|200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de ce rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Vague.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr réaliser votre propre modèle. La seule contrainte à respecter est que la largeur de la vague doit être inférieure à 140mm.&lt;br /&gt;
===étape 2===&lt;br /&gt;
===étape ...===&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Expansion_board.jpg&amp;diff=36575</id>
		<title>Fichier:Expansion board.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Expansion_board.jpg&amp;diff=36575"/>
				<updated>2026-01-20T13:39:26Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36574</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36574"/>
				<updated>2026-01-20T13:38:56Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Un moteur pas à pas&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
* Une ESP32-S expansion board 38-pin&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
* 2 câbles mâle mâle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_male.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* 8 câbles femelle femelle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_femelle.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un bouton poussoir&lt;br /&gt;
* un moteur pas à pas 28BYJ-48 avec un driver ULN2003&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Stepper_motor.png|200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de ce rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Vague.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr réaliser votre propre modèle. La seule contrainte à respecter est que la largeur de la vague doit être inférieure à 140mm.&lt;br /&gt;
===étape 2===&lt;br /&gt;
===étape ...===&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Stepper_motor.png&amp;diff=36568</id>
		<title>Fichier:Stepper motor.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Stepper_motor.png&amp;diff=36568"/>
				<updated>2026-01-20T13:34:18Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36566</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36566"/>
				<updated>2026-01-20T13:34:00Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Un moteur pas à pas&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
* 2 câbles mâle mâle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_male.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* 8 câbles femelle femelle&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cable_femelle.jpeg|200px]]&lt;br /&gt;
&lt;br /&gt;
* Un bouton poussoir&lt;br /&gt;
* un moteur pas à pas 28BYJ-48 avec un driver ULN2003&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de ce rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Vague.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr réaliser votre propre modèle. La seule contrainte à respecter est que la largeur de la vague doit être inférieure à 140mm.&lt;br /&gt;
===étape 2===&lt;br /&gt;
===étape ...===&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Cable_male.jpeg&amp;diff=36541</id>
		<title>Fichier:Cable male.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Cable_male.jpeg&amp;diff=36541"/>
				<updated>2026-01-20T13:20:07Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Cable_femelle.jpeg&amp;diff=36539</id>
		<title>Fichier:Cable femelle.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Cable_femelle.jpeg&amp;diff=36539"/>
				<updated>2026-01-20T13:19:22Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36536</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36536"/>
				<updated>2026-01-20T13:17:59Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Un moteur pas à pas&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
* 2 câbles mâle mâle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de ce rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Vague.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr réaliser votre propre modèle. La seule contrainte à respecter est que la largeur de la vague doit être inférieure à 140mm.&lt;br /&gt;
===étape 2===&lt;br /&gt;
===étape ...===&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36510</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36510"/>
				<updated>2026-01-20T11:14:59Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Un moteur pas à pas&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de ce rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Vague.jpeg|300px]]&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr réaliser votre propre modèle. La seule contrainte à respecter est que la largeur de la vague doit être inférieure à 140mm.&lt;br /&gt;
===étape 2===&lt;br /&gt;
===étape ...===&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Vague.jpeg&amp;diff=36504</id>
		<title>Fichier:Vague.jpeg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Vague.jpeg&amp;diff=36504"/>
				<updated>2026-01-20T11:10:39Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36502</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36502"/>
				<updated>2026-01-20T11:09:56Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Une paire de ciseaux&lt;br /&gt;
* Un moteur pas à pas&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Accueil_arduino.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Pour la suite, il faut installer plusieurs drivers pour pouvoir utiliser l'ESP32 avec le logiciel Arduino. Un wiki existe déjà à ce sujet, il suffit donc de ce rendre [https://www.wikidebrouillard.org/wiki/Utiliser_l%27ESP32_avec_le_logiciel_Arduino ici] et de suivre les étapes.&lt;br /&gt;
Il faut ensuite configurer le réseau Wifi sur un ESP32. En se rendant sur [https://www.wikidebrouillard.org/wiki/Configurez_le_r%C3%A9seau_Wifi_sur_un_ESP ce wiki] vous avez toutes les étapes de configuration. Si tout s'est bien passé, le logiciel est désormais prêt à l'emploi.&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
Découper le carton en plusieurs rectangles dont les dimensions (en mm) ainsi que la quantité sont données ci-dessous:&lt;br /&gt;
* 240x140 (x1)&lt;br /&gt;
* 70x70 (x2)&lt;br /&gt;
* 70x140 (x2)&lt;br /&gt;
Une vague est à découper aussi. Voici le modèle que l'on a réalisé.&lt;br /&gt;
===étape 2===&lt;br /&gt;
===étape ...===&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Accueil_arduino.png&amp;diff=36383</id>
		<title>Fichier:Accueil arduino.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Accueil_arduino.png&amp;diff=36383"/>
				<updated>2026-01-20T09:59:40Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36382</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36382"/>
				<updated>2026-01-20T09:59:12Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage_v2.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
* Du carton&lt;br /&gt;
* Un moteur pas à pas&lt;br /&gt;
* Une carte ESP32 ainsi que son câble&lt;br /&gt;
* De la ficelle&lt;br /&gt;
* Un ordinateur avec le logiciel '''Arduino IDE''' installé&lt;br /&gt;
&lt;br /&gt;
===Installation et configuration du logiciel Arduino IDE===&lt;br /&gt;
Tout d'abord, télécharger le logiciel via [https://docs.arduino.cc/software/ide/ ce lien] sur votre ordinateur et suivre les procédures d'installation de l'application.&lt;br /&gt;
Lancer ensuite le logiciel, vous devez arriver ici&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
===étape 2===&lt;br /&gt;
===étape ...===&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Sch%C3%A9ma_marnage_v2.jpg&amp;diff=36350</id>
		<title>Fichier:Schéma marnage v2.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Sch%C3%A9ma_marnage_v2.jpg&amp;diff=36350"/>
				<updated>2026-01-20T09:42:19Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : rognage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;rognage&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Sch%C3%A9ma_marnage.jpg&amp;diff=36347</id>
		<title>Fichier:Schéma marnage.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Sch%C3%A9ma_marnage.jpg&amp;diff=36347"/>
				<updated>2026-01-20T09:40:12Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : Mattéo a téléversé une nouvelle version de Fichier:Schéma marnage.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Sch%C3%A9ma_marnage.jpg&amp;diff=36346</id>
		<title>Fichier:Schéma marnage.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Sch%C3%A9ma_marnage.jpg&amp;diff=36346"/>
				<updated>2026-01-20T09:38:33Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : Mattéo a téléversé une nouvelle version de Fichier:Schéma marnage.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36345</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36345"/>
				<updated>2026-01-20T09:37:30Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Schéma_marnage.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
===étape 2===&lt;br /&gt;
===étape ...===&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Sch%C3%A9ma_marnage.jpg&amp;diff=36342</id>
		<title>Fichier:Schéma marnage.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Sch%C3%A9ma_marnage.jpg&amp;diff=36342"/>
				<updated>2026-01-20T09:35:38Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36341</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36341"/>
				<updated>2026-01-20T09:34:58Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il permet connaître le '''marnage''', c'est-à-dire la différence entre la marée haute et la marée basse et cela en temps réel depuis chez soit.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
===étape 2===&lt;br /&gt;
===étape ...===&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36333</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36333"/>
				<updated>2026-01-20T09:29:06Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
C'est pourquoi le dispositif '''SmartVague''' est conçu. Il&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
===étape 2===&lt;br /&gt;
===étape ...===&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36324</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36324"/>
				<updated>2026-01-20T09:22:28Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Quest-ce qui provoque les marées.mp4]]&lt;br /&gt;
&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
===étape 2===&lt;br /&gt;
===étape ...===&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Quest-ce_qui_provoque_les_mar%C3%A9es.mp4&amp;diff=36316</id>
		<title>Fichier:Quest-ce qui provoque les marées.mp4</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Quest-ce_qui_provoque_les_mar%C3%A9es.mp4&amp;diff=36316"/>
				<updated>2026-01-20T09:17:54Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36313</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36313"/>
				<updated>2026-01-20T09:16:45Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''Une marée''' est un mouvement périodique et journalier du niveau de la mer, de plus ou moins grande amplitude selon le '''coefficient de marée''', dû à l'attraction de la Lune ainsi qu'à celle du système solaire.&lt;br /&gt;
&lt;br /&gt;
Voici une vidéo d'introduction expliquant ce qui provoque les marées:&lt;br /&gt;
Pour un pêcheur, il est important de connaître la marée avant d'aller en mer pour plusieurs raisons:&lt;br /&gt;
* '''La sécurité de navigation''' : la marée influence la profondeur de l'eau. À marée basse, certains passages peuvent devenir dangereux ou impraticables à cause des bancs de sable, des rochers ou des récifs qui peuvent causer un risque d'échouement du bateau.&lt;br /&gt;
* '''Les courants marins''' : Les marées créent des courants parfois très forts, surtout dans des passes. Ces courants peuvent compliquer la manœuvre du bateau, augmenter la consommation de carburant ou rendre le retour difficile.&lt;br /&gt;
*'''L'efficacité de la pêche''' : Le comportement des poissons dépend souvent de la marée. Certaines espèces se nourrissent davantage à marée montante ou descendante. Connaître la marée améliore donc les chances de prises.&lt;br /&gt;
&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
===étape 2===&lt;br /&gt;
===étape ...===&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36264</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36264"/>
				<updated>2026-01-20T08:52:05Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : /* description (résumé) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous sommes une équipe de quatre étudiants de l'ENIB et nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit. Nous avons décidé d'appeler ce dispositif le '''SmartVague'''.&lt;br /&gt;
&lt;br /&gt;
Ce wiki vous permettra de reproduire ce projet chez vous en autonomie avec les différentes étapes de montage, le code à implémenter dans la carte, le matériel et les logiciels à utiliser ainsi que les éventuelles difficultés rencontrées au cours du prototypage.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
===étape 2===&lt;br /&gt;
===étape ...===&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36221</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36221"/>
				<updated>2026-01-19T15:14:13Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : /* Elément de présentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
===étape 2===&lt;br /&gt;
===étape ...===&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
[[Fichier:SmartVague_présentation.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:SmartVague_pr%C3%A9sentation.png&amp;diff=36219</id>
		<title>Fichier:SmartVague présentation.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:SmartVague_pr%C3%A9sentation.png&amp;diff=36219"/>
				<updated>2026-01-19T15:13:30Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36213</id>
		<title>ENIB 2026 : SmartVague</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2026_:_SmartVague&amp;diff=36213"/>
				<updated>2026-01-19T15:12:05Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Blue_wave.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Nous allons réaliser un appareil permettant de connaître l'état de la marée de la rade de Brest ou d'un autre port tout en étant chez soit.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
===étape 2===&lt;br /&gt;
===étape ...===&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
* Rédаctiоn et illustratiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé. &lt;br /&gt;
&lt;br /&gt;
* Prоgrammаtiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.&lt;br /&gt;
&lt;br /&gt;
* Transpаrence et dосumеntatiоn : &amp;lt;br&amp;gt;&lt;br /&gt;
Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.&lt;br /&gt;
&lt;br /&gt;
* Traçabilité : &amp;lt;br&amp;gt;&lt;br /&gt;
Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
[[Fichier:SmartVague_présentation.pdf]]&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2026]]&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:SmartVague_pr%C3%A9sentation.pdf&amp;diff=36209</id>
		<title>Fichier:SmartVague présentation.pdf</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:SmartVague_pr%C3%A9sentation.pdf&amp;diff=36209"/>
				<updated>2026-01-19T15:10:16Z</updated>
		
		<summary type="html">&lt;p&gt;Mattéo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mattéo</name></author>	</entry>

	</feed>