Étape 7: Description du code
Déclaration de variable :
Tout d’abord, il est inclus la bibliothèque de la manière qui a été décrit précédemment. En conséquence, la ligne suivante est inclus dans le code.
Pour chaque axe que nous voulons déclarer car un PWM sortie et commande à distance par le biais de Sensorflare sera instanciée une « PWMout » objet et associés la broche spécifique. Dans l’exemple qu’il est connecté, une led de A0, puis l’objet appelé pwm recevoir comme paramètre A0. L’intensité lumineuse est contrôlée à distance par une génération d’un signal PWM et cycle de fonctionnement entre 0 et 255.
Maintenant, il est nécessaire de déclarer un objet pour chaque variable dont la valeur, nous voulons être en mesure d’accéder par le biais de la plate-forme de Sensorflare. Les variables peuvent être publiés sur le nuage d’étincelles Core comme privé (seulement vous serez en mesure d’accéder à leurs valeurs) ou PUBLIC (chaque utilisateur d’étincelle peut accéder leurs valeurs du Cloud). Puis dans l’exemple est déclaré 2 objet varTem et varPin qui référencera 2 variables qui seront publiés respectivement publique le Spark et accès à partir de votre compte de Sensorflare de la température de noms et le pir. Un autre varLight d’un objet qui fera référence à une variable privée sur le nuage d’étincelles et accédera par la lumière du nom de votre compte de Sensorflare.
Doivent être déclarés les variables qui seront publiés plus tard.
Enfin doit être déclarer toute autre variable qui voulais être utilisées dans le programme.
Setup() :
La fonction d’installation s’exécute uniquement une et est généralement utilisée pour initialiser les variables, les modes de la broche et les fonctions. Il est nécessaire d’appeler la méthode « begin() » de chaque objet qui a été définie avant.
Supplementaire qui ne sera pas de télécommande et sera la broche numérique d’entrée pour le capteur PIR.
Loop()
La fonction loop() boucles consécutivement, permettant à votre programme de changer et de réagir.
Le capteur analogique inclus (résistance de la température et de la photo) fournit, dans leurs respectifs entrées analogiques d’un noyau, une tension entre 0 à 3, 3V qui sont proportionnels à la variation de température et de lumière dans l’environnement. Le noyau utilise un convertisseur numérique analogique 12 bits qui mappent un signal de 0 à 3, 3V en valeurs allant de 0 à 4095 lorsque la fonction « analodRead() » est appelée. Tout d’abord, il faut calculer la tension qui correspond à la valeur de lecture.
Le capteur de température LM335 spécifique donne une tension proportionnelle à la température en Kelvins avec une sensibilité de 10mV/K. Ensuite, la température en Kelvin se réalisera en convertissant la tension aux unités mV et divisé entre la sensibilité. Pour la dernière expression de la température de l’unité attendue (° C) la conversion de Kelvin faite par soustraire 273,15 (0 correspondant en degrés Kelvin).
La luminosité, l’intensité de la lumière, peut être calculée en utilisant les relations du capteur qui a été soumise à l’avant la section du manuel. Tout d’abord la photo résistance valeur en KΩ, puis la luminosité équivalente en Lux.
Le PIR a fourni un signal numérique (1 cas de détection d’un mouvement et 0 si elle n’est pas en mouvement présentent) qui est lue par le biais de l’entrée numérique correspondante du noyau. L’événement intéressant dans ce cas est lorsque le capteur détecte un mouvement, représenter par un passage de 0 à 1 (l’état variable changera leur valeur à 1) dans l’entrée correspondante quand commencer le déménagement et la transition de 1 à 0 lors de la halte (l’état variable sera 0). Puis un événement sera publié chaque fois qu’une transition qui s’est passée dans l’axe spécifique. Le code détecte le passage du PIR et publier chaque fois que cela s’est passé. Pour cela a été utilisé la méthode « Publish(Variable,period) » dans laquelle la variable de publier est l’État et il est publier immédiatement lorsque la méthode est appeler de sélectionner une période de 0.
La température et la luminosité doivent être publiées périodiquement - dans ce cas toutes les 15 secondes est suffisant. Le « Publish(Variable,period) » méthode sera appelée pour tous les objets qui représentent chaque variable qui veulent paraître chez associée à la Variable respectif de publier et une période de 15 secondes.