Table des matières:

Système de sécurité téléphonique avec Arduino : 5 étapes
Système de sécurité téléphonique avec Arduino : 5 étapes

Vidéo: Système de sécurité téléphonique avec Arduino : 5 étapes

Vidéo: Système de sécurité téléphonique avec Arduino : 5 étapes
Vidéo: Domotique et Arduino 5 : Commande de chauffage par fil pilote. 2024, Novembre
Anonim
Système de sécurité téléphonique avec Arduino
Système de sécurité téléphonique avec Arduino

Votre maison ne sera pas protégée si vous n'appliquez pas ce projet. Ce projet vous aidera à déclencher une alarme via un téléphone portable lorsqu'un intrus s'introduit dans votre maison.

Ainsi, si vous utilisez ce projet, vous recevrez un SMS par téléphone portable et pourrez ainsi protéger votre maison en cas d'invasion.

Pour cela, nous utiliserons la carte compatible Arduino avec le module SIM800L et le capteur PIR. Le capteur PIR se chargera de détecter la présence d'un intrus et le SIM800L se chargera d'envoyer un SMS d'alerte au propriétaire de la maison.

Fournitures

  • Carte compatible Arduino
  • Capteur PIR
  • Résistance 10kR
  • Pulls
  • Protoboard
  • Module SIM800L

Étape 1: Le cœur du projet

Le cœur du projet est le module SIM800L. Ce module pourra recevoir des commandes Arduino et envoyer des SMS au téléphone portable de l'utilisateur. Ainsi, lorsque l'utilisateur reçoit l'alerte, il peut appeler la police ou effectuer tout autre type d'action.

La carte compatible Arduino se chargera de vérifier l'état du capteur et enverra ensuite un message d'alerte à l'utilisateur s'il détecte la présence d'un intrus.

Ce processus est réalisé grâce aux commandes de contrôle entre l'Arduino et le module SIM800L. Par conséquent, à partir de là, nous vous présenterons étape par étape pour que vous puissiez construire ce système, laisser votre maison protégée et vous avertir chaque fois qu'un intrus l'envahit.

Si vous souhaitez télécharger la carte compatible Arduino, vous pouvez accéder à ce lien et obtenir les fichiers pour acheter vos cartes chez JLCPCB.

Maintenant, commençons !

Étape 2: Le circuit électronique du projet et la programmation

Le projet Circuit électronique et la programmation
Le projet Circuit électronique et la programmation
Le projet Circuit électronique et la programmation
Le projet Circuit électronique et la programmation

Tout d'abord, nous mettrons à disposition le circuit électronique, puis nous discuterons du code du projet étape par étape pour vous.

#include puce SoftwareSerial (10, 11);

Chaîne SeuNumero = "+5585988004783";

#définir le capteur 12

bool ValorAtual = 0, ValorAnterior = 0;

void setup()

{ Serial.begin(9600); Serial.println("Inicializando Sistema…"); retard (5000); puce.begin(9600); retard(1000);

pinMode(capteur, INPUT); //Configura o Pino do Sensor como Entrada

}

boucle vide()

