ENIB 2022 - Groupe D : Bateau pirate "Larguez vos amarres" : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Code)
m (Plan des pièces à réaliser au laser)
 
(8 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 59 : Ligne 59 :
 
||Axe
 
||Axe
 
|rowspan="1" colspan="1" align="center" valign="center" |D=8mm
 
|rowspan="1" colspan="1" align="center" valign="center" |D=8mm
 +
|rowspan="1" colspan="1" align="center" valign="center" |1
 +
|-
 +
||Ficelle
 +
|rowspan="1" colspan="1" align="center" valign="center" |L=50cm
 
|rowspan="1" colspan="1" align="center" valign="center" |1
 
|rowspan="1" colspan="1" align="center" valign="center" |1
 
|}
 
|}
Ligne 66 : Ligne 70 :
 
{|cellspacing="0" cellpadding="2" style="border:1px solid #19C533;background-color:#52E969; margin-bottom:5px;" width="450"
 
{|cellspacing="0" cellpadding="2" style="border:1px solid #19C533;background-color:#52E969; margin-bottom:5px;" width="450"
 
|'''Fichiers 3D'''
 
|'''Fichiers 3D'''
|style="text-align: left;"|[https://www.wiki.lesfabriquesduponant.net/images/b/b7/PlansLaserBateauPirate2022-1.svg Plan 1] [https://www.wiki.lesfabriquesduponant.net/images/3/3b/PlansLaserBateauPirate2022-3.svg Plan 3]<br/>[https://www.wiki.lesfabriquesduponant.net/images/8/88/PlansLaserBateauPirate2022-2.svg Plan 2] [https://www.wiki.lesfabriquesduponant.net/images/6/6e/PlansLaserBateauPirate2022-4.svg Plan 4]
+
|style="text-align: center;"|[https://www.wiki.lesfabriquesduponant.net/images/b/b7/PlansLaserBateauPirate2022-1.svg Plan 1] [https://www.wiki.lesfabriquesduponant.net/images/3/3b/PlansLaserBateauPirate2022-3.svg Plan 3]<br/>[https://www.wiki.lesfabriquesduponant.net/images/8/88/PlansLaserBateauPirate2022-2.svg Plan 2] [https://www.wiki.lesfabriquesduponant.net/images/6/6e/PlansLaserBateauPirate2022-4.svg Plan 4]<br />[[Fichier:SolidWorksBateauPirate.zip]]
 
|}
 
|}
  
 
==Schéma électrique==
 
==Schéma électrique==
[[Image:BateauPirateARDSH2022.png|1000px|center]]
+
[[Image:BateauPirateARDSH2022.png|800px|center]]
 +
 
 +
==Musiques==
 +
Lien : https://www.youtube.com/watch?v=gVzQWP4bKPA (CC-BY-SA)
  
 
==Code==
 
==Code==
 
{|align="center" class="wikitable"   
 
{|align="center" class="wikitable"   
! rowspan="1" | <small>Musique</small>
+
! rowspan="1" | Musique
!! width="33%" rowspan="1" |
+
!! width="50%" rowspan="1" | Moteur
!! width="33%" rowspan="1" |
 
 
|-
 
|-
||<pre>
+
||<syntaxhighlight lang="C++" line>
 
#include <DFPlayer_Mini_Mp3.h>
 
#include <DFPlayer_Mini_Mp3.h>
 
#include <SoftwareSerial.h>
 
#include <SoftwareSerial.h>
Ligne 98 : Ligne 104 :
 
     }
 
     }
 
}
 
}
</pre>
+
</syntaxhighlight>
|rowspan="1" colspan="1" align="left" valign="center" |<pre>
+
|rowspan="1" colspan="1" align="left" valign="center" |<syntaxhighlight lang="C++" line>
ici je pose mon code documenté !
+
// Pont en H L298N
</pre>
+
 
 +
 
 +
//Ports de commande du moteur B
 +
int motorPin1 = 8;
 +
int motorPin2 = 9;
 +
int enablePin = 5;
 +
 +
// Vitesse du moteur
 +
int state = 0;
 +
 
 +
void setup() {
 +
  Serial.begin(9600);
 +
  Serial.println(F("Initialize System"));
 +
  //Init btn
 +
 
 +
 
 +
 
 +
   
 +
    // Initialisation du port série
 +
    Serial.begin(9600);
 +
}
 +
 +
void loop() {
 +
 
 +
    if (Serial.available() > 0)
 +
    {
 +
      // Lecture de l'entier passé au port série
 +
      state = Serial.parseInt();
  
|rowspan="1" colspan="1" align="center" valign="center" |<pre>
+
      //
ici je pose mon code documenté !
+
      // Sens du mouvement
</pre>
+
      //
 +
      if (state > 0) // avant
 +
      {
 +
        digitalWrite(motorPin1, HIGH);
 +
        digitalWrite(motorPin2, LOW);
 +
        Serial.print("Avant ");
 +
        Serial.println(state);
 +
      }
 +
      else if (state < 0) // arrière
 +
      {
 +
        digitalWrite(motorPin1, LOW);
 +
        digitalWrite(motorPin2, HIGH);
 +
        Serial.print("Arriere ");
 +
        Serial.println(state);
 +
      }
 +
      else // Stop (freinage)
 +
      {
 +
        digitalWrite(motorPin1, HIGH);
 +
        digitalWrite(motorPin2, HIGH);
 +
        Serial.println("Stop");
 +
      }
 +
      //
 +
      // Vitesse du mouvement
 +
      //
 +
      analogWrite(enablePin, abs(state));
 +
    }
 +
    delay(100);
 +
}
 +
