Étape 2: vue d’ensemble
Tout est contrôlé par l’ATMega sur une planche de Freeduino. RAM espace est plutôt limité (il compile dans 30602 de 30720 octets disponibles) j’ai choisi de faire usage de l’autobus un fil pour les deux capteur de température DS18B20 et à la durée de l’effet gardant via une puce DS2417. Ce dispositif ne compte que secondes, alors j’ai ajouté une petite bibliothèque inspirée la fonctionnalité DS1307 pour permettre une fonctionnalité correcte chronométrage et calendrier. Indépendamment, cette configuration est plus économique sur la ram par rapport à une combinaison de DS18B20 et DS1307. La puce de temps est protégée par une batterie de CR3202, qui maintient le fonctionnement en cas de perte de puissance.
L’ATMega communique au modem GSM via RS232 (paire de câble RJ45 croisé). Côté matériel que j’ai donc employé une Freeduino avec interface RS232 à bord, qui évite le matériel pilote supplémentaire. Le modem est contrôlé par une bibliothèque permettant une utilisation simple de l’ensemble de commandes AT, capacités de l’analyse de texte de base ainsi que les SMS entrants et gestion des appels. Numéros de téléphone pour jusqu'à 5 utilisateurs sont gérés par une bibliothèque d’annuaire téléphonique.
L’interface utilisateur se compose d’un clavier 3 boutons pour le menu de navigation (haut/entrer/bas) et de nombre/saisie, mais aussi un écran LCD de 20 x 4. Comme je le voulais les données pour être lisible de loin, j’ai choisi un affichage avec des lettres de grande taille 9mm et rétro-éclairage. Vous pouvez utiliser des petits écrans et aussi 16 x 4 ou de plus petites tailles (modifier les commutateurs du compilateur dans le sketch). Clavier et affichage sont contrôlés par des broches d’e/s numériques de l’uC via une bibliothèque cristaux liquides standard modifiée de Arduino (adapté pour conduire les 20 x 4 et 16 x 4 écrans) et une bibliothèque pour le menu de navigation et de gestion des événements.
L’ATMega contrôle la chaudière via un relais 5V petit et son conducteur de transistor, qui peut gérer jusqu'à 220V à courants faibles. C’est généralement suffisant pour conduire la chaudière marche/arrêt contacts. Les composants logiciels pour la commande de chauffage sont une bibliothèque de contrôleur gestion des points de consigne, minim exécuter fois et des limites de température, une bibliothèque d’alerte qui est utilisée pour communiquer des messages d’avertissement, mais aussi une bibliothèque qui fournit des fonctionnalités pour les profils de température et de leur gestion.
Toutes les données (adresses, paramètres de régulation de chauffage et état mais aussi que de l’annuaire téléphonique de bus 1wire paramètres etc.) sont stockés en EEPROM non volatile pour se prémunir contre les pertes de puissance.
Tous les composants électroniques sont placés sur un bouclier personnalisé, ce qui est empilé sur la Freeduino. Le bouclier personnalisé aussi contient des douilles pour l’écran LCD et détient son contraste tondeuse et du pilote de rétro-éclairage.
Un capteur de température est fixé directement sur le bouclier pour l’intérieur température, une seconde pour mesurer la température extérieure peut également être connectée par un câble à 3 fils. Alimentation est assurée par une alimentation de 12V 2 a.