IR contrôlée verrouillage (4 / 6 étapes)

Étape 4: Étape 4: Code de l’Arduino

Je vais aller discuter les principales caractéristiques du code de section par section. Bibliothèques tierces peuvent être importés de GitHub. Les bibliothèques innovente et IRremote peuvent être trouvés à GitHub. J’ai dû créer la bibliothèque à partir de zéro pour le capteur de proximité de HCSR04 (j’espère que vous trouverez attaché au-dessus). Dans ces bibliothèques, vous pouvez trouver les variables nécessaires à l’envoi d’une commande ou d’appeler une fonction. Chaque bibliothèque a un C++ (logiciel de codage) et .h (extension fichier d’en-tête). Si la création de vos propres bibliothèques, vous devez créer ces deux.

Ensuite je passe à l’initialisation des variables. Nous avons plusieurs classes de bibliothèques Servo, IRremote, innovente et HCSR04 et les variables qui sont déclarées. J’ai également défini plusieurs des boutons sur la télécommande, que j’ai utilisé. La classe innovente instancie un objet de LCD appelé « lcd ». L’adresse de l’écran LCD est 0 x 27 avec 16 colonnes et 2 rangs. Le capteur de proximité HCSR04 a deux déclencheurs. La broche « déclencheur » est responsable de l’envoi une impulsion. Cette impulsion rebondit (echos) ou obtient dissipée dans l’espace. La broche « echo » reçoit une valeur flottante assignée à broche 8. Ce déclencheur prend le pouls déclenché et convertit la valeur en centimètres (par ma propre bibliothèque conçue). Les distances que reçoit le capteur de proximité sont définis comme flottant de valeurs. Ils pouvaient ont été définies comme valeurs entières mais je voulais les mesures exactes, et cela signifie que les valeurs lues ont des valeurs décimales (un exemple serait cm 6,52).

Passer à l’installation, j’Initialise le bus i2C sur l’écran LCD que j’utilise. I2C essentiellement réduit le nombre de quilles que je dois utiliser sur mon Arduino. J’initialise le rétro-éclairage sur l’écran à cristaux liquides aussi bien. Si vous souhaitez consulter vos résultats sur un moniteur de la série, vous devez utiliser une commande de Serial.begin(baudrate) pour établir combien de symboles à lire. Cette opération démarre la communication entre l’Arduino et le moniteur de la série. Effacer l’écran LCD dans le cas où il existe des symboles erronés ou lettres sur l’écran. J’ai mis le curseur au milieu de la première rangée et salue l’utilisateur pour le module. Il attend une seconde et l’écran s’efface à nouveau. Le récepteur IR est prêt à prendre dans les valeurs de l’IR à distance. De même, le servomoteur est déplacé sur la position 0.

Enfin, nous nous déplaçons sur la boucle principale. distance1 est déclarée comme l’élément déclencheur qui est envoyé et reçu. Cette valeur est lue à partir du senor de proximité à l’Arduino en centimètres. last_distance est comme son nom l’indique. Il stocke la dernière distance qui est lue. Plus de détails seront fournis quant à la fonction de ces commandes plus tard. Le si commande (irrecv.decode (et résultats)) est utilisé pour mapper l’adresse à chaque pression de touche. Chaque bouton possède son propre flux de bits qui lui sont associé. Parce que ce projet est sur l’ouverture d’une serrure à l’aide d’une valeur spécifiée, cette commande doit être la première boucle dans la boucle principale. last_distance > distance1 compare les valeurs qui étaient stockés. Si la distance précédente était supérieure à la distance actuelle, puis l’écran s’efface comme il n’y a personne à la porte. De même, si distance1 < = 7 (cm), alors l’utilisateur sera invité à entrer le mot de passe. Qu’une seule valeur fonctionnera (9). Toutes les autres valeurs (0-8) demandera à l’utilisateur d’essayer à nouveau. Toutefois, pour la valeur = 9, la porte sera déverrouiller et saluer l’utilisateur. Il y a également une imbriquée boucle for en cela si déclaration. L’imbriqués pour boucle permet le moteur à coup sur et simuler le déverrouillage de la porte. La distance < = 7 est là pour vérifier si l’utilisateur est toujours à la porte ou si il/elle est allé à l’intérieur ou vers la gauche. Si l’utilisateur est toujours à la porte, la porte restera ouverte. La porte restera ouverte pendant environ 4 secondes pour permettre à l’utilisateur de passer par la porte, et puis il va se fermer. Après que la seconde 4 retarder, le servomoteur est détaché. Je fais ça pour éviter l’excès étant envoyées au moteur quand il n’est pas en cours d’utilisation. En outre, j’ai serial.println() de commandes pour afficher les résultats sur le moniteur de la série.

