Skip to main content

BLOWBOX

Documentation du Projet : Boîte Éthylotest Connectée


1. Introduction

Lors de nos soirées entre amis, nous avons souvent constaté l'importance cruciale de la sécurité routière, surtout lorsque l'alcool est de la partie. Pour prévenir les risques liés à la conduite en état d'ivresse, nous avons décidé de concevoir ensemble une boîte éthylotest connectée. Cette boîte conserve les clés de voiture des invités et ne s'ouvre que si le taux d'alcoolémie du conducteur est inférieur au seuil légal, garantissant ainsi la sécurité de tous.


2. Conception et optimisation de la boîte


2.1. Première version de la boîte

Au début de notre projet, nous avons conçu une première version de la boîte en plexiglas. Cependant, dès les premiers essais, nous avons constaté que ce système était trop fragile. Les chevilles avaient tendance à se casser facilement et l'emboîtement de la boîte insuffisamment solide. Cette version ne répondait donc pas à nos critères en termes de stabilité et de durabilité, ce qui nous a poussé à chercher des améliorations.

Image 1 : Première version de la boîte avec système de chevilles initial

image.png




2.2. Réalisation d'un burn test

Pour améliorer l'ajustement et la solidité des emboîtements de la boîte, nous avons décidé de réaliser un burn test. Ce test a pour objectif d'évaluer les paramètres optimaux de brûlage lors de la découpe laser, afin de compenser la largeur du faisceau et d'obtenir des joints plus précis et robustes.

  • Processus du burn test :
    • Nous avons testé différentes valeurs de burn, de 0,10 mm à 0,17 mm, en réalisant des découpes sur des échantillons en plexiglas de 3 mm d'épaisseur.
  • Résultats :
    • Les tests ont montré que les valeurs de 0,12 mm et 0,13 mm donnaient des résultats acceptables en termes d'ajustement.
  • Décision :
    • Après comparaison, nous avons retenu la valeur de 0,13 mm pour les découpes suivantes, car elle offrait le meilleur compromis entre ajustement précis et facilité d'assemblage.

Image 2 : Fichier des différentes valeurs de burn

image.png

image.png



2.3. Modèle avec un meilleur système de chevilles

Fort de nos résultats du burn test, nous avons réalisé un nouveau modèle de boîte avec des chevilles plus solides. Pour augmenter leur robustesse, plusieurs modifications ont été apportées :

  • Chevilles renforcées :
    • Le style de boîte choisi a des chevilles plus résistantes. Nous avons tout de même du les découper séparément avec un burn plus faible de 0,1 mm, car lors du montage il y avait trop de résistance et elles avaient tendence à casser.
  • Ajout d’une barre en métal :
    • Pour garantir une meilleure stabilité de la structure, nous avons ajouté une barre en métal qui renforce l'emboîtement des chevilles et assure une fixation plus solide entre les différentes parties de la boîte.
  • Utilisation d’une boîte transparente :
    • Nous avons opté pour une boîte transparente lors de cette étape. Cela nous a permis de relever précisément les cotes nécessaires pour conceptualiser la version finale et d'ajuster les dimensions internes en fonction des composants électroniques et des clés.

Image 3 : Paramètre du nouveau design de boîte

image.png

image.png

image.png



2.4. Prototype avec double fond

Avec une meilleure stabilité obtenue grâce aux chevilles renforcées, nous avons développé une deuxième version de la boîte, intégrant uniquement l'intérieur. Cette version avait pour objectif de tester un système de double fond, cela permet de séparer les clefs de l'utilisateur de la partie électronique de la boîte. Ici aussi la boîte transparente a permit de relever les cotes des différents câbles et composants pour organiser au mieux l'espace intérieur de la boîte. Le système de double fond est principalement basé sur une plaque équivalente à un fond qui rentre dans des encoches placées au milieu des différents cotés de la boîte.

  • Résultat :
    • Nous avons rencontré des difficultés pour concilier dans une même boîte les clés, qui doivent rester facilement accessibles, et l’électronique, qui nécessite un espace spécifique plus grand en dessous. La taille limitée de la boîte rendait l'organisation interne complexe et peu pratique.

Image 4 : Prototype avec double fond en test

