Détecteur de Composants avec Résistances Ludiques 🎛️

Créer un outil compact et ludique capable de mesurer et d'identifier des composants électroniques simples, tout en intégrant un mini-jeu éducatif pour apprendre la valeur des résistances.

Matériel requis :

Fonctionnalités principales :

Schéma de montage :


               +------------------+
               |    ESP32/Nano    |
               |  (Microcontrôleur)|
               +------------------+
                  |       |      |
            +-----+       |      +-------+
            |             |              |
        GND o           GPIO21         GPIO22
          |              (SDA)          (SCL)
          |                |              |
    +-----+                +--------------+
    | OLED Display (I2C)                |
    +-----------------------------------+
    
         GPIO12      +---(Résistance à mesurer)---+
          |          |                             |
          |         ADC                        GND |
          +---------------------------------------+
        

Étape 1 : Préparation et connexion des composants

  1. Microcontrôleur : Connectez l'ESP32 ou l'Arduino Nano à une breadboard. Reliez les broches SDA (GPIO21) et SCL (GPIO22) à l'écran OLED.
  2. Circuit de mesure : Branchez une résistance entre une broche analogique (GPIO12 pour ESP32 ou A0 pour Arduino) et GND. Ajoutez un potentiomètre si nécessaire.
  3. Alimentation : Connectez un module TP4056 à la batterie 18650 pour gérer la recharge.

Étape 2 : Programmation

Voici un script de base pour mesurer les résistances et afficher les données sur un écran OLED :


#include 
#include 
#include 

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

#define ANALOG_PIN A0 // Broche ADC pour la résistance
#define BUTTON_PIN 2  // Bouton poussoir pour jeu

void setup() {
  pinMode(ANALOG_PIN, INPUT);
  pinMode(BUTTON_PIN, INPUT_PULLUP);

  if (!display.begin(SSD1306_I2C_ADDRESS, 0x3C)) {
    while (true); // Bloquer si l'écran OLED échoue
  }

  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0, 0);
  display.println("Detecteur de composants");
  display.display();
  delay(2000);
}

void loop() {
  int analogValue = analogRead(ANALOG_PIN);
  float resistance = analogValue * 10.0; // Conversion simplifiée

  display.clearDisplay();
  display.setCursor(0, 0);
  display.print("Resistance: ");
  display.print(resistance);
  display.println(" Ohms");

  // Mini-jeu : bouton appuyé
  if (digitalRead(BUTTON_PIN) == LOW) {
    display.setCursor(0, 20);
    display.println("Jeu : Devinez !");
    delay(2000);
  }

  display.display();
  delay(500);
}
        

Étape 3 : Fabrication du boîtier

Étape 4 : Test et ajustements

Étape 5 : Mini-jeu éducatif

Ajoutez un jeu simple :

  1. Générez une valeur aléatoire de résistance.
  2. Demandez à l'utilisateur de placer une résistance proche de cette valeur.
  3. Affichez un message "Bravo !" ou "Réessayez !" en fonction de la précision.

Conclusion

Ce projet est à la fois éducatif et ludique, parfait pour apprendre les bases de l'électronique tout en explorant des concepts interactifs.