Arduino basé maison chauffage Controler avec Interface utilisateur SMS (7 / 8 étapes)

Étape 7: Compilation et Upload, bibliothèques

Selon votre système d’exploitation, placez les bibliothèques fournies dans le dossier désigné et enregistrer le programme dans votre dossier de croquis d’Arduino. Afin de programmer la Freeduino, vous pouvez soit programme l’ATMega sur un programmeur, sur votre Arduino, ou via un câble RS 232 / USB sur la Freeduino.

Comme les chaînes de menus résident dans la mémoire EEPROM du processeur, ils doivent être chargé il en premier. Cela se fait par un petit programme (streeng.ino) qui doit être chargé et lancé avant de compiler et d’installer le programme contrôleur principal (steuerung.ino). Le programme de streeng ainsi que le contrôleur s’utilisent de la bibliothèque de classe streeng, qui permet d’enregistrer et d’accéder à des chaînes de caractères dans l’EEPROM.

Quelques mots sur les bibliothèques :

Système de menu

La fonctionnalité de l’appareil nécessite une interface utilisateur structuré. J’ai développé le système de menu avec trois objectifs : simplicité, flexibilité et empreinte de mémoire faible. Les menus sont hiérarchiques jusqu’au 4 niveau. Entrées du menu peuvent être modifiées pendant l’exécution et le système fournit également une fonctionnalité pour l’entrée des données alphanumériques et temps. Pour seulement trois touches (haut/entrer/bas) sont nécessaires. Temps de bouton poussoir est également utilisé pour des fonctionnalités supplémentaires.

Le LCD affiche une ligne d’en-tête panneau (informations d’État, temps, température, mode et chaudière état de fonctionnement) ainsi que 3 lignes du menu. Selon la taille de l’écran, cela peut être plus ou moins (par exemple, en-tête plus 1 ligne pour un petit 16 x 2 affichage). Menu de navigation n’affecte pas le panneau de l’en-tête. La position du menu actuel peut être vu sur la gauche plus côté et est indiqué par un ' >'. Le texte pour l’entrée de menu est visible dans le centre de l’écran. Dans le cas où qu’il existe des sous-menus pour une entrée de menu, un ' >' s’affiche sur le côté à droite. Les éléments de menu sont sélectionnés en appuyant sur la touche entrée, vers le haut et vers le bas navigue autant au sein de l’arborescence du menu. Appuyant sur entrer pour renvoie plus à la racine du menu, appuyant sur « up » plus long navigue un menu niveau vers le haut.

Les chaînes sont édités en changeant la valeur sous le curseur en surbrillance à l’aide des touches up/down. Garder plus longtemps se déplacera le curseur. La touche entrée termine édition avec la nouvelle valeur prise en charge, en tenant plus se terminera également, il restaure la valeur de chaîne initiale.

La bibliothèque de classes de menu prévoit trois façons de stocker le texte de l’élément de menu : mémoire programme 1), 2) EEPROM, 3) pour les deux du calcul dynamique ci-dessus par une fonction fournie. Au démarrage du programme l’arborescence du menu doit être construit à l’aide de la fonction d’entrée. Dans cet exemple en raison de limitations de mémoire EEPROM est utilisé principalement pour le stockage (téléphone livres sont dynamiques et donc utilisent création d’entrée menu dynamique). Entrées de menu sont identifiées par un numéro d’index (index de positionner dans l’EEPROM ou argument de fonction) et un numéro de leur position dans l’arborescence du menu (4 caractères hexadécimaux indiquant un niveau chaque) de codage. Donc 0 x 1000 signifierait la première entrée de menu au niveau supérieur, 0 x 2000 le deuxième menu de niveau supérieur, tandis que 0x1400 qui désigner le sous-menu quatrième à la première entrée de menu de niveau supérieur. Le numéro d’index permet une modification du texte de menu pendant l’exécution par des appels répétés à la fonction d’entrée (p. ex. marche/arrêt basculant).

La fonction principale, appelée à partir du programme utilisateur est un gestionnaire d’événements, qui retourne les éléments de menu sélectionnés et gère tous les menu de navigation, affichage de mise à jour et le défilement. En attendant des événements de menu, le gestionnaire d’événements permet au programme appelant à utiliser le temps de processeur via une routine de service personnalisé, qui doit être fourni.

Interface de ligne de commande

Un aspect essentiel de l’interface utilisateur est l’interface de ligne de commande, qui permet pour les entrées de commandes de texte brut. Alors qu’il est utilisé pour la saisie de SMS, il peut être également utilisé et adapté pour les autres fins (par exemple l’entrée via IP) et syntaxe de la commande.
Essentiellement la ligne de commande est analysée pour les mots clés (résidant dans l’espace du programme), qui sont ensuite traduits en un code intermédiaire compact, qui est ensuite facilement vérifié pour la syntaxe. Des arguments tels que des informations de durée et de température sont attendus dans une forme particulière (hh: mm pour fois, tt.t pour la température). Dans les cas qu’une erreur de syntaxe détectée, un message d’erreur est produit.

Annuaire téléphonique

L’annuaire gère les entrées d’annuaire et les stocke dans l’EEPROM du contrôleur. La bibliothèque dépend fortement de la bibliothèque de menu, qui approvisionne modifier fonctions comme l’épine dorsale de la structure du menu annuaire.
La bibliothèque de l’annuaire téléphonique crée une structure de menu avec des entrées de menu dynamique, qui chacun ont des sous-menus pour éditer et supprimer. Routines pour l’édition et la suppression sont fournis par la bibliothèque du menu. Généralement, les numéros de téléphone peuvent avoir 16 chiffres et sont stockés au format international commençant par un démarrage « + » et le code de pays.

CONTROLER

La chaudière marche/arrêt contact est contrôlée par le logiciel de contrôleur. La bibliothèque met le chauffage selon la valeur de consigne pertinent, qui est soit réglée manuellement (via l’entrée de menu de température), utilise les valeurs par défaut (confort, Economie ou antigel, qui à leur tour, sont définies par l’élément de menu réglages) ou est déterminé par les horaires programmés par l’utilisateur. Les horaires peuvent être programmés avec une résolution temporelle une minute. Jusqu'à cinq intervalles de temps avec une température définie individuellement les paramètres peuvent être programmés.
Tout en contrôlant la chaudière, la bibliothèque prend soin de ne pas le radiateur fonctionne pour moins cher que dans le pré jeu Duree minimale, ainsi que des contrôles pour les dysfonctionnements possibles, c'est-à-dire lorsque la température ambiante n’augmente pas au cours du fonctionnement du chauffage. Dans le cas où un dysfonctionnement se produit ou la température descend en dessous (alerte 0) ou dépasse (alerte 1) programmé, seuils d’alerte par SMS, les messages sont envoyés. Enfin le contrôleur tente d’assurer à toutes les fois que la température mesurée jamais tombe en-dessous du niveau d’antigel défini.

GSM

La bibliothèque GSM effectue la communication entre Freeduino et Modem. La bibliothèque exécute de base e/s avec le modem, fournit une méthode pour envoyer des commandes au modem AT et fournit des fonctionnalités de base surveiller les appels entrants et gérer les messages SMS entrants ainsi que lancer des messages sortants de SMS.

Articles Liés

Système de surveillance 30$ avec Interface utilisateur

Système de surveillance 30$ avec Interface utilisateur

extrêmement bon marché et très facile à faire le système de surveillance. Vous n'avez pas à être n'importe quel genre de tête à Papineau pour cela. Toutes les pièces requises seront probablement trouvé dans votre quincaillerie locale. Vous devez seul
Arduino haute vitesse d’Oscilloscope avec interface PC

Arduino haute vitesse d’Oscilloscope avec interface PC

Utilisez votre Arduino et votre PC comme un Oscilloscope à mémoire rapide.L'Arduino peut recueillir fiable des lectures de tension à une fréquence d'entre 141 et 153 KiloHertz.lecture des données 1000 peut être utilisé en vers 6.8ms.Viré à un PC, ces
Arduino basé système RADAR avec reconnaissance de la cible

Arduino basé système RADAR avec reconnaissance de la cible

Le RADAR est un système de détection d'objet qui utilise les ondes radio pour déterminer la plage, altitude, direction ou la vitesse d'objets. Systèmes radar viennent dans une variété de tailles et ont des caractéristiques de performances différentes
Arduino Base Wireless Pc control Robot.

Arduino Base Wireless Pc control Robot.

