Étape 4: logiciels
Les liens de logiciels sont répertoriées ci-dessous. Alors qu’il est visé pour le 12F683, il est facilement porté à plus grandes versions de l’image. Pour la plupart il nécessite un changement des noms comme TRISIO TRISA et GPIO à PORTA. Vous devrez également modifier la ligne qui identifie la version PIC (liste =) et le fichier INCLUDE, mais ceux sont les changements intuitives. La ligne __CONFIG devez également peaufiner tout simplement parce qu’un ou deux des étiquettes utilisées soient orthographiés différemment dans certains des fichiers INCLUDE. Assurez-vous juste que la photo que vous utilisez a une broche qui permet une entrée d’interruption externe (habituellement appelée EXT). Comme nous l’avons vu précédemment, le 16F688 (PIC de 14 broches) peut être utilisé avec les mêmes branchements broches physiques comme le 12F683 si vous voulez plus de broches e/s.
Il y a en fait trois versions du logiciel fourni. Trois tous utilisent le même code dans le gestionnaire d’interruption pour capturer le flux de bits de quelle que soit la version du capteur que nous utilisons. Les différences dans la partie principale du logiciel sont dans laquelle les données bits sont capturés et utilisés. La version de DHT-11 saisit simplement les 8 premiers bits et les troisième 8 bits et puis leur analyse en valeurs entières pour l’affichage de la température et l’humidité. L’analyse s’effectue simplement en soustrayant répétitive afin de déterminer les dix chiffres. Le reste représente alors le chiffre de l’unité.
Les versions de deuxième et troisième sont à la fois pour la DHT-22/AM2302. La différence réside dans la manière dont les bits de données sont analysées. Ce module est un peu plus compliqué de travailler avec car la partie fractionnaire des valeurs nécessite le capteur à 10 bits significatifs au lieu de juste les 8 bits utilisés par la DHT-11 pour chaque valeur de sortie. Étant donné que les instructions PIC fonctionnent uniquement pour les données de 8 bits, cela signifie que la complexité du code doit augmenter afin de gérer correctement toutes les 10 bits. Dans la version « Table » du logiciel nous simplifier le code en capturant juste les 8 bits les plus significatifs et puis en utilisant cette valeur à l’index dans les tables de choix pour les chiffres de l’affichage. Cette méthode signifie que nous perdons deux bits de données fractionnaires (0,3) dans notre résolution. Pour ce type de projet, qui est un compromis raisonnable. L’autre version du logiciel conserve la précision de 10 bits, mais au détriment d’une logique plus complexe pour la capture de données et l’analyse. Les deux versions sont fournies en exemple de différentes méthodes, que vous pouvez utiliser dans vos projets.
Si vous êtes préoccupé par la possibilité d’une transmission de données incorrectes occasionnelle, puis que vous souhaiteriez d’inclure du code pour vérifier les 8 bits de la somme de contrôle à la fin de chaque flux de bits. Pour faire que vous permettrait d’englober chaque octet de données individuellement, s’additionnent les quatre premiers octets (ignorer le bit carry), puis vérifiez que le résultat correspond à la cinquième octet.
Les valeurs affichées pour l’humidité et la température ne peuvent changer beaucoup en regardant leur est agréable d’avoir quelque chose qui vous permet de savoir que les mesures sont prises comme prévu. Pour cela, j’ai fourni une variable appelée « Pulsation » qui obtient affiché/masquée entre un espace ASCII (vide) et une étoile.