</syntaxhighlight>
 
|}
 
|}
  
==Catégories==
+
==Améliorations possibles==
 +
===Partie mécanique===
 +
*Remplacer le système traction par corde par un système de pignon-crémaillère.
 +
*Mettre des figurants dans le bateau pour donner plus de vie dans l'attraction.
 +
 
 +
===Partie électronique===
 +
*Refaire le cable-managment.
 +
*Inclure des LED pour rendre l'attraction plus belle.
 +
 
 +
===Partie codage===
 +
*Réussir à automatiser le moteur.
 +
*Réussir à coder les LED.
  
 
[[Catégorie:Enib2022]]
 
[[Catégorie:Enib2022]]

Version actuelle datée du 30 janvier 2022 à 23:10

Logo-enib.png

Que fait ce projet ?

Etudiants en 3eme année à l'ENIB, nous avons pu dans le cadre de notre intersemestre et en collaboration avec les petit débrouillards participer à un "Hackaton" avec pour sujet la Fête foraine, nous avons donc fait le choix de créer un bateau pirate miniature comme on peut en voir dans de nombreuse fête foraine.

Les membres du projet

  • Paul TESSON
  • Julien SORIANO
  • Florian ARNOUX
  • Francisco RODRIGUES

Liste des composants

Produit Caractéristiques Quantité
Arduino Mega 2560 1
Câbles Équipés de duponts (mâles et femelles) Environ 20
Breadboard - 1
Pont en H L298N 1
Roulements à billes d=8mm ; D=22mm 2
Médium Plaques l=300mm ; L=600mm 4
Haut parleur Simple 1
Lecteur de microSD 1528-1462-ND de chez Adafruit Industries LLC 1
Bande LED - 1
Axe D=8mm 1
Ficelle L=50cm 1

Plan des pièces à réaliser au laser

Ces plans ont été élaborés pour des plaques de médium de 300×600mm

Fichiers 3D Plan 1 Plan 3
Plan 2 Plan 4
Fichier:SolidWorksBateauPirate.zip

Schéma électrique

BateauPirateARDSH2022.png

Musiques

Lien : https://www.youtube.com/watch?v=gVzQWP4bKPA (CC-BY-SA)

Code

Musique Moteur
 1 #include <DFPlayer_Mini_Mp3.h>
 2 #include <SoftwareSerial.h>
 3 
 4 int i=0;
 5 
 6 void setup() {
 7   Serial.begin (9600);
 8   mp3_set_serial (Serial);
 9   mp3_set_volume (25);
10 }
11 
12 void loop () {
13   while (i<3){
14       i++;
15       mp3_play(i);
16       delay(119000);
17       i=i%2;
18     }
19 }
 1 // Pont en H L298N
 2 
 3 
 4 //Ports de commande du moteur B
 5 int motorPin1 = 8;
 6 int motorPin2 = 9;
 7 int enablePin = 5;
 8  
 9 // Vitesse du moteur
10 int state = 0;
11 
12 void setup() {
13   Serial.begin(9600); 
14   Serial.println(F("Initialize System")); 
15   //Init btn 
16 
17   
18 
19     
20     // Initialisation du port série
21     Serial.begin(9600);
22 }
23  
24 void loop() {
25 
26     if (Serial.available() > 0)
27     {
28       // Lecture de l'entier passé au port série
29       state = Serial.parseInt();
30 
31       //
32       // Sens du mouvement
33       //
34       if (state > 0) // avant
35       {
36         digitalWrite(motorPin1, HIGH); 
37         digitalWrite(motorPin2, LOW);
38         Serial.print("Avant ");
39         Serial.println(state);
40       }
41       else if (state < 0) // arrière
42       {
43         digitalWrite(motorPin1, LOW); 
44         digitalWrite(motorPin2, HIGH);
45         Serial.print("Arriere ");
46         Serial.println(state);
47       }
48       else // Stop (freinage)
49       {
50         digitalWrite(motorPin1, HIGH); 
51         digitalWrite(motorPin2, HIGH);
52         Serial.println("Stop");
53       }
54       //
55       // Vitesse du mouvement
56       //
57       analogWrite(enablePin, abs(state));
58     }
59     delay(100);
60 }

Améliorations possibles

Partie mécanique

  • Remplacer le système traction par corde par un système de pignon-crémaillère.
  • Mettre des figurants dans le bateau pour donner plus de vie dans l'attraction.

Partie électronique

  • Refaire le cable-managment.
  • Inclure des LED pour rendre l'attraction plus belle.

Partie codage

  • Réussir à automatiser le moteur.
  • Réussir à coder les LED.