ENIB 2022 - Groupe D : Bateau pirate "Larguez vos amarres"
Sommaire
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
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.