Smart Appliance Switch (3 / 5 étapes)

Étape 3: codage

Dans un premier temps logique semblait simple : si il fait sombre et il y a mouvement - Allumez l’appareil (lampe dans mon cas), sinon le désactiver. Patientez n et vérifier de nouveau.

Mais comme je testais et ajout de nouveaux modes à mon appareil, ci-dessus mentionné travaillé si simple.

Vous ne pouvez pas utiliser si (sombre == true & & mouvement == true) alors {allumez} else {éteindre;} retard (n) ;

parce que vous obtiendrez un effet de rétroaction méchant : sombre ? -Oui, mouvement ? -Oui, puis allumez-le ; attendre ; sombre ? -non (car nous avons juste allumé les lumières), mouvement ? -Oui, puis il s’éteint ; sombre ? -Oui... Donc avec cette logique vous obtiendrez constante clignotant.

C’est pourquoi dans la procédure light_on() tout d’abord, nous vérifions si c’est sombre et ensuite aller dans la boucle, allumer la lumière et vérifier constamment si le mouvement est présent. Nous ne vérifions pas ces deux conditions simultanément.

En ce qui concerne le délai de commande (n), qui suspend l’exécution n millisecondes, nous ne pouvons utiliser parce qu’au cours du délai, si vous appuyez sur les boutons mode permanent ou manuel, Arduino ne remarque pas, parce qu’il dort. C’est pourquoi nous utilisons dans le même arceau, qui vérifie pour motion dans light_on () procédure, fonction millis() et affecter sa valeur à la variable "maintenant". Millis() retourne le nombre de millisecondes écoulées depuis l’Arduino a été activée. Cette façon nous sommes en mesure de sortir de la boucle quand maintenant + delay_time > millis().

Ainsi, toutes les conditions pour sortir de boucle dans la procédure light_on() :

  • Il n’y a pas de mouvement ;
  • delay_time s’est écoulé depuis la dernière fois en mouvement a été détecté ;
  • mode de périphérique a été changé en appuyant sur un des boutons.

Autres commentaires que j’ai inclus dans le code lui-même.

J’ai fait deux classes : cellule photoélectrique et pir.

Bouton debouncing j’utilise Bounce2 bibliothèque que vous pouvez télécharger depuis ici. Télécharger Bibliothèque et décompressez son contenu dans ~/Documents/Arduino/libraries (sur un Mac) ou My Documents\Arduino\libraries (sur une machine Windows).

PHOTOCELL.h

PIR.h

C’est tout le code dont vous avez besoin. Maintenant, vous pourrez le télécharger à votre Arduino et un essai, si tout fonctionne comme il se doit, avant traitant de haute tension et en assemblant les cas pour votre appareil.

Aussi, j’ai joint les fichiers avec les codes. Sur ma machine tout compile sans problème.

Articles Liés

Domótica, Smart Switch Interrupteur Inteligente - domotique -

Domótica, Smart Switch Interrupteur Inteligente - domotique -

En esta oportunidad les ofrezco un proyecto en el cual he estado trabajando y del cual esperaría recibir comentarios, idées, mejoras, con el fin de lograr alguno de los mejores sistemas disponibles pour fr la rouge.En el artículo presente encontrará
Samsung Galaxy - transfert de fichiers avec le Samsung Smart Switch App

Samsung Galaxy - transfert de fichiers avec le Samsung Smart Switch App

Étape par étape sur comment faire pour transférer vos fichiers depuis un téléphone de Samsung à l'autre.
Smart Cap

Smart Cap

SalutDans ce instructable, je vais vous présenter ma nouvelle idée « The Smart Cap. » Je sais que beaucoup d'entre vous auront la question, qu'est cap intelligente et quoi exactement sert-il ?Fondamentalement, c'est fait par moi, pour ma mère. Ma mèr
Passez au vert avec Smart Mate

Passez au vert avec Smart Mate

