Home Automation (ou Robot Butler appelé Geoffrey) - iPhone contrôlée, arduino base (11 / 12 étapes)

Etape 11 : Modification du code de l’arduino pour votre équipement – nouveau code

Cette étape portera sur la nouvelle, encore non testé, code :

En bas du code, vous trouverez des méthodes individuelles pour chaque commutateur ou la lumière (cuisine, chevet, etc..). Lorsque vous ajoutez un nouvel élément ou si vous voulez juste changer celles qui sont déjà là qu'il s’agit de la section, que vous devrez modifier tout d’abord. La structure d’un individu marche/arrêt méthode est :

switchName Sub (boolean sur, boolean multioff) {}

Les deux valeurs booléennes sont de savoir si l’interrupteur doit être activé (true) ou désactivé (false) et le second est de savoir si elle devrait s’éteindre tout temps chronométrés (pour s’assurer que choses n’aléatoirement activer/désactiver si vous finissez nécessitant une exécution avant elle attend de vous d’être fini).

La si instruction au sein de la méthode détermine si le commutateur est activé ou désactivé à l’aide d’une ligne de code qui ressemble à ceci :

setOnOff (x, x, sur) ;

ce qui appelle une méthode nommée « setOnOff ». Le code pour cela peut être vu vers le bas de l’esquisse. Cela prend soin de l’allumer et hors tension l’appareil et pour un retour via le port série. La disposition du code est :

setOnOff (groupe d’int, int plug, boolean sur)

La valeur booléenne « on » dans méthode de chaque appareil a déjà dit si vous voulez activer ou désactiver, vous devez seulement changer le groupe et brancher les valeurs pour chaque périphérique. Par exemple si je voulais tourner la fiche 4 dans le groupe 3, puis J’écrirais :

setOnOff (3, 4, sur) ;

Défilement vers le bas à peu près à mi-chemin, il y a une rubrique intitulée
« / / / L’article suivant est pour allumer et éteindre des appareils individuels / / / »

Il s’agit de la section suivante, qui devra être traitée.

Il s’ensuit 12 lignes de code à la recherche très similaire pour les différents appareils/lumières.

La première ligne de chaque bit suit la même structure :
ElseIf (packBuff [0] = « P » & & packBuff [1] == « x » & & packBuff [2] == « x »)

Il s’agit de la section dans laquelle vous spécifiez quel sélecteur depuis votre téléphone, vous êtes arbitrage à. Par exemple, si vous voulez spécifier ce qui doit être fait lorsque vous appuyez sur un bouton qui est configuré pour envoyer le message P04 vous remplaceriez le code ci-dessus pour :

ElseIf (packBuff [0] = « P » & & packBuff [1] == « 0 » & & packBuff [2] == « 4 »)

Parce que tous les cabillots ont deux messages pouvant être envoyés (coller avec l’exemple P04, il peut être P04H ou P04L selon l’état de la bascule a été changé) il doit exister une logique de traiter les deux séparément. Comme ils ont tous deux commencent par P04 bit est logique d’avoir une deuxième nichée si déclaration.

Si (packBuff [3] == « H ») {}

Cela indique le code quoi faire si elle est activée. Les lignes du relevé deux plus bas :

else {}

Indique le code quoi faire si la dernière lettre n’est pas H (L), ce qui signifie que vous pouvez spécifier ce que vous voulez qu’il fasse quand il est éteint.

Si vous utilisez un bouton au lieu d’un bouton, vous pouvez obtenir débarrasser de la nichée si fonction car il ne sera pas un supplémentaire H ou L dans le message.

