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 :
- 1 × Microcontrôleur (ESP32 ou Arduino Nano)
- 1 × Écran OLED 128x64 (I2C)
- 1 × Amplificateur opérationnel (LM358 ou équivalent)
- Résistances (kit assorti, entre 100Ω et 1MΩ)
- 1 × Bouton poussoir
- 1 × Potentiomètre linéaire 10kΩ
- Fils de connexion
- Boîtier (imprimé 3D ou en plastique)
- Alimentation via batterie Li-ion rechargeable (18650) avec chargeur intégré (TP4056)
Fonctionnalités principales :
- Identification et mesure des résistances insérées.
- Affichage des valeurs et animation graphique sur écran OLED.
- Mini-jeu éducatif : deviner la valeur d'une résistance.
- Facilité d'utilisation : une interface simple avec bouton poussoir.
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
- Microcontrôleur : Connectez l'ESP32 ou l'Arduino Nano à une breadboard. Reliez les broches SDA (GPIO21) et SCL (GPIO22) à l'écran OLED.
- 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.
- 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
- Imprimez un boîtier 3D adapté au microcontrôleur, à l'écran OLED et à la batterie.
- Laissez des ouvertures pour accéder facilement au connecteur USB et au slot pour insérer des résistances.
Étape 4 : Test et ajustements
- Testez avec différentes résistances pour valider la précision.
- Ajustez les coefficients dans le code pour une meilleure correspondance des valeurs.
Étape 5 : Mini-jeu éducatif
Ajoutez un jeu simple :
- Générez une valeur aléatoire de résistance.
- Demandez à l'utilisateur de placer une résistance proche de cette valeur.
- 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.