Vous procurer plus proche de la nature avec ce compagnon intelligent. Ce vélo est idéal pour le plaisir de la soirée randonnées ou le camping avec vos amis. Ce cycle peut répondre aux besoins de base alors qu'il circulait à ce sujet. Voici les caract
[Rokit Smart] Robot sumo

[Rokit Smart] Robot sumo

Quel est le Robot Sumo et quelle est son utilité ?Le Robot Sumo est un robot autonome qui vous permet de pousser votre adversaire (sans doute un autre robot de sumo) hors du ring de combat.Quel est si spécial au sujet de ce robot ?Ce robot utilise de
Smart menthe le chargeur de téléphone solaire

Smart menthe le chargeur de téléphone solaire

Bonjour à tous Techsavvy ici,il été un moment depuis que j'ai posté quoi que ce soit,et j'ai pensée je le dois à mes abonnés génial pour écrire quelque chose I'v ai travailler sur,Merci encore pour votre soutien les gars;-)et autres utilisateursà com
Faire un appareil muet smart avec Pilight et HomeKit

Faire un appareil muet smart avec Pilight et HomeKit

Salut! Dans ce Instructable, vous allez apprendre comment transformer 5 dispositifs muets en smart ones, tout pour le prix d'un seul commutateur intelligent commercial. Vous êtes prêt ? Nous allons commencer bientôt, mais d'abord...Qu'est-ce que c es
Siduri – un Coaster Smart Control Arduino

Siduri – un Coaster Smart Control Arduino

Siduri nommé d'après le Dieu sumérien de bonheur et de gaieté, est un coaster intelligent pour vos boissons. Il reconnaît qu'un verre est près de vide et puis s'allume en jaune aux serveurs alertes que vous serez bientôt besoin d'une recharge.Conçu s
Système de surveillance & gestion énergétique à la maison Smart

Système de surveillance & gestion énergétique à la maison Smart

Électronique grand public, matériel de bureau et autres charges fiche consomment 15 à 20 pour cent de toute électricité résidentielle et commerciale, pas en mode principal. Une grande partie de cette énergie est consommée lorsque ces appareils foncti
Mon quatrième projet : Smart châssis de char avec Bluetooth

Mon quatrième projet : Smart châssis de char avec Bluetooth

C'est beaucoup mieux si le réservoir peut se déplacer selon mon instruction à l'instant, plutôt que les orientations établies avant. Après quelques recherches j'ai l'intention de contrôler le réservoir avec mon téléphone portable via le module Blueto
Arduino et Visuino : connecter D 4 systèmes ViSi Genie smart écran tactile à Arduino

Arduino et Visuino : connecter D 4 systèmes ViSi Genie smart écran tactile à Arduino

Il arrive un moment, quand vous voulez avoir un écran tactile connecté à votre carte Arduino. Il y a beaucoup de différentes options d'affichage et de tailles disponibles, mais la plupart d'entre eux exige une somme considérable de code pour être con
ESP8266 et Visuino : télécommande WiFi Smart voiture Robot avec Wii Nunchuck

ESP8266 et Visuino : télécommande WiFi Smart voiture Robot avec Wii Nunchuck

Que voiture smart définit lorsqu'il est combiné avec Les Modules des pilotes automobile L298N, offre une des façons plus faciles à rendre les voitures robot. J'ai déjà fait une Instructable sur comment vous pouvez contrôler la voiture Smart avec Ardu
Arduino Uno et Visuino : contrôler la voiture Smart Robot avec Joystick et L298N moteur

Arduino Uno et Visuino : contrôler la voiture Smart Robot avec Joystick et L298N moteur

Que voiture smart définit lorsqu'il est combiné avec Les Modules des pilotes automobile L298N, offre une des façons plus faciles à rendre les voitures robot. Le L298N Motor Driver Module est facile à contrôler avec Arduino, et avec l'aide de Visuino
Une 3D imprimés automobile Switch Panel

Une 3D imprimés automobile Switch Panel

Dans cette IBLE je vais démonstration de la conception et la construction d'un panneau de commutateur automobile.Je comptais sur cette opération pendant une longue période afin de remplacer le panneau de commutateur existant sur mon modèle de 1923 T