Étape 6: Le Code
Échappant au contrôle de la température, j’ai essayé de garder les autres fonctions aussi simple que possible.Lors de l’installation, le matériel est initialisé, puis la sonde de température est lu. La lecture est utilisée pour remplir un tableau circulaire utilisé pour le lissage. Un écran de démarrage s’affiche sur l’écran LCD et, après un délai, la température actuelle et le point de consigne sont affichés.
La période de la boucle principale est de 100 ms.
Dans la boucle principale, l’entrée de la série est lue. Si un octet est présent, il est traité. Si ce n’est pas un chiffre, retour chariot ou saut de ligne, il est ignoré. Si c’est un chiffre, sa valeur est accumulée dans une variable temporaire et le contrôle retourné à la boucle. Si c’est un retour chariot ou saut de ligne, les chiffres cumulés sont traités comme la nouvelle valeur de consigne. Notez qu’il n’y a aucune vérification raisonnable sur la plage de point de consigne. Prendre quelque responsabilité personnelle et faites attention à votre frappe. Vous ne devriez pas pouvoir endommager quoi que ce soit en tapant les mauvais numéros.
Ensuite, les commutateurs haut/bas sont interrogées et, si soit est enfoncé, une boucle interne est utilisée pour augmenter ou diminuer la valeur de consigne pour aussi longtemps que vous appuyez sur l’interrupteur. Le temps de mise à jour initiale est de 500 ms, mais après cinq itérations, le temps de mise à jour est réduit de moitié, pour accélérer le traitement.
La température se lit sur chaque quinzième boucle ou 1,5 secondes. La définition de macro
#define FAHRENHEIT_UNITSest la sélection par défaut de l’unité. Pour produire des écrans de Celsius unités, en commentaire cette ligne en ajoutant des doubles barres obliques en face d’elle.
Température et point de consigne sont envoyés à la ligne série sous forme de texte simple, par défaut, lorsque soit modifiée. Pour produire du XML à envoyer sur le port série, supprimez la définition de macro
#define PRODUCE_XMLen supprimant les doubles barres obliques. Si vous ne savez pas ce qu’est XML, le laisser seul.