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

Étape 10 : Modification du code de l’arduino pour votre équipement – ancien code

Il existe deux versions du code attaché (à l’étape 8). L’ancienne version est essayée et testée mais n’est pas aussi facile à comprendre/modifier. La nouvelle version est beaucoup plus facile à comprendre et à modifier, mais je n’ai pas eu la chance de le tester encore. Je mettrai à jour cela dès que j’ai la chance de tester correctement, mais jusqu’alors je vais laisser des instructions sur la modification de ces deux ensembles de code.

Cette étape portera sur l’ancien code :

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 qui devront d’abord être traitées par.

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 instruction if 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 parlez. 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 auquel la bascule a été changé) il faut faire une logique de traiter les deux séparément. Comme ils ont tous deux commencent par P04 il est logique d’avoir une deuxième instruction nichée si .

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 plutôt qu’un bouton que vous pouvez vous débarrasser de l’instruction nichée si comme 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é.

setOnOff (3, 1, true) ;

Ce qui appelle une méthode nommée « setOnOff ». Le code pour cela peut être vu au fond de l’esquisse. Il s’occupe d’allumer les appareils et au large et pour un retour via le port série. La disposition du code est :

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

Donc, si je voulais la fiche qui a été installé comme groupe 3, channel 4 pour allumer que J’écrirais :

setOnOff (3, 4, vrai)

Si je voulais éteindre la même fiche, J’écrirais :

setOnOff (3, 4, faux) ;

Pour modifier le simple marche/arrêt des appareils individuels, que vous devrez remplir les messages corrects pour être lu (p. ex. le P04 dans l’exemple précédent) et remplissez l’interrupteur correct d’être affectés et si vous le voulez ou non (par exemple le switchOnOff (3, 4, vrai) dans l’exemple précédent).

À la fin de chaque tour marche/arrêt de chaque appareil, il y a une autre ligne de code :

multiOff = 1

Cette ligne indique que, lorsque le bouton est enfoncé, il s’arrête à n’importe quel moment de l’exécution qui implique retardé sur / offs. Son but est d’arrêter quoi que ce soit de façon aléatoire marche ou arrêt lorsque vous aurez terminé l’activité plus tôt que la course s’attendait à temps. Si vous ne voulez pas un bouton particulier d’annuler actuelles durées d’arrosage puis comment ou supprimer cette partie du code.

L’étape suivante traite de boutons 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). Pour ces vous tout simplement avoir plus d’un « switchOnOff » à terme (voir les exemples du présent déjà dans le code).

La section suivante, 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 vous appuyez sur un bouton d’exécution 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. L’exécution doit être spécifiée avant la section dans laquelle vous indiquez ce qui se passe lorsque vous appuyez sur chaque touche. Commencer avec une instruction 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 des instructions if , impliquant des questions de temps, vous pouvez définir des 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 deux minutes puis la syntaxe est :

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

C’est essentiellement de vérifier si l’heure actuelle est le même que le temps s’appuie sur le bouton plus de 120 secondes.

À la fin d’une instruction d’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 d’un moment de l’exécution peut être active à 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 le résultat est supérieur à 1, plus d’un moment de l’exécution intervient en même temps. Si c’est le cas alors les temps au cours de laquelle les temps ont été allumés sont comparées et au moment de l’exécution avec le plus grand nombre (celui qui a commencé la dernière) est maintenu actif. Vous devrez ajouter un temps supplémentaires à cette section, mais en regardant le code qui est déjà là, il devrait être assez explicite.

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