{ //Le o valor do pino do sensor ValorAtual = digitalRead(sensor);

if(ValorAtual == 1 && ValorAnterior == 0)

{ Alerte d'intrusion; ValeurAnterior = 1; }

if(ValorAtual == 0 && ValorAnterior == 1)

{ Plus d'intrusion(); ValeurAnterior = 0; }

}

void IntrudeAlert() //Funcao para enviar mensagem de alerta Umidade Baixa

{ chip.println("AT+CMGF=1"); retard(1000); chip.println("AT+CMGS=\"" + SeuNumero + "\"\r"); retard(1000); String SMS = "Alerte d'intrusion !"; puce.println(SMS); retard (100); chip.println((char)26); retard(1000); }

void NoMoreIntrude()//Funcao para enviar mensagem de alerta Umidade Normal

{ chip.println("AT+CMGF=1"); retard(1000); chip.println("AT+CMGS=\"" + SeuNumero + "\"\r"); retard(1000); String SMS = "Plus d'intrusion !"; puce.println(SMS); retard (100); chip.println((char)26); retard(1000); }

Dans le code ci-dessous, nous avons initialement déclaré la bibliothèque de communication série SoftwareSerial.h, comme indiqué ci-dessous.

#comprendre

Après avoir défini la bibliothèque, les broches de communication Tx et Rx ont été définies. Ces broches sont des broches alternatives et sont utilisées pour permettre la communication série sur d'autres broches Arduino. La bibliothèque SoftwareSerial a été développée pour vous permettre d'utiliser le logiciel pour reproduire la fonctionnalité

LogicielPuce série (10, 11);

Après cela, le numéro de téléphone portable a été déclaré est indiqué ci-dessous.

Chaîne SeuNumero = "+5585988004783";

Le schéma de conception électronique est simple et facile à assembler. Comme vous pouvez le voir sur le circuit, la carte compatible Arduino est chargée de lire l'état du capteur, puis d'envoyer un SMS au propriétaire de la maison.

Le message sera envoyé si un intrus est détecté à l'intérieur de la maison. Le capteur PIR (Passive Infra Red) est un capteur utilisé pour détecter un mouvement à partir du signal infrarouge. A partir du signal envoyé à l'Arduino, le module SIM800L enverra un message à l'utilisateur.

La Diode sera utilisée pour fournir une chute de tension pour alimenter le module SIM800L. Étant donné que le module ne peut pas être alimenté en 5V. De cette façon, une tension de 4,3V arrivera pour alimenter votre module et assurer son fonctionnement en toute sécurité.

Étape 3: La fonction Void Setup()

Dans la fonction de configuration du vide, nous allons initialiser la communication série et configurer la broche du capteur comme entrée. La région du code est présentée ci-dessous.

void setup()

{

Serial.begin(9600); Serial.println("Inicializando Sistema…");delay(5000); puce.begin(9600); retard(1000); pinMode(capteur, INPUT); //Configura o Pino do Sensor como Entrada }

Comme on peut le voir, les deux communications série ont été initialisées. Le Serial.begin est utilisé pour initialiser le numéro de série natif de l'Arduino et le chip.begin est le numéro de série émulé via la bibliothèque SoftwareSerial. Après cela, nous allons pour la fonction de boucle vide.

Étape 4: Le projet et la fonction Void Loop

Le projet et la fonction Void Loop
Le projet et la fonction Void Loop
Le projet et la fonction Void Loop
Le projet et la fonction Void Loop

Maintenant, nous allons présenter la logique principale de programmation dans la fonction void loop.

void loop(){ //Le o valor do pino do sensor ValorAtual = digitalRead(sensor);

if(ValorAtual == 1 && ValorAnterior == 0)

{ AlerteIntrusion();

ValeurAnterior = 1;

}

if(ValorAtual == 0 && ValorAnterior == 1)

{ Plus d'intrusion();

ValeurAnterior = 0;

}

}

Tout d'abord, le signal du capteur de présence PIR sera lu comme indiqué ci-dessous.

ValorAtual = digitalRead(capteur);

Après cela, il sera vérifié si la valeur de la variable ValorAtual est 1 ou 0, comme indiqué ci-dessous.

if(ValorAtual == 1 && ValorAnterior == 0) { IntrudeAlert();

ValeurAnterior = 1;

} if(ValorAtual == 0 && ValorAnterior == 0) { NoMoreIntrude();

ValeurAnterior = 0;

}

Si la variable ValorAtual c'est 1 et les variables ValorAnterior c'est 0, le capteur est en fait activé et antérieurement il est désactivé (ValorAnterior == 0). De cette façon, la fonction sera exécutée et l'utilisateur recevra le message sur votre téléphone portable. Après cela, la valeur de la variable ValorAnterior sera égale à 1.

De cette façon, la variable ValorAnterior sera signalée que l'état réel du capteur est actionné.

Maintenant, si la valeur de la variable ValorAtual est 0 et la valeur de la variable ValorAnterior elle est égale à 0, le capteur ne détecte pas d'intrusion puis sa valeur est actionnée.

De cette façon, le système enverra le message pour le téléphone portable de l'utilisateur et mettra à jour la valeur réelle du capteur pour 0. Cette valeur indiquera que le capteur n'est pas activé pour le moment.

Les messages qui ont été envoyés pour l'utilisateur sont présentés ci-dessus.

Maintenant, nous allons apprendre à utiliser la fonction pour envoyer les messages pour le téléphone portable de l'utilisateur.

Étape 5: Fonctions pour envoyer des messages

Dans ce système, il y a deux fonctions. Ce sont des fonctions avec la même structure. La différence entre eux est le nom et le message envoyé, mais lorsque nous l'analyserons, nous verrons qu'ils sont complètement identiques.

Ensuite, nous présenterons la structure complète des fonctions et discuterons du code.

void IntrudeAlert() //Funcao para enviar mensagem de alerta Umidade Baixa{ chip.println("AT+CMGF=1"); retard(1000); chip.println("AT+CMGS=\"" + SeuNumero + "\"\r"); retard(1000); Chaîne SMS = "Porte ouverte !"; puce.println(SMS); retard (100); chip.println((char)26); retard(1000); }

void NoMoreIntrude()//Funcao para enviar mensagem de alerta Umidade Normal

{ chip.println("AT+CMGF=1"); retard(1000); chip.println("AT+CMGS=\"" + SeuNumero + "\"\r"); retard(1000); Chaîne SMS = "Porte fermée !"; puce.println(SMS); retard (100); chip.println((char)26); retard(1000); }

Le module SIM800L utilise la commande AT pour contrôler ses fonctions. Par conséquent, grâce à ces commandes, nous enverrons le message pour le téléphone portable de l'utilisateur.

L'AT+CGMF = 1 est utilisé pour configurer le module pour qu'il fonctionne en mode SMS. Après le délai, le système enverra le message à l'utilisateur via la commande suivante.

chip.println("AT+CMGS=\"" + SeuNumero + "\"\r");

Dans la commande, le module SIM800L sera prêt à envoyer un message pour le numéro de téléphone portable enregistré dans la chaîne SeuNumero. Après cela, le système chargera le message dans la chaîne et enverra le téléphone portable de l'utilisateur, comme indiqué ci-dessous.

Chaîne SMS = "Porte fermée !"; puce.println(SMS); retard (100); chip.println((char)26); retard(1000);

Le char(26) est utilisé pour signaler la fin du message. Ce processus de travail est similaire pour deux fonctions pour envoyer un message à l'utilisateur.

Remerciements

Maintenant, nous apprécions le soutien de JLCPCB pour effectuer ce travail et, si vous êtes intéressé, accédez au lien suivant et téléchargez la carte compatible Arduino.

Conseillé: