Assemblage et programmation de la poubelle à couvercle automatique
1. Utilisation du capteur à ultrasons HC-SR04
Objectif :
Gestion et programmation des capteurs/actionneurs de la poubelle à couvercle automatique dans son ensemble.
Assemblage :
Le modèle 3D de la poubelle à imprimer en 3D ce trouve en pièce jointe du wiki
Positionner les capteurs de la même façon que sur les photos ci-dessous.
Câblage :
Vous référez à la page précédente . Voici un résumé :
- Capteur à ultrasons :
- VCC → 5V de l’Arduino
- GND → GND de l’Arduino
- TRIG → D9 de l’Arduino
- ECHO → D10 de l’Arduino
- Servomoteur :
- VCC (fil rouge) → 5V de l’Arduino
- GND (fil noir) → GND de l’Arduino
- Signal (fil jaune) → D11 de l’Arduino
Programmation final :
Programmation par bloc avec Mblock :
Demander aux élèves de réaliser le code final tout en les aidants si besoin. Voici le code final :
Programmation avec arduino IDE :
En fonction du niveau demander aux élèves d'écrire ou de copier le code suivant tout en expliquant ce dernier.
#include <Servo.h> // Inclure la bibliothèque Servo
// Déclaration des pins
const int trigPin = 9;
const int echoPin = 10;
Servo myServo;
void setup() {
Serial.begin(9600); // Initialiser la communication série
pinMode(trigPin, OUTPUT); // Définir le trigPin comme sortie
pinMode(echoPin, INPUT); // Définir l'echoPin comme entrée
myServo.attach(6); // Attacher le servomoteur à la pin D6
myServo.write(0); // Position initiale à 0 degrés
}
void loop() {
// Envoyer un signal
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Lire la durée du signal de retour
long duration = pulseIn(echoPin, HIGH);
int distance = duration * 0.034 / 2; // Calculer la distance
// Afficher la distance dans le moniteur série
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// Si la distance est inférieure à 5 cm, déplacer le servomoteur
if (distance < 5) {
myServo.write(140); // Positionner le servomoteur à 180 degrés
delay(1000); // Attendre 1 seconde
myServo.write(0); // Retourner à 0 degrés
}
delay(500); // Attendre un peu avant la prochaine mesure
}
Conclusion et discussion
Synthèse des compétences acquises :
Compétences techniques et mécaniques :
-
Conception mécanique : savoir imaginer et concevoir le mécanisme d'ouverture automatique du couvercle
-
Assemblage de composants : apprendre à manipuler et assembler les différentes parties (couvercle, axe, moteur, composants électroniques, etc.)
-
Choix des matériaux : identifier les matériaux adaptés au projet
Compétences en électronique :
-
Découverte et câblage de capteurs pour détecter une présence.
-
Découverte et câblage de servomoteur pour l'ouverture/fermeture du couvercle.
-
Savoir réaliser un schéma de câblage et connecter les composants sur une carte Arduino.
Compétences en programmation :
-
Programmation d'un microcontrôleur Arduino : écrire un code qui gère les capteurs, les délais, et l'action du moteur.
-
Logique conditionnelle : comprendre comment programmer des conditions simples (si détection → ouvrir couvercle).
-
Optimisation du fonctionnement : ajuster les temps de réponse, la durée d’ouverture, etc.
Compétences transversales :
- Gestion de projet : planifier les étapes de réalisation, répartir les tâches, respecter les délais.
-
Résolution de problèmes : savoir réagir face aux imprévus techniques ou fonctionnels.
-
Travail en équipe.
Questions de réflexion :
- Comment pourrait-on améliorer ce projet ? (ex. : ajouter une LED qui s'allume lorsque l'objet est détecté, amélioration de pièces mécaniques, etc...)
- Quelles autres applications pourraient utiliser un capteur à ultrasons et un servomoteur ensemble ?
- etc...
Projet similaire
https://www.hackster.io/FANUEL_CONRAD/automatic-soap-dispenser-75abd6
No Comments