Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Index du Forum



Besoin d'être guidé


 
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Questions
Sujet précédent :: Sujet suivant  
Auteur Message
FlyBoy37
Débutant

Hors ligne

Inscrit le: 26 Juin 2014
Messages: 6
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Ven 18 Juil - 16:16 (2014)    Sujet du message: Besoin d'être guidé Répondre en citant

PublicitéSupprimer les publicités ?
Bonjour


Je suis en train d'écrire un petit programme de régulation de température d'une serre, En gros, toutes les 10 mn, comparaison de la température ambiante par rapport a une consigne  et si la température dépasse la consigne, cela doit commander un moteur qui ouvrira/fermera une porte.
J'ai écris le début du programme de mesure de température(DS18B20), des mini/maxi, du module horloge(DS1307) et de l'affichage graphique(12864) .
Mais, je ne sais pas trop comment m'y prendre pour réaliser cette partie ;   le contrôle doit s'effectuer toutes les 10 mn et une seule fois pendant ces 10 mn. 


Je pensais aux interruptions, mais t-on déclencher une interruption de manière "logicielle" (rien trouvé sur ce point) ? (par exemple, a chaque changement de la valeur d'une variable ; ici une variable qui est la recopie des dizaines de minutes)


Comment feriez-vous ?


(Je suis sur une carte Mega 2560)

D'avance Merci.
Revenir en haut
FlyBoy37
Débutant

Hors ligne

Inscrit le: 26 Juin 2014
Messages: 6
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Dim 20 Juil - 14:23 (2014)    Sujet du message: Besoin d'être guidé Répondre en citant

Personne ne peut m'aider ?
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Dim 20 Juil - 15:05 (2014)    Sujet du message: Besoin d'être guidé Répondre en citant

Bonjour,
Pourquoi ne pas relever les minutes grâce au DS1307 et, toutes les 10 min, effectuer votre relevé ?
Par exemple:
- Premier relevé à 7h04 --> On fera la prochain à h + 10min --> 7h14
____________________________
http://simple-duino.com
Revenir en haut
abuche
Débutant

Hors ligne

Inscrit le: 25 Juil 2014
Messages: 17
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Dim 27 Juil - 07:27 (2014)    Sujet du message: Besoin d'être guidé Répondre en citant

 
Citation:
 Mais, je ne sais pas trop comment m'y prendre pour réaliser cette partie ;   le contrôle doit s'effectuer toutes les 10 mn et une seule fois pendant ces 10 mn.


Il faut intégrer les secondes pour déclencher 1 fois , le passage des 10 minutes .
Méga dispose de 4 ( 18,19,20,21 )+ 2 pattes interruption ( uno que 2 : 0,2 )
Revenir en haut
FlyBoy37
Débutant

Hors ligne

Inscrit le: 26 Juin 2014
Messages: 6
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Dim 27 Juil - 07:58 (2014)    Sujet du message: Besoin d'être guidé Répondre en citant

Bonjour,
abuche a écrit:
 
Citation:
 Mais, je ne sais pas trop comment m'y prendre pour réaliser cette partie ;   le contrôle doit s'effectuer toutes les 10 mn et une seule fois pendant ces 10 mn.




Il faut intégrer les secondes pour déclencher 1 fois , le passage des 10 minutes .
Méga dispose de 4 ( 18,19,20,21 )+ 2 pattes interruption ( uno que 2 : 0,2 )


Ok merci, je vais réfléchir a cette méthode.


Moi, je cherchais a faire en sorte que cette fonction soit réalisée qu'au changement de dizaines avec une interdiction de répéter cette fonction tant qu'un autre changement de dizaine n'intervienne.


Pas très simple pour moi, c'est mon premier programme...


Sinon, pour les interruptions ; OK pour les interruptions "Hardwares" sur pins ; mais visiblement impossible en arduino de  déclencher une interruption "Software" ; enfin je n'ai pas trouvé ; si cela est possible, je veux bien un exemple


Merci.
Revenir en haut
abuche
Débutant

Hors ligne

Inscrit le: 25 Juil 2014
Messages: 17
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Dim 27 Juil - 09:58 (2014)    Sujet du message: Besoin d'être guidé Répondre en citant

 
Code:

 void loop () {
    DateTime now = RTC.now();
    mois=now.month(), DEC;
    jour=now.day(), DEC;
    heure=now.hour(), DEC;
    minu=now.minute(), DEC;
    sec=now.second(), DEC;
    
    Serial.println(minu);
    
    if ((minu==0||minu==5||minu==10||minu==15||minu==20||minu==25) && sec<6) {
       Serial.println("....");
       //delay(3000);
    }
    



Voici un comptage de 5 en 5 dans une fenêtre de 6 secondes .
delay ajoute une tempo variable qui dépend de la suite du programme .
L'étape suivante est de créer une fonction qui ne dépendra pas de la suite du programme .

http://arduino.cc/en/Reference/FunctionDeclaration
Revenir en haut
FlyBoy37
Débutant

Hors ligne

Inscrit le: 26 Juin 2014
Messages: 6
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Dim 27 Juil - 10:39 (2014)    Sujet du message: Besoin d'être guidé Répondre en citant

Merci, je vais regarder ça
Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 09:20 (2017)    Sujet du message: Besoin d'être guidé

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Questions Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino