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

De Les Fabriques du Ponant
Aller à : navigation, rechercher
m (Code)
m (Plan des pièces à réaliser au laser)
 
(13 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 2 : Ligne 2 :
 
== Que fait ce projet ? ==
 
== 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.  
+
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.
 +
<gallery>
 +
Image:BateauPirate2022.jpg|Rendu réaliste
 +
Image:BateauPirateCAO2022.jpg|Partie CAO
 +
Image:BateauPirateArduino2022.JPG|Cablage Arduino
 +
</gallery>
 +
 
 
== Les membres du projet ==
 
== Les membres du projet ==
 
*Paul TESSON
 
*Paul TESSON
Ligne 49 : Ligne 55 :
 
||Bande LED
 
||Bande LED
 
|rowspan="1" colspan="1" align="center" valign="center" |-
 
|rowspan="1" colspan="1" align="center" valign="center" |-
 +
|rowspan="1" colspan="1" align="center" valign="center" |1
 +
|-
 +
||Axe
 +
|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 56 : 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/6/6e/PlansLaserBateauPirate2022-1.svg Plan 1] [https://www.wiki.lesfabriquesduponant.net/images/6/6e/PlansLaserBateauPirate2022-3.svg Plan 3]<br/>[https://www.wiki.lesfabriquesduponant.net/images/6/6e/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==
 +
[[Image:BateauPirateARDSH2022.png|800px|center]]
 +
 +
==Musiques==
 +
Lien : https://www.youtube.com/watch?v=gVzQWP4bKPA (CC-BY-SA)
  
 
==Code==
 
==Code==
<pre>
+
{|align="center" class="wikitable" 
ici je pose mon code documenté !
+
! rowspan="1" | Musique
</pre>
+
!! width="50%" rowspan="1" | Moteur
 +
|-
 +
||<syntaxhighlight lang="C++" line>
 +
#include <DFPlayer_Mini_Mp3.h>
 +
#include <SoftwareSerial.h>
 +
 
 +
int i=0;
 +
 
 +
void setup() {
 +
  Serial.begin (9600);
 +
  mp3_set_serial (Serial);
 +
  mp3_set_volume (25);
 +
}
 +
 
 +
void loop () {
 +
  while (i<3){
 +
      i++;
 +
      mp3_play(i);
 +
      delay(119000);
 +
      i=i%2;
 +
    }
 +
}
 +
</syntaxhighlight>
 +
|rowspan="1" colspan="1" align="left" valign="center" |<syntaxhighlight lang="C++" line>
 +
// Pont en H L298N
 +
 
 +
 
 +
//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();
 +
 
 +
      //
 +
      // Sens du mouvement
 +
      //
 +
      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>
 +
|}
 +
 
 +
==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.
  
==Catégories==
+
===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.