Faites du bruit !! (Le buzzer et un capteur)

1.0

By jicehel, 5 years ago

Un petit tuto rapide pour prendre en main 2 nouveaux composants sympas pour des montages:

Un capteur de mouvement et un buzzer.


Principe de fonctionnement

Le capteur PIR (Passive Infra Red) ( HCSR501 dans notre exemple) détecte une source d'infra-rouge placée dans son champ de "vision" et détecte ses mouvements.  Il permet de détecter une présence humaine ou animale dans un périmètre et déclencher une réponse.

(Vous trouverez plus de détails sur le capteur PIDR a différents endroits. Ici par exemple: http://tiptopboards.com/124-module-d%C3%A9tecteur-de-mouvements-infra-rouge-hcsr501-.html)


Câblage à réaliser

  • pin1 +V --> Alim VBAT de la META (fil violet sur le schéma vue de face ci dessous)
  • pin2 OUT --> Signal pin 2 digital Arduino (le fil blanc ci dessous)
  • pin3 GND --> GND (Le fil bleu sur la photo i-dessous)



Nous relions aussi une LED ainsi: L'anode (le +, la patte la plus longue de la LED) va sur la pin "5"

La cathode de la led est branchée dans une colonne libre. Dans cette colonne, on branche une résistance qui l'on relie à une autre colonne que l'on relie ensuite  à GND. Enfin, on relie le + du buzzer à la PIN 6 de la META et le - sur la partie 'GND".

Enfin, on teste tout ça avec ce programme

#include <Gamebuino-Meta.h>

const int LED = 5; // La broche 5 se nomme maintenant LED const int Capteur = 2; // La broche 2 se nomme maintenant Capteur (C'est notre capteur de présence const int HP = 6; // La broche 6 se nomme maintenant HP en fait cest le buzzer mais bon HP c'est plus court

int EtatCapteur;

void setup() { gb.begin(); //contenu de l'initialisation pinMode(LED, OUTPUT); // On demande à mettre la broche 2 en sortie pinMode(Capteur, INPUT); // Capteur est une valeur à récupérer => entrée pinMode(HP, OUTPUT); // On demande à mettre la broche "HP" en sortie pour pouvoir jouer un son }

void JoueSon (int duree, int frequence) { duree*=1000; int period = (1.0 / frequence) * 1000000; long temps_passe = 0;

while (temps_passe < duree) { digitalWrite(HP, HIGH); delayMicroseconds(period / 2 ); digitalWrite(HP, LOW); delayMicroseconds(period / 2 ); temps_passe+=period; } }

void loop() //fonction principale, elle se répète (s’exécute) à l'infini { //contenu du programme EtatCapteur = digitalRead(Capteur); if (EtatCapteur == HIGH) { digitalWrite(LED, HIGH); // Si on détecte un mouvement, on allume la LED JoueSon(300,160); delay(150); } else { digitalWrite(LED, LOW); // Snon, on éteind la LED JoueSon(0,0); // On ne joue pas de son delay(150); } }


Si tout va bien, quand vous bougez prêt du capteur, la LED s'allume et vous avez une série de petits sons générés par le buzzer... 

Marre que votre sœur vienne fouiller dans vos tiroirs ? Piégez la en cachant votre montage dedans et attendez qu'elle sévisse... bon ce n'est pas une sirène non plus, vous n’embêterez pas les voisins. Jouez avec les paramètres des sons: durée et fréquence pour écouter les sons générés.

A bientôt.