Compte Rendu de Projet : "BULLDOZER"

Date: 14 Mai 2024, Lycée Haroun Tazzief.

Rédigé par: Lelio F., Paul L., Ulysse C., Paul P.

Le cahier des charges

Introduction

Ce document présente le compte rendu du projet intitulé "Bulldozer". Le projet à été mené dans le but de faire avancer un bulldozer miniature fait par nous même à l'aide d'ordinateur et d'imprimantes 3D.

Notre but est de faire un bulldozer ressemblant à celui ci-dessous.

Objectifs

Les objectifs de ce projet sont les suivants :

Méthodologie

La méthodologie adoptée pour ce projet comprenait plusieurs étapes clés :

  1. Étape 1 : La création des pièces
  2. Étape 2 : Le câblage et son schéma
  3. Étape 3 : Le code en arduino

La créations des pièces :

Les résultats obtenus sont les suivants :

Modèle volumique Pièce imprimée Telecharger les pièces en fichier STL
Les chenilles
image illustrant le maillon en solidworks
Le chassis
Image illustrant le chassis sur solidworks
Les engrenages
Image illustrant l'engrenage sur solidworks
Axes pour avant et arrière
Image illustrant les axes avant et arrière sur solidworks

La cabine
Image illustrant la cabine sur solidworks
La pelle
Image illustrant la pelle sur solidworks>
Le couvercle de la cabine
Image illustrant le couvercle de la cabine sur solidworks

Ensuite nous avons decidé de peindre les pièces pour que le bulldozer ressemble à celui montré au debut de la présentation.

Le câblage et son schéma

Les résultats obtenus sont les suivants :

Nous avons commencé par câbler les moteurs et les piles à travers 4 relais sur la même carte en utilisant des ponts pour connecter les différents relais entre eux, ensuite nous avons soudé les fils aux moteurs et mis en place des gaines thermo-retractables pour ne pas faire de cour-circuit entre les fils s'ils se touchent à l'endroit de la soudure. Ensuite nous avons branché les 4 relais à une carte arduino, pour pouvoir télécommander ce bulldozer nous avons utilisé des capteurs infrarouges (les capteurs infrarouges utilisés) branchés à trois ports différents.

Le code arduino

Les résultats obtenus sont les suivants :

#include <IRremote.h>

// Définition des broches pour les moteurs
const int moteur1Pin1 = 10;
const int moteur1Pin2 = 11;
const int moteur2Pin1 = 6;
const int moteur2Pin2 = 5;

IRrecv irrecv(4);
decode_results results;

void setup() {
  Serial.begin(9600); // Démarrer la communication série
  irrecv.enableIRIn(); // Démarrer le récepteur IR
  pinMode(moteur1Pin1, OUTPUT);
  pinMode(moteur1Pin2, OUTPUT);
  pinMode(moteur2Pin1, OUTPUT);
  pinMode(moteur2Pin2, OUTPUT);
  Serial.println("Prêt à démarrer"); // Afficher un message sur le moniteur série
}

void loop() {
  if (irrecv.decode(&results)) {
    irrecv.resume();

    // Contrôle des moteurs en fonction des valeurs de la télécommande
    switch (results.value) {
      case 16718055: // Avancer
        Serial.println("Avancer");
        avancer();
        break;
      case 16730805: // Reculer
        Serial.println("Reculer");
        reculer();
        break;
      case 16734885: // Tourner à gauche
        Serial.println("Tourner à gauche");
        tournerGauche();
        break;
      case 16716015: // Tourner à droite
        Serial.println("Tourner à droite");
        tournerDroite();
        break;
      case 16726215: // Arrêter
        Serial.println("Arrêt");
        arreter();
        break;
      default:
        break;
    }
  }
}

// Fonction pour faire avancer le robot
void avancer() {
  digitalWrite(moteur1Pin1, HIGH);
  digitalWrite(moteur1Pin2, LOW);
  digitalWrite(moteur2Pin1, HIGH);
  digitalWrite(moteur2Pin2, LOW);
}

// Fonction pour faire reculer le robot
void reculer() {
  digitalWrite(moteur1Pin1, LOW);
  digitalWrite(moteur1Pin2, HIGH);
  digitalWrite(moteur2Pin1, LOW);
  digitalWrite(moteur2Pin2, HIGH);
}

// Fonction pour faire tourner le robot à gauche
void tournerGauche() {
  digitalWrite(moteur1Pin1, LOW);
  digitalWrite(moteur1Pin2, HIGH);
  digitalWrite(moteur2Pin1, HIGH);
  digitalWrite(moteur2Pin2, LOW);
}

// Fonction pour faire tourner le robot à droite
void tournerDroite() {
  digitalWrite(moteur1Pin1, HIGH);
  digitalWrite(moteur1Pin2, LOW);
  digitalWrite(moteur2Pin1, LOW);
  digitalWrite(moteur2Pin2, HIGH);
}

// Fonction pour arrêter le robot
void arreter() {
  digitalWrite(moteur1Pin1, LOW);
  digitalWrite(moteur1Pin2, LOW);
  digitalWrite(moteur2Pin1, LOW);
  digitalWrite(moteur2Pin2, LOW);
}
      

Les essais pour confirmer le fonctionnement des pièces

En permier nous avons essayer de faire tourner les engrenages pour faire avancer le bulldozer grâce aux chenilles en branchant les moteurs à des piles.

Ensuite nous avons assemblé les pieces pour savoir si elles s'assemblaient bien.

Conclusion

En conclusion, nous avons reussi à faire avancer un bulldozer miniature fait par nous même avec l'aide d'imprimantes 3d tel que La creality K1 et la idea maker. Et aussi grâce à l'aide de nos professeurs qui nous ont aidé durant le long du projet.

Et voici le résultat de notre travail :