Sommaire
Plongée dans le Monde des Détecteurs Arduino
Bienvenue dans ce guide pratique où vous apprendrez à construire un détecteur de passage Arduino innovant.
La vidéo ci-dessous est une illustration du système de détection laser que vous allez pouvoir réaliser dans ce tutoriel :
Utilisant la puissance et la flexibilité de la Carte Arduino Uno REV3, ce projet intègre un émetteur laser KY-008 et un buzzer actif KY-012 pour une notification sonore à chaque détection.
De plus, grâce à un afficheur TM1637, vous pourrez non seulement détecter mais aussi compter précisément le nombre de passages. Ce tutoriel est parfait pour les amateurs de projets DIY cherchant à explorer les capacités d’Arduino dans des applications pratiques et interactives.
Les Fondations de votre Projet de Détecteur Laser
Les systèmes de détection laser sont devenus des outils indispensables dans une multitude d’applications, allant des magasins, qui s’en servent pour signaler l’entrée de clients, aux parkings et péages d’autoroute, où ils détectent la présence de véhicules. Ces technologies, auparavant réservées aux professionnels en raison de leur coût et complexité, sont désormais accessibles aux passionnés de projets DIY grâce à des composants abordables et faciles à utiliser avec Arduino.
Pour réaliser notre détecteur de passage Arduino, nous utiliserons les composants suivants :
- Carte Arduino Uno REV3 : Le cœur de notre projet.
- Émetteur Laser KY-008 : La source de notre système de détection.
- Buzzer Actif KY-012 : Fournit une alerte sonore à chaque détection.
- Afficheur 4 chiffres TM1637 : Affiche le nombre de passages détectés.
- Câbles de connexion : Pour relier les composants.
Carte Uno Rev 3
11,99 €
Vous économisez
Afficheur 7 Segments – 4 Chiffres TM1637
3,29 €
Vous économisez
Module Buzzer Actif KY-012
2,99 €
Vous économisez
Transmetteur Laser KY-008 pour Arduino
2,99 €
Vous économisez
Le Transmetteur Laser KY-008
Le transmetteur est constitué de 2 modules :
- Un module émetteur laser
- Un module récepteur avec capteur de lumière photosensible
Ces modules travaillent de concert pour créer un système de détection efficace et précis, donc idéal pour notre projet de détecteur de passage Arduino.
Le module Buzzer
Le signal d’alerte sonore est généré par un module Buzzer actif KY-012. Le buzzer actif produit un son dès qu’il est alimenté, contrairement à un buzzer passif qui nécessite un signal sonore variable. Cela le rend idéal pour des applications simples comme une alerte sonore. Le module doit être alimenté en 5V et le son à émettre est activé par un signal sur la broche “SIGNAL“.
En premier lieu nous allons programmer l’Arduino pour que le buzzer émette un son continu en mode “Classique“. En plus nous expérimenterons avec un programme Arduino pour générer une “Mélodie” spécifique, rendant notre projet encore plus interactif.
Afficheur TM1637
Le TM1637 est un afficheur à 7 segments de 4 chiffres (4 digits). Il permet d’afficher un nombre compris entre 0 et 9999 ou encore l’heure moyennant le programme adéquat. Cette flexibilité en fait un choix idéal pour notre détecteur de passage Arduino, permettant une lecture facile et rapide du nombre de détections.
La Carte Arduino UNO
La carte Arduino Uno REV3 représente le cœur de notre système et permet d’identifier la détection d’un passage ou non et d’activer l’alerte sonore. Cet outil polyvalent est au centre de nombreux projets DIY, offrant une plateforme accessible pour le développement d’applications interactives.
Le Montage Arduino
Ci-dessous, vous trouverez le schéma de montage de notre système de détection laser utilisant Arduino. Ce schéma illustre comment chaque composant est connecté à la carte Arduino Uno REV3 pour créer un détecteur de passage efficace.
Carte Arduino Uno REV3 | Émetteur Laser KY-008 | Récepteur KY-008 | Module Buzzer Acif KY-012 | Afficheur TM1634 |
D2 | CK | |||
D3 | DIO | |||
D4 | Signal | |||
D5 | Sortie | |||
D10 | Signal | |||
VCC | VCC | VCC | VCC | VCC |
GND | GND | GND | GND | GND |
Les Programmes Arduino
En termes de programmation, nous allons réaliser deux scripts distincts pour notre projet. Le premier script déclenchera un son classique avec le buzzer lors de la détection d’un passage. Le second, plus créatif, fera en sorte que le buzzer émette une mélodie que nous avons spécialement composée pour l’occasion. Ces programmes permettront non seulement de signaler la détection de passages mais aussi d’ajouter une touche personnelle et ludique au projet.
- Programme Arduino “Classique” : Ce script activera le buzzer pour émettre un son unique à chaque détection, servant d’alerte sonore simple.
- Programme Arduino “Mélodie” : Dans ce script plus avancé, le buzzer jouera une mélodie composée spécialement, ainsi offrant une réponse plus élaborée à la détection.
Programme Arduino "Classique"
Dans ce code, nous allons faire sonner le buzzer de manière classique en cas de détection de passage. Nous utiliserons une sonnerie sommaire de 2 tons, similaire à celle d’une alarme standard. Ce programme est conçu pour offrir une réponse audible immédiate, permettant une indication claire de la détection de passage.
/*Programme: Détecteur de Passage avec Arduino: Laser KY-008, Buzzer KY-012 et TM1637
* Auteur: Christian Joseph
* Date: 21/03/2019
* Help: contact@atelierdelarobotique.fr
* Site: https://atelierdelarobotique.fr
*/
#include
#define CLK 3
#define DIO 4
#define laser 5
#define recepteur 6
#define buzzer 10
TM1637Display display(CLK, DIO);
int detect = 0;//Initialisation du nombre de passages
void setup() {
Serial.begin(9600);
pinMode(laser, OUTPUT);//Configuration du Laser
pinMode(recepteur, INPUT);//Configuration du capteur photosensible
pinMode(buzzer, OUTPUT);//Configuration du Buzzer
digitalWrite(laser, HIGH);//Activation du Laser
display.setBrightness(0x0f);//Réglage de la luminosité de l'afficheur TM1637
display.showNumberDec(detect);//Affichage du nombre de passages
}
void loop() {
bool passage = digitalRead(recepteur);
if (passage == 0) {
Serial.println("Aucune détection");
}
else {
detect++;
display.clear();// Rafraîchissement de l'afficheur TM1637
display.showNumberDec(detect);//Mise à jour du nombre de passages sur l'afficheur TM1637
Serial.println("Passage détecté");
while(passage == 1){
passage = digitalRead(recepteur);
sonne();//Activation du buzzer
}
}
}
void sonne(){
for (int i = 0; i <80; i++)
{
digitalWrite (buzzer, HIGH) ; //ne sonne pas
delay (1) ;
digitalWrite (buzzer, LOW) ; //Sonne
delay (1) ;
}
for (int i = 0; i <100; i++)
{
digitalWrite (buzzer, HIGH) ;//ne sonne pas
delay (2) ;
digitalWrite (buzzer, LOW) ;//Sonne
delay (2) ;
}
delay(1000);
}
Programme Arduino "Mélodie"
Nous allons maintenant faire jouer à notre buzzer une mélodie de notre composition en cas de détection. Pour cela, nous aurons besoin de télécharger et d’utiliser la bibliothèque “Pitches.h”, qui facilite la définition des fréquences des notes musicales. Cette bibliothèque doit être placée dans le même dossier que votre programme Arduino. Vous pouvez vous procurer cette bibliothèque en cliquant sur le lien: Bibliothèque pitches.h.
Cette bibliothèque contient un ensemble de définitions pour les notes musicales que nous utiliserons pour créer notre mélodie personnalisée. Dans notre code Arduino, nous avons sélectionné les notes C4, G3, A3, et B3 pour composer notre mélodie. D’ailleurs vous pouvez créer une mélodie avec autant de notes que vous désirez, en ajustant la durée de chaque note pour varier le rythme.
Vous avez la liberté de personnaliser la durée de chaque note en modifiant les valeurs dans votre code. Cette flexibilité vous permet de jouer avec le rythme de la mélodie, offrant ainsi une expérience auditive unique à chaque utilisation du détecteur de passage.
Si vous décidez de composer une mélodie plus longue ou plus courte que les 8 notes initialement proposées, n’oubliez pas d’ajuster le code en conséquence. Par exemple, si votre mélodie contient plus ou moins de 8 notes, modifiez la séquence de programmation pour refléter le nombre exact de notes dans votre mélodie, comme indiqué à la ligne 59 de votre code Arduino.
/*Programme: Détecteur de Passage avec Arduino: Laser KY-008, Buzzer KY-012 et TM1637
* Auteur: Christian Joseph
* Date: 21/03/2019
* Help: contact@atelierdelarobotique.fr
* Site: https://atelierdelarobotique.fr
*/
#include "pitches.h"
#include
#define CLK 3
#define DIO 4
#define laser 5
#define recepteur 6
#define buzzer 10
TM1637Display display(CLK, DIO);
int detect = 0;
// Mélodie du buzzer:
int melody[] = { //création d'une mélodie de 8 notes
NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4 //Voir Fichier "Pitches.h" pour selection des notes
};
// Durée des notes: 4 = note 4 temps, 8 = note 8 temps, etc.:
int noteDurations[] = {
4, 8, 8, 4, 4, 4, 4, 4
};
void setup() {
Serial.begin(9600);
pinMode(laser, OUTPUT);//Configuration du Laser
pinMode(recepteur, INPUT);//Configuration du capteur photosensible
pinMode(buzzer, OUTPUT);//Configuration du Buzzer
digitalWrite(laser, HIGH);//Activation du Laser
display.setBrightness(0x0f);//Réglage de la luminosité de l'afficheur TM1637
display.showNumberDec(detect);//Affichage du nombre de passages
}
void loop() {
bool passage = digitalRead(recepteur);
if (passage == 0) {
Serial.println("Aucune détection");
}
else {
detect++;
display.clear();//Raffraîchissement de l'afficheur TM1637
display.showNumberDec(detect);//Affichage du nombre de passages sur le TM1637
Serial.println("Passage détecté");
while(passage == 1){
passage = digitalRead(recepteur);
sonne();//Sonnerie du Buzzer
}
}
}
void sonne(){ //Buzzer
for (int thisNote = 0; thisNote < 8; thisNote++) { //Lecture de nos 8 notes
int noteDuration = 1000 / noteDurations[thisNote];
tone(buzzer, melody[thisNote], noteDuration);//Le buzzer joue la note
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
noTone(buzzer); //arrêt du buzzer
}
delay(200);
}
Vers de Nouvelles Créations
Finalement à travers ce projet, nous avons exploré la puissance et la polyvalence de l’Arduino pour créer un système de détection de passage innovant et interactif. En utilisant des composants tels que le transmetteur laser KY-008, le buzzer actif KY-012, et l’afficheur TM1637, nous avons démontré comment les concepts élémentaires de l’électronique et de la programmation peuvent être combinés pour réaliser des applications pratiques et ludiques.
Que ce soit pour compter le nombre de personnes passant par une porte ou pour développer des projets plus complexes, l’Arduino offre un terrain de jeu idéal pour les inventeurs, les éducateurs et les hobbyistes. Nous espérons que ce tutoriel vous inspirera à pousser plus loin vos explorations en robotique et en programmation, en utilisant l’Arduino comme plateforme de base pour vos créations innovantes.
Pour conclure n’oubliez pas, la seule limite à ce que vous pouvez construire est votre imagination. Bonne création !