Comme prieur brièvement discuté, en appuyant sur n’importe quel autre bouton pas actionnera le moteur donc j’ai dû faire en sorte que n’importe quelle autre touche n’a rien fait (valeurs 0-8). L’écran LCD vous invite l’utilisateur à essayer de nouveau. Si vous avez oublié votre mot de passe, vous pouvez appuyer sur l’EQ bouton et l’écran LCD vont invite à noter le cours. C’est un message « Reminder » disant "rappel : sur une échelle de 0 à 9, comment AWESOME est cette classe?" Après cela, efface l’écran et vous pouvez maintenant mettre à la valeur correcte de 9.

Cette commande suivante est très importante : irrecv.resume() ; Si vous ne le mettez pas ici, le récepteur ne vérifie n’est plus une autre entrée. Cette commande empêche l’enfermer après une pression de bouton ou l’itération de la boucle.

Si la distance est supérieure à 7 cm, mais inférieure à 10 cm, Cela symbolise l’utilisateur approchant le module ou la porte. Vous serez à nouveau invité à entrer le mot de passe.

Clôture de la boucle, j’ai une dernière si déclaration. Si la dernière distance est supérieure à la distance actuelle, cela signifie que l’utilisateur est introuvable. En outre, je l’ai vérifié pour s’assurer que l’utilisateur n’est pas n’importe où pour être vu en incluant & & distance1 > 12 (cm). Cela signifie que quelqu'un était là et à gauche. L’écran s’efface à nouveau. Il y a une imbriquée pour la boucle qui dit : OK, j’ai vu que la porte ouverte, la serrure a été déplacée à la position déverrouillée et maintenant je remonte à la position verrouillée. Le servomoteur est attaché et l’écran LCD indique la personne au revoir. Le moteur est recalée 35 degrés à la position verrouillée. Après que le servomoteur est terminé sa tâche, il est détaché à nouveau afin d’éviter la saturation du moteur et en réduisant la puissance utilisée pour alimenter le moteur d’asservissement. C’est la fin de la boucle et fonctionnera de façon continue.

Articles Liés

Hyundai Getz, aftermarked distance contrôlée verrouillage central

Hyundai Getz, aftermarked distance contrôlée verrouillage central

so. Je me suis une Hyundai Getz. Belle petite voiture. Verrouillage central a été installé, mais pas télécommandé.Et j'allai et m'a fait un kit de pièces de rechange, voulait que pirater sur le système existant. Quelque chose que j'ai fait 50 fois ou
Une Collection de farces de bureau facile

Une Collection de farces de bureau facile

quand j'ai vu ce concours, je savais que je devais entrer !  Mais qui blague ?  J'ai plus les années assisté et participé et étudié des milliers de farces, du simple à l'extrême.  À mon humble avis, une bonne farce peut être réglée vers le haut et ex
Construire un Web activé serrure en utilisant les API Rest et Raspberry PI

Construire un Web activé serrure en utilisant les API Rest et Raspberry PI

Dans ce instructable, nous construirons une serrure électronique web activé à partir de zéro en utilisant les API RESTFUL, nœud JS et Raspberry PI pour fournir le service web consommé par l'application mobile ou n'importe quel client de repos.L'Archi
Facile Bluetooth activé porte serrure avec Arduino + Android

Facile Bluetooth activé porte serrure avec Arduino + Android

Merci à tous ceux qui ont soutenu ce projet et ont voté pour lui le défi de l'Arduino ! J'ai obtenu le deuxième prix et l'espoir de participer à plusieurs concours d'Arduino dans un proche avenir.Ce tutoriel vous expliquera un moyen simple de faire u
Smart Lock

Smart Lock

Comme la popularité de lien-BLE, c'est une idée de piratage la serrure électromagnétique à l'aide de Ble-lien dans mon esprit, me difficile dans les deux l'aspect de la construction de matériel et de la programmation Android. Plusieurs applications b
Mon chapeau, c’est plein d’étoiles !

Mon chapeau, c’est plein d’étoiles !

Top hats sont cool ; à l'instar de cravates.  Non seulement elles sont élégantes, mais ils vous donnent beaucoup de pièce pour incorporer la bonté de la techno.  J'ai récemment eu cause acheter un smoking, ce qui a nécessité un kilt et puis un chapea
Liste des Macintosh ï £¿raccourcis clavier

Liste des Macintosh ï £¿raccourcis clavier

j'ai vu de Rajiv Priyadarshi ' ible : liste des raccourcis clavier de Windows et en tant qu'utilisateur Apple moi-même, j'ai décidé que j'allais faire un (pour les utilisateurs de Macintosh) aussi bien. Beaucoup de ces raccourcis je n'ont jamais util
Le Switcheroo permet de déverrouiller les portes avec votre smartphone

Le Switcheroo permet de déverrouiller les portes avec votre smartphone

Le Switcheroo permet de passer un pêne dormant électronique, donc vous pouvez l'ouvrir avec votre smartphone ou tablette ! Le Switcheroo est un Conseil de développement de basse énergie de Bluetooth qui permet à votre périphérique compatible Bluetoot
Secret verrouillé boîte de tissu

Secret verrouillé boîte de tissu

Par Karena VerbitskyDans ce instructable, je vais vous montrer comment faire une boîte de tissus sans danger qui peut être déverrouillée par votre appareil iOS. Tromper vos amis, famille ou intrus avec cet espace caché.Étape 1: matériaux Boîte de Kle
DoorMe : Smartphone contrôlée télédéverrouillage pour dortoirs

DoorMe : Smartphone contrôlée télédéverrouillage pour dortoirs

Ce projet est pour vous si...A) vous avez jamais accidentellement verrouillé vos clés dans votre dortoir ou appartement, beaucoup à la frustration de ton orgueil personnel, colocataire ou serrurier.B) vous cherchez un système de télédéverrouillage pe
Ember déverrouillage pour plus de puissance (ou comment contrôler le projecteur LED et Wintech USB)

Ember déverrouillage pour plus de puissance (ou comment contrôler le projecteur LED et Wintech USB)

La puissance lumineuse maximale du Wintech projecteur utilisé dans l' imprimante Ember varie d'une unité à l'unité. À l'usine le projecteur dans une imprimante de braise est ajusté afin que tous les projecteurs ont le même rendement (environ 22,5 mW/
Arduino Uno R3 1602 LCD verrouillage sécurisé avec contrôle de manette de jeu

Arduino Uno R3 1602 LCD verrouillage sécurisé avec contrôle de manette de jeu

je viens de recevoir ce kit de Uno copie arduino et c' est tellement génial que je devais faire mon premier instructable pour aller avec !Ici, je vais montrer la disposition de base en utilisant le stick analogique de la PS2 pour contrôler l'écran LC
Solution la moins chère SPhocsLock - verrouillage de grève du Simple téléphone contrôlée -

Solution la moins chère SPhocsLock - verrouillage de grève du Simple téléphone contrôlée -

Vous êtes à la recherche d'une solution bon marchée et facile à ouvrir la porte (ou autre) avec votre téléphone ?C'est ici :Parfois les gens oublient de prendre le passe-partout mais ils oublient jamais leur téléphone portable alors que j'ai.Ce qui p
HACCSY - contrôle d’accès Hackerspace et vérifier dans le système

HACCSY - contrôle d’accès Hackerspace et vérifier dans le système

Abreviation HACCSY est synonyme de contrôle d'accès Hackerspace et vérifier dans le système et c'est à peu près ce qu'il fait.HACCSY app est destiné à être exécuté sur un RaspberryPi qui est connecté à internet et de la gâche électrique serrure de fr