image.png

image.png

image.png



2.5. Troisième version : Boîte modulaire

Pour surmonter les limitations rencontrées avec le double fond, nous avons adopté une approche modulaire en concevant une troisième version de la boîte. Cette nouvelle conception se décompose en deux compartiments superposés, chacun dédié à une fonction spécifique.

  • Deux compartiments superposés :
    • Boîte supérieure :
      • Contient uniquement les clés des invités et le système d'ouverture/fermeture.
      • Équipée d’un couvercle permettant le système de verrouillage mécanique.
    • Boîte inférieure :
      • Plus grande, elle accueille toute l’électronique, incluant l'Arduino, l'écran OLED et le capteur d'alcoolémie.
      • Dispose de quelques trous pour faire passer les branchements nécessaires, assurant ainsi une organisation interne optimale.
  • Fixation des compartiments :
    • Les deux boîtes, fabriquées en plexiglas de 3 mm d'épaisseur, s’emboîtent sur une plaque de 6 mm. Cette plaque assure une fixation solide et stable des deux parties de la boîte.
  • Conclusion de la boîte modulaire :
    • Nous avons abouti à une boîte en deux parties distinctes :
      • Partie inférieure : Dédicacée à l’électronique, équipée d’un écran pour faciliter l’utilisation et la lecture des données.
      • Partie supérieure : Conçue pour contenir les clés ainsi que le système d’ouverture et de fermeture mécanique.

Image 5 : Conception modulaire de la boîte avec compartiments superposés boîte du bas

image.png

Image 6 : Conception modulaire de la boîte avec compartiments superposés boîte du haut

image.png

image.png

Défis Rencontrés :

    • Système de boîte inédit :
      • Il a fallu développer un système qui n’existait pas auparavant, impliquant la modélisation de pièces aux dimensions spécifiques pour garantir un bon ajustement:
    • Problème des chevilles :
      • Les chevilles avaient tendance à se casser facilement, nous obligeant à en découper davantage pour obtenir les dix chevilles fonctionnelles nécessaires.
      • Cela a mis en évidence l'importance d'utiliser un burn adapté lors de la découpe de petites pièces fragiles.
    • Système de plaque de 6 mm :
      • Bien que ce système garantisse une bonne fixation des deux parties de la boîte, des ajustements ont été nécessaires en raison de petits décalages, notamment au niveau des cotes, lors de l'installation du couvercle de la boîte inférieure.
      • Ces ajustements étaient essentiels pour assurer le bon fonctionnement du mécanisme de verrouillage et l’esthétique générale de la boîte.



Cette approche modulaire nous a permis de concilier les besoins d'espace pour l'électronique et d'accessibilité pour les clés. En séparant clairement les fonctions entre les deux compartiments, nous avons pu optimiser l'organisation interne tout en maintenant une structure robuste. Cette expérience nous a également appris l'importance des itérations et des tests pour résoudre les problèmes de conception et améliorer la fonctionnalité de notre boîte éthylotest connectée.


3. Système de Verrouillage

3.1. Mécanisme de Fermeture Initial

Au début, nous avions envisagé d'utiliser le système de cheville pour le verrouillage, mais il s'est avéré peu pratique et peu fiable pour notre utilisation.

3.2. Solution de Verrouillage Automatique
3.2.1. Système de Crochet Mécanique

Nous avons conçu un système de verrouillage mécanique simple et ingénieux.

  • Description du Système :

    • Une boucle en fil de fer est fixée au couvercle de la boîte supérieure.
    • Un crochet en forme de V est attaché à l'intérieur de la boîte inférieure.
  • Fonctionnement :

    • Lors de la fermeture du couvercle, la boucle glisse le long du flanc du crochet en V et se verrouille mécaniquement sans intervention supplémentaire.
    • Pour déverrouiller, le servomoteur est activé (après une mesure d'alcoolémie satisfaisante) et pivote pour libérer la boucle, permettant ainsi l'ouverture du couvercle.
    • Ce système permet un verrouillage automatique lorsque le couvercle est fermé et un déverrouillage contrôlé, tout en étant simple à réaliser.
      PXL_20241203_120838054.jpgpxl-20241203-120809346.jpgpxl-20241203-120825059.jpg

       

       



4. Intégration Électronique

4.1. Composants Utilisés

Pour la partie électronique, nous avons utilisé :

  • Microcontrôleur : Arduino Uno
  • Capteur d'Alcoolémie : MQ-3
  • Actionneur : Servomoteur FS90MG pour le mécanisme de verrouillage
  • Bouton Poussoir : Pour initier la mesure
  • Affichage : Écran OLED 128x64 pixels pour afficher les messages à l'utilisateur

(Nous avons inséré une photo des composants électroniques)

4.2. Schéma de Connexion

Les connexions entre les différents composants et l'Arduino sont les suivantes :

  • Capteur MQ-3 : Connecté à l'entrée analogique A0
  • Servomoteur : Connecté à la broche numérique 9 (PWM)
  • Bouton Poussoir : Connecté à la broche numérique 2, avec une résistance de pull-up interne
  • Écran OLED : Connecté via le bus I2C (SDA et SCL)

WhatsApp Image 2024-12-03 at 12.56.17.jpeg

4.3. Programmation et Logiciel
4.3.1. Description du Code

Le code Arduino gère les fonctionnalités suivantes :

  • Attente de l'appui sur le bouton pour initier la mesure.
  • Calibration du capteur en mesurant l'air ambiant.
  • Demande à l'utilisateur de souffler dans le capteur.
  • Mesure après soufflage et calcul du ratio avec la valeur de calibration.
  • Décision d'ouvrir ou non la boîte en fonction du ratio obtenu.
  • Affichage des messages sur l'écran OLED.
  • Contrôle du servomoteur pour le mécanisme de verrouillage.
4.3.2. Algorithme de Fonctionnement
  1. Initialisation :

    Nous avons commencé par configurer les broches de l'Arduino et initialiser les différentes bibliothèques pour le servomoteur et l'écran OLED. Le chauffage du capteur MQ-3 est également activé pour assurer des mesures précises.

  2. Attente de l'Appui sur le Bouton :

    Le système reste en veille jusqu'à ce que l'utilisateur appuie sur le bouton poussoir, ce qui initie la procédure de mesure.

  3. Calibration :

    Une fois le bouton pressé, le capteur mesure l'air ambiant pendant 10 secondes, en effectuant une moyenne des valeurs lues. Cette étape permet d'établir une référence pour la mesure d'alcoolémie.

  4. Demande à l'Utilisateur de Souffler :

    L'écran OLED affiche un message invitant l'utilisateur à souffler dans le capteur.

  5. Mesure Après Soufflage :

    Le capteur effectue une nouvelle série de mesures pendant 10 secondes pendant que l'utilisateur souffle. Une moyenne est calculée à partir de ces nouvelles valeurs.

  6. Analyse des Données :

    Nous calculons le ratio entre la moyenne des mesures après soufflage et la moyenne de calibration. Ce ratio nous permet de déterminer si le taux d'alcool est acceptable.

  7. Décision et Action :

    • Si le ratio est supérieur ou égal au seuil prédéfini (par exemple, 0,7), le taux d'alcool est acceptable, et le servomoteur est activé pour déverrouiller la boîte.
    • Sinon, le taux d'alcool est trop élevé, la boîte reste verrouillée, et un message d'alerte est affiché.
  8. Retour à l'État Initial :

    Après l'action, le système revient en veille, prêt pour une nouvelle utilisation.

4.3.3. Code Source avec Explications

Voici le code complet avec des explications pour les lignes importantes :

// Inclusion des bibliothèques nécessaires
#include <Servo.h>           // Pour contrôler le servomoteur
#include <Arduino.h>
#include <U8g2lib.h>         // Pour l'écran OLED

// Définition des broches utilisées
#define heaterSelPin 15      // Contrôle du chauffage du capteur MQ-3
#define buttonPin 2          // Bouton pour initier la mesure

// Initialisation de l'écran OLED en I2C
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);

// Création de l'objet servomoteur
Servo monServo;

void setup() {
  Serial.begin(9600);                // Initialisation de la communication série
  pinMode(heaterSelPin, OUTPUT);     // Broche pour le chauffage du capteur
  pinMode(buttonPin, INPUT_PULLUP);  // Bouton avec résistance de pull-up interne
  monServo.attach(9);                // Le servomoteur est connecté à la broche 9
  u8g2.begin();                      // Initialisation de l'écran OLED
  digitalWrite(heaterSelPin, LOW);   // Activation du chauffage du capteur MQ-3
}

void loop() {
  monServo.write(0); // Position initiale du servomoteur (verrouillé à 0 degrés)

  // Attente de l'appui sur le bouton
  if (digitalRead(buttonPin) == LOW) {
    delay(50); // Anti-rebond
    if (digitalRead(buttonPin) == LOW) {
      Serial.println("Démarrage de la mesure...");
      // Affichage de la calibration sur l'écran OLED
      u8g2.clearBuffer();
      u8g2.setFont(u8g2_font_luBIS08_tf);
      u8g2.drawStr(0, 40, "Calibration...");
      u8g2.sendBuffer();
      delay(100);

      // Phase de calibration
      float airSum = 0;
      for (int i = 0; i < 10; i++) {
        airSum += analogRead(A0); // Lecture du capteur
        delay(1000);
      }
      float airMean = airSum / 10.0;
      Serial.print("Moyenne air ambiant : ");
      Serial.println(airMean);

      // Demande à l'utilisateur de souffler
      Serial.println("Soufflez maintenant...");
      u8g2.clearBuffer();
      u8g2.drawStr(0, 40, "Soufflez maintenant...");
      u8g2.sendBuffer();
      delay(1000);

      // Mesure après soufflage
      float gasSum = 0;
      for (int i = 0; i < 10; i++) {
        gasSum += analogRead(A0);
        delay(1000);
      }
      float gasMean = gasSum / 10.0;
      Serial.print("Moyenne après soufflage : ");
      Serial.println(gasMean);

      // Calcul du ratio
      float ratio = gasMean / airMean;
      Serial.print("Ratio : ");
      Serial.println(ratio);

      // Comparaison avec le seuil
      float seuil = 0.7; // Seuil défini
      if (ratio >= seuil) {
        Serial.println("Taux d'alcool acceptable. Ouverture de la boîte.");
        // Affichage sur l'écran OLED
        u8g2.clearBuffer();
        u8g2.drawStr(0, 40, "Bien ! Ouverture.");
        u8g2.sendBuffer();
        // Activation du servomoteur
        monServo.write(90); // Le servomoteur passe à 90 degrés pour déverrouiller
        delay(5000);        // Temps pour ouvrir la boîte
        monServo.write(0);  // Le servomoteur revient à 0 degrés pour verrouiller
      } else {
        Serial.println("Taux d'alcool trop élevé. La boîte reste fermée.");
        // Affichage sur l'écran OLED
        u8g2.clearBuffer();
        u8g2.drawStr(0, 40, "Alcool détecté !");
        u8g2.sendBuffer();
      }
    }
  }
  delay(200); // Anti-rebond
}

5. Fabrication et Assemblage

5.1. Découpe Laser

Nous avons utilisé la découpe laser pour réaliser les pièces de la boîte.

  • Matériaux :

    • Plexiglas de 3 mm pour les parois de la boîte.
    • Plaque de 6 mm pour la base assurant la stabilité.
  • Logiciel :

    • Nous avons généré les plans via le site IntegratedHingeBox. Modifié ensuite sur inkscape
  • Paramètres de Découpe :

    • Nous avons utilisé une valeur de burn de 0,13 mm pour compenser la largeur du faisceau laser.

PXL_20241203_120925837.jpg WhatsApp Image 2024-12-03 à 14.05.31_9627d70b.jpg

PXL_20241203_121010857.jpg PXL_20241203_121145693.jpg

5.2. Impression 3D

Pour le capteur d'alcoolémie, nous avons conçu un cône adapté, permettant l'utilisation de pailles jetables ou lavables pour des raisons d'hygiène.

  • Conception :

  • Modifications :

    • Nous avons ajouté un tuyau sur le dessus du cône pour accueillir les pailles.

