Show Posts
Pages: [1]
1  International / Français / Thermostat from scratch on: January 26, 2011, 05:32:02 pm
Bonjour,

Bonjour Taddot,

Ca y est j'ai compris le logiciel de logigramme que tu m'avais conseillé, j'ai donc réalisé un premier schéma, mais dans celui-ci, je ne sais pas comment implémenter le changement de la longueur de la plage éco lorsque j'appuie sur un bouton (le carré rouge.)

En même temps je ne détaille pas spécialement la programmation des horaires et je me doute que ca doit se faire dans ce coin... Bref je pèche un peu...

Question présentation (soyer indulgents, il s'agit de mon premier logigramme...)Est-ce qu'on a le droit de faire se croiser des flèche? Sinon comment on fait?

Est-ce que dans l'ensemble, c'est cohérent avec le dev sur Arduino, ou est-ce qu'il y a des choses dans le logigramme qui seront "impossible"/difficile à transcrire?



http://picasaweb.google.com/lh/photo/ehQvmhm2yKCY_eYL0CXbKQ?feat=directlink[/url]

Sinon, je commence ma programmation sur le soft Arduino en voulant pour l'instant juste retourner l'heure via le sérial monitor.
voila le début de code que j'ai :
Code:
// --- Programme Arduino ---
// programmation de thermostat

//

// --- Que fait ce programme ? ---
/* thermostat 3 états */

// --- Fonctionnalités utilisées ---


//**************** Entête déclarative *******
// A ce niveau sont déclarées les librairies incluses, les constantes, les variables...

// --- Inclusion des librairies utilisées ---

// --- Déclaration des constantes ---
//const int btabsappui=0;  // boutton absence appuyé
//const int btabsrelache=1; // boutton absence relaché
//const int heureappui=0; // boutton heure appuyé
//const int heurerelache=1; // boutton heure relaché
//const int minappui=0; // boutton minutes appuyé
//const int minrelache=1; // boutton min relaché
//const int internetappui=0; // boutton internet appuyé
//const int internetlache=1; // boutton internet relaché




// --- constantes des broches ---

const int BPH=1; // boutton heure
const int BPM=2; // boutton minute
const int BPA=3; // boutton absence
const int SONDE=5; // Sonde LM35
const int CHAUDIERE=4; // contact chaudière
int analogPin=5;// thermostat


// Déclaration des variables et constantes horloge
  int seconde = 0;
  int minute = 0; // Minutes de l'horloge
  int heure = 12;
  int jour = 0;
  int mois = 0 ;
  // Heures de l'horloge (avec inscription "19h" comme heure initiale)
     // Permet de remettre l'horloge à l'heure sur init à 19h00


// --- Déclaration des variables globales ---


// --- Déclaration des objets utiles pour les fonctionnalités utilisées ---

//**************** FONCTION SETUP = Code d'initialisation *****
// La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme

void setup()   {
 
  pinMode (BPH,INPUT);
  pinMode (BPM,INPUT);
  pinMode (BPA,INPUT);
  pinMode (SONDE,INPUT);
  pinMode (CHAUDIERE,OUTPUT); 

  // Initialise la liaison série
  Serial.begin(19200);
   delay(50);




} // fin de la fonction setup()
// ********************************************************************************

//*************** FONCTION LOOP = Boucle sans fin = coeur du programme *************
// la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension

void loop(){ // debut de la fonction loop()


// HORLOGE
    Serial.print ("mois/");
    Serial.println(mois);
    Serial.print ("jour" );
    Serial.println(jour);
    Serial.print ("heure ");
    Serial.println(heure);
    Serial.print ("minute: ");
    Serial.println(minute);
    Serial.print ("seconde");
    Serial.println(seconde);
    delay (1000);
   
 
  {(seconde) = seconde + 1};
   
    if (seconde >= 60) {minute= minute + 1 }; 
    seconde = 0}
   
    if (minute >= 60) {heure= heure + 1 }; 
    minute = 0}
   
    if (heure >= 24) {jour= jour + 1 }; 
    heure = 0}
   
 
   
 // programmes

} // fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin
// ********************************************************************************

//*************** Autres Fonctions du programme *************

// --- Fin programme ---
 


Le problème, c'est que sur la ligne 98, il me dit :
expected ';'before'}token

Qu'est-ce qu'il veut?
Moi j'aimerais juste qu'il m'incrémente d'une seconde quand il a attendu la fin du delay (1000);?
C'est pas comme ca qu'il faut faire?

Des idées?

Attention, ce n'est pas tres pratique, mais voila le début du topic....

http://arduino.cc/forum/index.php/topic,33725.0.html
2  Forum 2005-2010 (read only) / Français / Re: Thermostat from scratch on: January 21, 2011, 10:57:26 am
Merci pour ce retour taddot

Pour répondre à tes question:
Quote
Pour le mode "vacances", je gererais aussi le bouton "présence"
En fait je veux qu'en partant de chez moi je n'ai qu'a appuyer sur un bouton pour :
-Quand je m'en vais => Modifier le chauffage si besoin, éteindre toutes les lumières (avec un système DOMOCAN) et les périphériques qui ne sont pas indispensable à la maison.

-Quand je reviens => mettre le chauffage dans le bon mode si ce n'est pas le cas.

Le bouton vacances, ne sera physiquement pas au même endroit, donc on pourra lui donner d'autre attributions
en fait ce qu'il faut c'est pour suivre ton idée, avroi non pas 2, mais 3 mode de base, que tu modifie en fonction d'un certain nombre de paramètres. Je pars dans ce sens...


Je vais jouer avec ton logiciel. Dans ta démarche, tu pars de tes inputs pour arriver au résultat, ou tu pars du résultat pour arriver aux inputs?

Merci par avance
3  Forum 2005-2010 (read only) / Français / Re: Thermostat from scratch on: January 20, 2011, 10:51:16 am
Merci pour vos retours,
Donc j'ai fais comme vous avez dit, j'ai mis la partie web complètement de coté pour l'instant, avec un schéma fonctionnel de base pour me structurer l'esprit.
La ou je ne sais pas encore trop comment je vais gérer c'est pour la modification de la plage depuis internet, mais je vais fouiller, je trouverais bien!
Est-ce que sur le principe :


Vous parait cohérent?
4  Forum 2005-2010 (read only) / Français / Thermostat from scratch on: January 20, 2011, 05:08:13 am
Bonjour à tous,
Voila je suis ni informaticien, ni électronicien, en fait je sais tout juste faire quelques lignes de HTML.
Mais, un peu comme tout le monde, j'aimerais développer mon code pour un thermostat.
Mon père m'a offert pour mon anniversaire un atmega1280 avec un LCD 128x64.
J'ai une partie du hardware suffisante pour commencer.
Maintenant que j'épluche le forum (d'ailleurs pas pratique du tout je ne sais pas ce que vous en pensez, vivement la prochaine version) depuis 2 jours, j'ai envie de commencer mon propre projet.

J'espère que vous êtes un tout petit peu plus expérimenté que moi, et que vous aurez des conseils à me donner....
Dans l'ordre, j'aimerais donc commencer par faire un "schéma fonctionnel du thermostat" qui regroupe les différentes actions pour avoir une idée précise de ce que je veux faire.

Je me suis laissé dire que cette étape était très importante pour avoir un code simple et clair vous confirmez??

Une fois que cette partie est faite, on passe au dev pure, on débug les 2, 3 bricoles qui déconnent et hop on est les rois du pétrole avec un truc sur mesure !!! ( euh... vous confirmez toujours?.. )

Alors maintenant je peux vous parler de mon idée!! Je viens d'acheter une maison. Je souhaite mettre en place un thermostat standard avec 2 modes de chauffage base:
-Normale : avec des heures éco et des heures confort
-Vacances-hors-gel
(Jusque la vous me direz rien d'impossible, avec 15€ chez Cas**ra*a on peut le faire.)

Mais voila, je veux pouvoir ajouter un mode absence/présence, un bouton poussoir qui ferait: absence/présence en boucle.
=> ce bouton permettrait de forcer le mode présence ou absence (ca je pense que ce n'est pas trop dur non plus)

Ensuite, je sais que certains soir je suis plus susceptible de sortir que d'autres, mais ce n'est pas forcément prévu à l'avance donc mon agenda m'envoie un rappel sur mon téléphone avec une URL cliquable ou un bout de code HTML avec un interrupteur du genre: "je serais la ce soir continue ton programme normalement", ou "ce soir je serais absent au moins jusque 22h" - > mode eco jusque 21h30.

Il faut aussi que je puisse passer en mode "ce soir je serais absent au moins jusque 22h"  avec cette url à n'importe quel moment (bah oui sait on jamais, on est jamais à l'abris du "on boit juste un verre ok")

L'idée vous parait pertinente?

A partir du moment ou l'on a les modes : normal/ vacances, j'envisage peut être de mettre une électrovanne par pièce mais c'est matériellement plus lourd donc je verrais cette étape plus tard (est-ce que du coup au niveau du dev il y a quelque chose à penser de ce coté la pour ne pas être trop embêté plus tard?

Voila c'est tout pour le moment, j'attends vos avis, je me penche sur le schéma fonctionnel ( en attendant que quelqu'un me dise que c'est une connerie ou pas, et ensuite je vous le montre).

Bonne journée à tous.

J'imagine que des choses similaires on déjà étés faites. Mais je n'ai pas trouvé de topic qui parte de la base sur ce modèle.
L'intérêt de celui-ci c'est que je pense parler de l'ensemble du projet... de A à Z
Pages: [1]