Projet 08 : Alarme anti-vol

1. Vue d’ensemble

Lorsque l’alarme anti-vol intelligente détecte que la boîte anti-vol a été déplacée, le haut-parleur sur la carte micro:bit émettra une alarme et la LED rouge clignotera.

2. Composants

Img

Img

Img

carte micro:bit *1

carte d’extension micro:bit type T *1

câble micro USB *1

Img

Img

Img

LED rouge *1

résistance 220Ω *1

fil de connexion *2

Img

Img

Img

breadboard *1

porte-piles *1
(piles AA auto-fournies *2)

carte alarme *1

3. Connaissances sur les composants

Accéléromètre

Img

La carte micro:bit dispose d’un capteur d’accélération intégré LSM303AGR (appelé accéléromètre) qui comprend les modes standard, rapide, plus et haute vitesse (100 kHz, 400 kHz, 1 MHz et 3,4 MHz) de l’interface bus série I2C ainsi qu’une interface série standard SPI pour la communication externe, avec une résolution de 8/10/12 bits et une plage de ±2g, ±4g ou ±8g.

Lorsque la carte micro:bit est au repos ou en mouvement uniforme, l’accéléromètre ne détecte que l’accélération due à la gravité. Si elle est légèrement balancée, l’accélération détectée est bien inférieure à celle de la gravité, donc la différence peut être ignorée. Par conséquent, nous détectons principalement le changement de l’accélération gravitationnelle sur les axes x, y et z.

4. Schéma de câblage

Img

La broche de contrôle de la LED sur la carte est P1 (la broche de la carte d’extension type T est digitale 1).

5. Flux du code

Img

6. Code de test

Le fichier de code est fourni dans le dossier Projet 08 : Alarme anti-intrusion, fichier Project-08-Burglar-Alarm.py.

Img

Code complet :

Après avoir importé le code, si le buzzer continue de sonner même si la breadboard n’est pas déplacée ; cela peut être dû à des facteurs géographiques. Vous pouvez modifier le seuil dans la condition -60 et 50 selon les conditions réelles.

'''
Function: The accelerometer controls a buzzer and LED to simulate a anti-theft alarm
Compiling IDE: MU 1.2.0
Author: https://docs.keyestudio.com
'''
# import related libraries
from microbit import *
import music

display.show(Image.HAPPY) # LED matrix displays a smile face

while True:
    if accelerometer.get_x()<-60 or accelerometer.get_x()>50: # If the value of the accelerometer in the X direction is less than -60 or greater than 50
       music.play("C4:4")      # speaker plays C4 tone
       pin1.write_digital(1)   # P1 pin value is high, LED on
       sleep(200)
       pin1.write_digital(0)   # P1 pin value is low, LED off
       sleep(200)
       display.show(Image.NO)  # LED matrix shows X
    else:  # or
        display.show(Image.HAPPY) # LED matrix displays a smile face
        pin1.write_digital(0)
        music.reset()             # no tone

7. Résultat du test

Cliquez sur “Flash” pour charger le code sur la carte micro:bit.

Img

Après avoir téléchargé le code sur la carte, alimentez via le câble micro USB ou une alimentation externe (passez l’interrupteur DIP sur ON), puis appuyez sur le bouton reset de la carte.

Img

Après avoir téléchargé le code sur la carte, déplacez la breadboard. Si la valeur d’accélération x<-60 ou x>50, le haut-parleur de la carte sonne et la LED clignote, et la matrice LED du micro:bit affiche Img. Sinon, le haut-parleur ne produit aucun son et la LED est éteinte, et la matrice LED du micro:bit affiche Img.

ATTENTION : Si le câblage est correct mais que vous ne voyez pas les résultats, appuyez sur le bouton reset à l’arrière de la carte.

Img