La ligne de code juste sous la fi » (packBuff [3] == « H ») {"est l’action à effectuer lorsqu’il est allumé. Par exemple si vous voulez allumer la lampe de bureau vous appelez la méthode de « bureau » et lui dire que vous voulez qu’il soit sur et que vous voulez désactiver n’importe quel temps qui sont actuellement en cours :

Bureau (true, true) ;

Dans l’instruction « else », vous aurez besoin activer l’interrupteur même et encore une fois pour qu’il puisse annuler tout temps qui sont actuellement en action :

Bureau (false, true) ;

Si vous voulez plutôt cette touche particulière n’a pas désactiver n’importe quel temps, puis la deuxième variable doit être définie sur false (bureau (true, false); et bureau (false, false);)

La prochaine étape est que, lorsque pressé, aura une incidence sur plus d’une fiche douille (p. ex. entertainment allumer ou d’éteindre la TV, Xbox et système de son ou tous les voyants marche/arrêt) des boutons. Pour ces derniers, vous avez tout simplement plus d’un dispositif individuel méthode appelée (voir exemples de cela déjà dans le code).

La section légèrement plus complexe est la section de « run-time ». Mise en place d’automatismes de chronométrage nécessite plus de quelques modifications.

La première chose à faire est de déclarer deux variables avant void(setup). Un int qui agira comme une valeur booléenne et un unsigned long qui va stocker l’heure actuelle.

Lorsque le bouton est enfoncé, vous voudrez pour activer ou désactiver tout ce que vous voulez fait au début. Vous devrez ensuite définir l’unsigned long à l’heure actuelle (en secondes depuis le 1er janvier 1970), puis l’int 1 (p. ex. teethStart = now.unixtime() ; et teethActive = 1;).

Lorsque l’int == 1 commencera au moment de l’exécution. Avant la section où vous spécifiez que se passe-t-il chaque touche l’exécution doit être spécifiée. Démarrer avec un if qui vérifie si l’int == 1. Dans l’affirmative, puis démarrer l’exécution (par exemple si (teethActive == 1) {}).

La section suivante sera le premier avec des éléments de calendrier. En mettant en place si des déclarations impliquant temps interroge vous peuvent définir choses à allumer et éteindre à un nombre donné de secondes après que la touche a été enfoncée au départ.

Par exemple, si vous voulez quelque chose pour activer/désactiver après trois minutes puis la syntaxe est :

Si (teethStart + 120 == {now.unixtime())}

C’est essentiellement de vérifier si le temps actuel est le même que le temps s’appuie sur le bouton Ajouter 120 secondes.

À la fin de l’instruction dans un moment de l’exécution l’int d’activation doit être définie à 0 si le runtime n’est plus vérifié par le biais (rendant l’ensemble du système plus efficace).

La variable int active (par exemple teethActive) doit être ajoutée à la déclaration de multiOff.

Il y a une autre section, qui fait en sorte que, pas plus qu’un moment de l’exécution peut s’exécuter à un moment donné. Il conserve la dernière étant allumé en cours d’exécution.

Dans cette section tous les entiers (ints) activation est additionnées et si la réponse est supérieure à 1 alors plus d’un est actif en même temps. Si c’est le cas alors l’époque à laquelle ont commencé les temps est comparés et le runtime avec le plus grand nombre est maintenu actif. Vous devrez ajouter les durées d’arrosage supplémentaires à cette section, mais en regardant le code qui est déjà là, il devrait venir assez libre explicatives.

Articles Liés

Robot de PC Internet iPhone contrôlée en utilisant arduino

Robot de PC Internet iPhone contrôlée en utilisant arduino

robot Arduino Internet PC contrôlé en utilisant iphone SPY Webcam robot sur roues ordinateur portable en utilisant la langue de traitement + arduino... Logiciel - par Francisco Dias
Projets des Carlitos : Sans fil discours contrôlé par Arduino Robot

Projets des Carlitos : Sans fil discours contrôlé par Arduino Robot

Nous rêvons tous d'avoir des appareils et machines qui peuvent obéir à nos commandes vocales. Eh bien, nous allons faire le premier pas vers ce qui en fait se produire et construire un discours contrôlé par Arduino-basé robot mobile.Vous pensez peut-
Construire votre propre Robot Butler!!!  -Tutorial, Photos et vidéo

Construire votre propre Robot Butler!!! -Tutorial, Photos et vidéo

EDIT : plus d'informations sur mes projets Découvrez mon nJe fais aussi consultant pour des effets spéciaux projets/produits robotique et mécatronique. Visitez mon site Web - narobo.com pour plus de détails.Vous avez toujours voulu un robot butler qu
Le Raspberry Pi-Arduino-SignalR Home Automation moyeu

Le Raspberry Pi-Arduino-SignalR Home Automation moyeu

Suite à un couple de mon prélude IBLEs publié ici et ici, ce projet prend la première étape vers la création d'une version de base d'un Home Automation Hub fonctionnelle.J'ai utilisé différentes technologies dans le but de comprendre comment je peux
Home Automation/sécurité Prototype

Home Automation/sécurité Prototype

J'ai joué avec les microcontrôleurs pour assez longtemps et puis j'ai mes amis m'a demandé de reprendre ce projet et j'ai était un peu nerveux parce que travailler avec des modules individuels domotique est relativement plus facile que de construire
Raspberry pi Home Automation Server

Raspberry pi Home Automation Server

Le pi de framboise est un petit ordinateur incroyable pour le prix. Maintenant que vous avez un pi framboise permet de mettre au travail !Un serveur web ne nécessite pas beaucoup d'espace disque ou de la puissance informatique. Avec un peu de php et
SMART HOME AUTOMATION

SMART HOME AUTOMATION

À l'heure actuelle il y a beaucoup de types de systèmes Home Automation disponibles dans notre marché. La plupart d'entre eux est électroménagers simples contrôle des systèmes comme DTMF contrôlée des appareils ménagers, RF basé électroménagers contr
Linkit one - Home Automation avec Bluetooth contrôleur Android App

Linkit one - Home Automation avec Bluetooth contrôleur Android App

Toutes les options sont équipées de téléphones intelligents. Les téléphones intelligents rendent notre travail très facile et nous rendent paresseux. Tour et éteindre des appareils ménagers utilisant téléphone intelligent avec dent bleue est dans le
Smart Home Automation avec commande vocale

Smart Home Automation avec commande vocale

Il s'agit d'un tutoriel étape par étape construire le circuit pour la fonction « Smart Home Automation avec commande vocale ».Télécharger notre Code libre du projet Arduino ici.Exigences :• Arduino Uno• LED• Résistance (220 ohms)• Module Bluetooth (B
Home Automation framboise et Phidgets

Home Automation framboise et Phidgets

Dans les didacticiels précédents, nous avons utilisé Raspberry Pi au lecteur Phidgets InterfaceKit. Nous avons également mis en place un serveur web sur framboisier.Dans ce tutoriel que nous allons utiliser l'information recueillie pour créer un syst
Home Automation framboise et Phidgets partie 2

Home Automation framboise et Phidgets partie 2

Dans le tutoriel précédent , nous avons vu comment vous pouvez conduire les sorties numériques de l' Phidgets 1018à distance, dans ce tutoriel à la place nous allons vérifier l'état des entrées numériques, qui peuvent être connectés à des contacts ma
Smart Home Automation avec Android + Ethernet Internet + Arduino

Smart Home Automation avec Android + Ethernet Internet + Arduino

Domotique devient de plus en plus populaire et abordable et fascine les gens. Internet offre de telles possibilités comme jamais auparavant. Impressionnez vos amis montrant sur Smartphone que vous pouvez mise en marche/arrêt lampe dans vos milles app
Arduino base robotique Car(wireless controls+Autonomous)

Arduino base robotique Car(wireless controls+Autonomous)

Cette instructable est un Arduino base robotique voiture qui utilise Arduino, langage de programmation Arduino, pilote automobile, un écran LCD pour afficher l'état actuel de la voiture et même un module Bluetooth pour des communications sans fil dep
Centre de divertissement iPhone contrôlée

Centre de divertissement iPhone contrôlée

Mise à jour: Arduino et iPhone le code est affiché !Nous avons eu envie de re-conception de notre chambre familiale pendant un bon moment. Jouer de la musique ou regarder un film est incroyablement lourd, parce que nous avons 6 télécommandes et autan