ici j'utilise base très rigide pour un usage ultérieur donc je peux le modifier à l'avenir.. .i peut faire véhicule de manutention avec cette base, robot suiveur de ligne avec cette base ou n'importe quel autre Robot mais cette instructable est liée
Un système d’alarme basé sur capteur PIR avec alerte par Sms à l’aide de 8051

Un système d’alarme basé sur capteur PIR avec alerte par Sms à l’aide de 8051

« L'objectif de ce projet consiste à détecter l'environnement avec l'aide du capteur infrarouge passif (capteur PIR) et envoie les informations souhaitées sur la détection d'un objet pour le numéro de portable à l'aide du module GSM pour alerter le p
Johnny5 Arduino Robot DfRobotshop rover avec interface html télécommande

Johnny5 Arduino Robot DfRobotshop rover avec interface html télécommande

Dans ce post, j'ai expliquer étape par étape comment construire un Arduino base Robot et programmer avec Javascript. J'ai expliquer quels choix de conception que j'ai fait, les cadres et les technologies que j'ai utilisé et comment je programme et co
Arduino contrôlée stores automatisés avec une interface utilisateur Web

Arduino contrôlée stores automatisés avec une interface utilisateur Web

cette instructable est un guide détaillé sur la façon de construire un contrôleur automatisé pour exécuter un moteur pouvant fonctionner à l'ouverture et la fermeture des stores. Le contrôleur permet les blinds ouvrir et fermer basé sur un calendrier
DIY Smart suivez-moi Drone avec caméra (Arduino basé)

DIY Smart suivez-moi Drone avec caméra (Arduino basé)

Drones sont des outils et des jouets très populaires ces jours-ci. Vous pouvez trouver des professionnels et même les drones débutant et gadgets volants dans le marché. J'ai quatre drones (quadcopters et hexcopters), parce que j'aime tout ce qui vole
Basse Altitude Environmental Monitoring avec un Arduino basé Instrument météorologique et plate-forme de détection à distance Aeropod

Basse Altitude Environmental Monitoring avec un Arduino basé Instrument météorologique et plate-forme de détection à distance Aeropod

Aperçu du projetÉlèves à l'école secondaire de New Lothrop, dans le Michigan ont travaillé ensemble pour construire une plate-forme de détection distante de basse altitude appelée un « Aeropod » et il équipé d'un instrument de météo « Arduino » basé
L’utilisation de Scratch ou Arduino pour programmer un mBot avec Makeblock

L’utilisation de Scratch ou Arduino pour programmer un mBot avec Makeblock

Il y a quelques jours, j'ai fait un robot par Makeblock. Nous l'appelons mBot---un robot mieux s'adapter à l'éducation et la mise à la consommation. Il est simple à utiliser et plus abordable. Nous croyons que c'est le meilleur produit robotique dans
Comment faire un synthétiseur sonore Arduino avec interface MIDI

Comment faire un synthétiseur sonore Arduino avec interface MIDI

Avec ce synthétiseur, vous pouvez faire Arduino reproduire des formes d'ondes totalement personnalisés. En raison de l'interface MIDI, il peut être connecté à n'importe quel instrument qui disposent et jouer avec le son souhaité.Étape 1: matériauxArd
Les bougeoirs avec affichage masqué de la météo et l’Interface utilisateur tangibles de mur

Les bougeoirs avec affichage masqué de la météo et l’Interface utilisateur tangibles de mur

vidéos du projet en action ci-dessous!AVERTISSEMENT : Il s'agit d'une description abrégée du projet étant donné que je n'ai pas le temps de faire une pleine étape par étape instructable à temps pour un concours. Toutefois, je ferai volontiers un étap
Arduino base robotique Car(wireless controls+Autonomous)

Arduino base robotique Car(wireless controls+Autonomous)

Cette instructable est un Arduino base robotique voiture qui utilise Arduino, langage de programmation Arduino, pilote automobile, un écran LCD pour afficher l'état actuel de la voiture et même un module Bluetooth pour des communications sans fil dep
Contrôle de Cubase avec Arduino basé à MIDI

Contrôle de Cubase avec Arduino basé à MIDI

Un de mes amis voulait contrôler Cubase, son logiciel d'enregistrement audio, avec un bouton poussoir afin qu'il puisse arrêter et démarrer des enregistrements à distance sans avoir à passer à l'ordinateur et tapez sur le clavier. Vous pouvez être ca