Minuterie café, radio, Arduino, Logitech Harmony et openHAB (2 / 3 étapes)

Étape 2: Code d’Arduino

Initialisation

Seulement la WDT (WatchDogTimer) et les bibliothèques RFM sont inclus. La WDT est utilisé dans le cas où l’Arduino est suspendu quelque part et avec la WDT, il aurait remis par lui-même. Cependant avec cette boîte, l’Arduino jamais perdu lui-même jusqu'à présent.

Le code est attaché et devrait être assez simple. On suppose que vous savez que des choses au moins à mi-chemin le lire.
Le code de l’Arduino pourrait ressembler familier comme il a été copié à partir de différentes sources, modifié et mis en place.

N’obtenez pas trop pointilleux sur la NodeID ; garder 2 chiffres puisque vous n’aurez probablement plus de 90 nœuds dans votre maison. Ne changez pas le nombre de chiffres, ou vous devrez le changer presque partout plus tard.
Définir la bande de fréquence telle que fournie par le module que vous avez acheté. Le ChannelFreq peut devoir être ajustée aux normes où vous vivez ; le nombre est en Hertz.

 // RFM69#define NODEID 21 //unique for each node on same network Floor&Room&Node#=X&XX&X#define NETWORKID 666 //the same on all nodes that talk to each other#define GATEWAYID 1#define FREQUENCY RF69_433MHZ#define ENCRYPTKEY "1234567890ABCDEF" //exactly the same 16 characters/bytes on all nodes!#define ChannelFreq 434520000 

La structure du message doit être le même sur votre réseau entier

 typedef struct { // Radio packet formatint nodeID; // node identifierint devID; // device identifierint cmd; // read or write long intVal; // integer payloadfloat fltVal; // floating payloadchar payLoad[32]; // string payload} Message; 

Les boutons ne étaient pas directement attachés pour le 3.3V, mais pour les broches de données Arduino alors qu’ils pourraient être allumés et éteints comme le souhaitaient.
Aussi, il y a beaucoup de variables pour stocker des horodatages, statut et précédentes-état des boutons.

Programme d’installation

Évidemment les goupille-modes sont « out » pour le pouvoir et « in » pour la presse-bouton. Un clin de boutons pour montrer que la phase d’installation terminée, puis ils passent dans leur état normal.

Boucle

L’Arduino vérifie d’abord si elle a reçu une commande du serveur OH. La commande est analysée à l’extérieur de la boucle-code.
Puis l’état des boutons sont lus si la situation a changé depuis la dernière itération. Notez que rien n’est envoyé jusqu'à présent.
Selon l’état des touches, le relais s’ouvre ou se ferme à activer ou désactiver la la machine à café.
Après que les couleurs du bouton changent selon leur état. Il était plus logique pour moi de faire ça au lieu de les modifier directement pendant le bouton-lecture-statut.
Proche de la fin de la boucle, l’état du relais est renvoyée vers le serveur OH ainsi que l’état du bouton bleu. Statut de rouge et vert ne sont pas envoyés dès qu’elles sont contrôlées par l’état du relais
Les forces de signal (RSSI) sont envoyés vers le serveur OH afin de connaître la puissance du signal pour les deux sens : d’et vers la passerelle RFM.
Notez qu’il existe une durée du tampon « StateChangeInterv » dans le code. Ce qui est écrit pour les gars drôles qui viennent à votre domicile pour voir après combien de fois sur/hors circuit le fusible grillera, ou la machine à café remonter dans la fumée... La variable (ici la valeur 2,5 sec) empêche un changement de statut pendant 2,5 secondes. La machine peut donc passer qu’après ce délai variable ; et les gens seront désintéresseront très rapidement...

Le BlueBlink est initié uniquement par le serveur de OH 30 minutes avant que la machine est censé pour éteindre. En appuyant sur la touche clignotante bleue, il se transforme en un bleu fade et l’éteindre de temps est censé pour passer à la prochaine 00 ou 30 minutes après l’heure. Bien sûr 30 minutes avant d’éteindre, le clignotant sera de retour.

Articles Liés

Minuterie de cuisine Arduino avec une introduction aux interruptions de minuterie

Minuterie de cuisine Arduino avec une introduction aux interruptions de minuterie

Bienvenue sur mon premier instructable,J'ai décidé de faire un projet assez simple d'entrer dans le monde instructable. Ce projet consiste à faire une minuterie de cuisine simple avec un Arduino Uno. Donc je vais donner une petite introduction à l'éc
Émulateur de minuterie 555 pour Arduino

Émulateur de minuterie 555 pour Arduino

Il s'agit d'une émulation d'une puce 555 minuterie qui s'exécute sur un Arduino. Il peut exécuter des 555 circuits plus élémentaires sans changement au programme ou le câblage de l'émulateur. La photo montre la configuration de l'émulateur pour exécu
Minuterie de cuisine Arduino

Minuterie de cuisine Arduino

cette volonté instructable guide vous aide à créer votre propre Arduino basé minuterie de cuisine. Il s'agit d'un projet assez simple, nécessitant peu ou pas de programmation ou électronique connaissances, juste la volonté d'apprendre et de violon -
HackerBoxes 0003 : Amateur Radio, Arduino Nano, Satellites, Packet, APRS

HackerBoxes 0003 : Amateur Radio, Arduino Nano, Satellites, Packet, APRS

Êtes-vous prêt à bouger la Radio ? Ce mois-ci, Découvrez les communications radio avec un puissant portatif VHF/UHF, recherche de Satellites Amateur frais généraux et le prototype de votre propre projet Code Morse ou numériques Packet Radio basé sur
Logitech Harmony One démontage

Logitech Harmony One démontage

parce que j'ai eu ce qui traînent et il était cassé, j'ai décidé de pas à démonter afin que s'il y a les gens qui veulent réparer leur propre télécommande pour savoir comment l'ouvriroutils nécessaires1 mini tournevis cruciforme1 mini tournevis norma
Powerstrip AC avec Arduino contrôlée relais CA/CC et openHAB

Powerstrip AC avec Arduino contrôlée relais CA/CC et openHAB

S'il vous plaît ne pas visser autour la powerstrip lorsqu'il est connecté à l'AC !Cette instructable suppose que vous savez ce que vous faites sur l'AC !Aussi, assurez-vous d'utiliser des câbles intacts qui ne sont pas trop long, ni trop court.Cette
Super Simple planificateur de Roomba Arduino alimenté

Super Simple planificateur de Roomba Arduino alimenté

comme la plupart des gens j'étais sceptique à propos de l'obtention d'un robot aspirateur, alors comme une marche d'essai, j'ai pensé que j'achèterais maintenant obsolète iRobot Roomba 530, qui a été fortement réduits (ils sont encore disponibles en
Uber domotique w / Arduino & Pi

Uber domotique w / Arduino & Pi

[MODIFIER] J'ai créé un forum pour collaborer sur le code de la porte d'entrée.http://homeautomation.Proboards.com/Board/2/openha...Il y a quelques années, je suis devenu propriétaire d'un chien pour la première fois. Je n'aimais pas laissant Cody da
Horloge d’échecs Arduino - boîte multi-jeux

Horloge d’échecs Arduino - boîte multi-jeux

Découvrez mes autres projets >>Radio-réveil avec infrarouge et haut-parleurs BluetoothArduino podomètre montre, avec la température, l'Altitude et boussole !Hey les gens ! Après avoir effectué un Arduino smartwatch la semaine dernière, j'ai reçu bea
Minuterie pour chargeur de batterie automobile

Minuterie pour chargeur de batterie automobile

Cette instructable utilise un Arduino pour contrôler un chargeur de maintien batterie d'automobile.Le chargeur s'allume pendant 1/2 heure tous les trois jours.Votre batterie restera chargée lorsque vous rangez votre voiture ou une moto pendant le lon
DIY USB Chargeur pour télécommande Harmony 1000

DIY USB Chargeur pour télécommande Harmony 1000

Hi there !Il y a quelque temps j'ai eu un vieux mais télécommande Logitech Harmony 1000 sans un berceau chargin ou une batterie d'origine. J'ai découvert, qu'une vieille batterie depuis un téléphone portable Nokia travaillerait à même si la télécomma
Mangeoire de lait automatique Arduino

Mangeoire de lait automatique Arduino

lorsque les chiots sont nés, ils sont enveloppés dans un sac transparent appelé la membrane amniotique. Cette membrane doit être retirée du visage du chiot pour qu'il respire.Une fois qu'il est effacé il va commencer à ramper vers sa mère,Environ pre
Téléchargez Siri pour contrôler votre maison

Téléchargez Siri pour contrôler votre maison

J'ai pensé que c'était incroyablement cool et décidé de faire une instructable alors vous pouvez le faire aussi.L'idée fondamentale de cette instructable consiste à demander à siri pour éteindre votre lampe ou plusieurs lumières en même temps.L'envir
Facile Android contrôlable, PC Interfaceable relativement bon marché Mini Quadcopter (ou Octocopter!) Drone...

Facile Android contrôlable, PC Interfaceable relativement bon marché Mini Quadcopter (ou Octocopter!) Drone...

Ou comment devenir un développeur de drone sans hypothéquer votre maison.Voici comment faire un quadcopter petit, intérieur/extérieur que vous pouvezvoler avec soit :* un téléphone android ou tablette* une télécommande légitime* via vos propres croqu