5.3. Assemblage Mécanique
  • Montage de la Boîte :

    • Les pièces découpées ont été assemblées en utilisant les chevilles renforcées.
    • La boîte supérieure et la boîte inférieure ont été fixées ensemble sur la plaque de 6 mm.
  • Installation du Système de Verrouillage :

    • Le crochet est fixé au servomoteur dans la boîte inférieure.
    • La boucle en fil de fer est attachée au couvercle de la boîte supérieure.
  • Intégration de l'Électronique :

    • Nous avons installé l'Arduino, le capteur MQ-3, le servomoteur et l'écran OLED dans la boîte inférieure.
    • Les câbles ont été connectés selon le schéma de connexion.


6. Tests et Validation

6.1. Tests de Fonctionnement Mécanique

Nous avons vérifié la solidité de la boîte et le bon fonctionnement du mécanisme de verrouillage.

  • Résultats :

    • La boîte est stable et solide.
    • Le système de crochet fonctionne efficacement, permettant un verrouillage automatique à la fermeture et un déverrouillage contrôlé.
6.2. Tests Électroniques

Nous avons testé les différentes fonctionnalités électroniques :

  • Le bouton poussoir initie correctement la mesure.
  • Les messages s'affichent clairement sur l'écran OLED.
  • Le servomoteur actionne le crochet pour déverrouiller la boîte.
  • Le capteur MQ-3 mesure l'alcoolémie de manière fiable.
6.3. Scénarios de Test

Pour tester le système, nous avons effectué plusieurs essais :

  • Test avec Taux d'Alcool Bas :

    • Nous avons soufflé dans le capteur sans avoir consommé d'alcool.
    • La boîte s'est ouverte, indiquant que le taux d'alcool était acceptable.
  • Test avec Taux d'Alcool Élevé :

    • Nous avons utilisé un mouchoir imbibé d'éthanol et avons soufflé à travers vers le capteur.
    • La boîte est restée verrouillée, et un message d'alerte s'est affiché.

6.4. Méthode de Test

Pour simuler une alcoolémie élevée, nous avons utilisé de l'éthanol sur un mouchoir, ce qui a permis de tester efficacement la détection du capteur MQ-3.


7. Améliorations Potentielles

7.1. Optimisation de la Détection de Soufflage

Nous avons réfléchi à des moyens de nous assurer que l'utilisateur souffle réellement dans le capteur. Une idée était d'intégrer un capteur de flux d'air ou d'utiliser un moteur comme alternateur pour détecter le souffle. Cependant, pour cette version, nous avons opté pour la simplicité et avons uniquement utilisé un bouton pour initier la mesure.

7.2. Interface Utilisateur

Nous envisageons d'améliorer l'interface utilisateur en agrandissant l'écran OLED pour une meilleure visibilité et en ajoutant des indicateurs lumineux ou sonores pour guider l'utilisateur tout au long du processus.

7.3. Sécurité et Robustesse

Pour renforcer la sécurité et la robustesse du système, nous pourrions utiliser des matériaux plus solides pour le crochet et la boucle, et ajouter des redondances au niveau du mécanisme de verrouillage pour éviter les défaillances.


8. Conclusion

Ce projet nous a permis de concevoir une boîte éthylotest connectée qui contribue à la sécurité routière en empêchant les personnes en état d'ivresse de reprendre le volant. Nous avons appris à intégrer des composants électroniques et à développer un mécanisme de verrouillage mécanique efficace. Les tests effectués ont confirmé le bon fonctionnement de notre système.


9. Annexes

9.1. Schémas et Plans

(Nous avons inséré tous les schémas techniques, plans de découpe et modèles 3D utilisés)

9.2. Code Source

Le code complet est disponible dans la section 4.3.3.

9.3. Liste des Composants
  • Arduino Uno
  • Capteur MQ-3
  • Servomoteur FS90MG
  • Écran OLED 128x64 pixels
  • Bouton Poussoir
  • Fils de Connexion
  • Matériau de la Boîte : Plexiglas 3 mm et 6 mm
  • Fil de Fer : Pour le crochet et la boucle
  • Divers : Résistances, soudures, etc.

10. Sources et Références


Remerciements

Nous tenons à remercier toutes les personnes et les ressources en ligne qui nous ont aidés tout au long de ce projet. Leur soutien et leurs conseils ont été précieux pour mener à bien cette réalisation.