Alarme de proximité
Quand quelqu'un approche à moins de 30 cm de ton capteur, le buzzer se met à hurler. Une mini-alarme pour ta chambre ou ton tiroir secret.
SunuMake Capteurs
Mesure ton environnement — 7 composants inclus.
Les étapes
- 1
Matériel
1 capteur HC-SR04, 1 buzzer piezo, 7 fils.
- 2
Câble le HC-SR04
Comme dans le projet Radar : VCC → 5 V, GND → GND, TRIG → broche 7, ECHO → broche 8.
- 3
Câble le buzzer
Patte longue du buzzer → broche 9. Patte courte → GND.
- 4
Téléverse et teste
Téléverse. Approche ta main à moins de 30 cm du capteur : le buzzer hurle. Recule : il se tait. Tu peux changer le seuil dans le code (`SEUIL_CM`).
- 5
Astuce pour la nuit
Combine ce projet avec la veilleuse : ajoute aussi une LED rouge qui clignote en plus du buzzer. Visuellement intimidant, idéal pour décourager un curieux qui s'approche d'un tiroir.
Le programme à téléverser
Copie ce code dans l'IDE Arduino, branche ta carte en USB et clique sur le bouton « Téléverser » (la flèche en haut à gauche).
// Alarme de proximité — HC-SR04 + buzzerconst int TRIG = 7;const int ECHO = 8;const int BUZZER = 9;const int SEUIL_CM = 30; // alarme si distance < 30 cmvoid setup() { pinMode(TRIG, OUTPUT); pinMode(ECHO, INPUT); pinMode(BUZZER, OUTPUT);}float mesureDistance() { digitalWrite(TRIG, LOW); delayMicroseconds(2); digitalWrite(TRIG, HIGH); delayMicroseconds(10); digitalWrite(TRIG, LOW); long duree = pulseIn(ECHO, HIGH, 30000); // timeout 30 ms return duree * 0.0343 / 2;}void loop() { float distance = mesureDistance(); if (distance > 0 && distance < SEUIL_CM) { // Alarme : alterne 2 fréquences pour faire « pin-pon » tone(BUZZER, 1500, 200); delay(200); tone(BUZZER, 1000, 200); delay(200); } else { noTone(BUZZER); delay(100); }}Comment ça marche ?
Ce projet combine ce que tu sais déjà : la mesure de distance du projet Radar + l'instruction if du projet Interrupteur magique + la fonction tone() du projet Buzzer.
Une nouvelle astuce : on a extrait la mesure dans une fonction mesureDistance(). Au lieu de copier-coller les 5 lignes de TRIG/ECHO partout, on les met dans une fonction qu'on appelle. C'est ce qui rend le loop() court et lisible.
Le son « pin-pon » se fait en alternant 2 fréquences (1500 Hz et 1000 Hz) — exactement comme une sirène de police miniature. Si tu veux quelque chose de plus discret, remplace par une seule tone(BUZZER, 800, 100) répétée.