Étape 5: 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 plus ou moins compréhensible. 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.
La structure du message doit être le même sur votre réseau entier
Une unité a été définie pour le LightSequence, le commutateur dim et le fadespeed
Je pense qu’il est plus facile d’envoyer des commandes à.
Programme d’installation
Rien de spécial à mentionner. Le digitalwrite et la couleur s’allume à la fin de l’installation est un moyen facile de voir l’Arduino a démarré correctement. Il également un moyen rapide de voir si toutes les connexions (surtout au sol) ont été soudées ok.
Boucle
Il vérifie si certaines données ont été reçues par le biais de FM (plus sur cela ci-dessous).
Si les données reçues dit de passer à une couleur unie prédéfinie, celui-là est définie.
Les codes de single-blink sont prédéfinies trop. Il y a 7 couleurs unique d’aller haut et bas en séries répétées. Impossible de modifier les répétitions, les pauses entre les clignotements et couleurs d’openHAB. Le voyant à pleine puissance.
Sachez que lorsque vous testez et éclairage ayant les LEDs dans votre viseur sera certainement conduire à des maux de tête !
Un double-clin est très similaire à un single-clin. Il contient simplement une "si plus de boucle".
Les deux single et dual-clignote n’est pas vraiment optimal pour l’ambiance que vous pourriez devenir fou. Afin de mieux les utiliser comme feux d’alarme (rouge pour le feu, bleu pour l’eau, rouge et bleu pour PIR partit quand personne ne maison, etc.), ou interface openHAB avec la FritzBox et ont clignote jaune quand le téléphone sonner et ainsi de suite.
La vague de couleur ou de lumière de respiration est idéal pour le moral. Cependant, seulement des « couleurs pures » (R, G, B et 3 mixes + blanc) doivent bien être agité. Dans le cas contraire, vous devrez effectuer des calculs sérieux sur l’Arduino et les couleurs ne sera pas toujours agréable. Par ex. R255, G50, B100 ne peut pas être grisé vers l’intérieur jusqu'à 0 joliment car les numéros ne sont pas tous les 0 ou 255... Si vous commencez à tester que, vous savez ce que je veux dire.
La grande vague avec ColorSet = 80 est un modification du code de lien de l’étape précédente. Il a été modifié pour être exécuté dans une boucle et "en même temps" (entre dim-étapes entre les intervalles de vitesse fondu) écouter les instructions d’openHAB expediee FM.
Analyser la commande
Selon les valeurs reçues dans le paquet de données FM, différentes mesures sont prises.
80 est le relais de l’AC. En fait je ne sais pas si c’est vraiment nécessaire car si la couleur 0.0.0 est envoyée, la LED reste sombre. Je suppose que l’alimentation utilise encore un peu de puissance, et je me sens plus enregistrer sachant que l’AC est éteint.
Unité 77 est définie comme la FadeSpeed utilisé dans les vagues de couleur. Il met simplement à jour la variable qui est ensuite utilisée dans le prochain cycle de boucle.
Dispositif de 76 est utilisé pour la variation. Aussi il met simplement à jour la variable qui est ensuite utilisée dans le prochain cycle de boucle.
Dispositif de 75 est utilisée pour définir la LightSequence. La raison pour faire de cette façon est que la séquence lumineuse peut être choisie avec un nombre à 2 chiffres, alors que le choix d’une couleur par l’intermédiaire de color-code deviendrait très compliqué si vous voulez ensuite la couleur de fondu. Clignote et couleurs solides ne devrait pas être si difficile cependant.
Selon le ColorSet, différentes variables sont définies différemment.
Pour faire dans la prochaine version du code de l’Arduino :
- supprimer tous les retards et les remplacer par la même logique pour les intervalles entre l’envoi RFM.
- augmenter la valeur par défaut FadeSpeed à 200 environ, qui est une lumière moins nerveuse à regarder...