Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Forum Index



Question générale structure programme


 
Post new topic   Reply to topic    Simple-Duino Forum Index -> Arduino & Électronique -> Questions
Previous topic :: Next topic  
Author Message
brunohe
Débutant

Offline

Joined: 11 Aug 2013
Posts: 5
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Sun 11 Aug - 10:02 (2013)    Post subject: Question générale structure programme Reply with quote

PublicitéSupprimer les publicités ?
Bonjour à tous, 
Avant de débuter dans le monde arduino, je me pose une question sur la structure du programme et de la scrutation;
Puis je gérer plusieurs applications dans un seul arduino:je crois que l'on ne peut écrire qu'une seule loop , mais peut on écrire plusieurs sous programmes dans cette loop , chaque sous programme gérant une application ?
Comment gérer alors cela pour que tout soit scruté ?
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Sun 11 Aug - 10:42 (2013)    Post subject: Question générale structure programme Reply with quote

alors en faite, un programme arduino contient ce minimum ci :
void setup(){
}
void loop(){
}


dans ce void loop tu pourrais faire ceci :
void loop(){

monSousProgramme(); //Tu dis à l'arduino d'éxécuter le sous programme monSousProgramme
}
void monSousProgramme(){
//Ici tu écris le sous programme que tu veux que l'arduino exécute
}


je ne vois pas trop ce que tu veux dire par "scruté" mais j'attends tes détails


petit plus : en langage arduino il y a la void setup qui s'éxécute une seule fois au début du programme et la void loop qui s'éxécute en boucle, à toi de choisir.
Les définitions de tes sous programme doivent se faire après la void loop car c'est plus clair et ça bug pas.
Tu peux appeler tes sous Programmes dans la void setup ou loop à toi de choisir si tu veux qu'ils se répètent ou pas.


Si t'as des questions, n'hésites pas
____________________________
http://simple-duino.com
Back to top
brunohe
Débutant

Offline

Joined: 11 Aug 2013
Posts: 5
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Sun 11 Aug - 11:01 (2013)    Post subject: Question générale structure programme Reply with quote

Merci pour cette réponse rapide ... en fait, si l'arduino est dans un sous programme et qu'il scrute une boucle avec une tempo (pause), peut il scruter en même temps un autre sous programme pour gérer une autre application ? .... je sais pas si je suis bien clair. je viens du monde des automates industriels et la structure programme n'est pas similaire ...
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Sun 11 Aug - 12:59 (2013)    Post subject: Question générale structure programme Reply with quote

mhh je crois comprendre. Tu veux pouvoir executer un programme pendant qu'un autre fais une pause de 2 secondes par exemples. Ci c'est ceci, ce n'est pas possible à ce que je connais car l'arduino execute tache après tache mais après il faut voir ce que tu voudrais faire car le problème peut être régler je pense en le contournant.
____________________________
http://simple-duino.com
Back to top
brunohe
Débutant

Offline

Joined: 11 Aug 2013
Posts: 5
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Mon 12 Aug - 19:12 (2013)    Post subject: Question générale structure programme Reply with quote

oui, c'est ça : imaginons que je veuille allumer un voyant pendant 10 mn en utilisant la fonction tempo ; si pendant cette tempo, j'appuie su un bouton poussoir qui demande le démarrage d'un actionneur ... c'est la que je ne vois pas trop comment écrire ça; en langage automate, pas de pb, mais en langage informatique, je vois moins; il y a surement une solution, peut etre en gérant les tempo autrement ? 
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Mon 12 Aug - 19:57 (2013)    Post subject: Question générale structure programme Reply with quote

mhh en combinant plusieurs esprits on devrait trouver je pense faudrais demander à arnaud, tu peux lui envoyer un MP si tu veux


EDIT :
Son pseudo c'est arnaud39
____________________________
http://simple-duino.com
Back to top
brunohe
Débutant

Offline

Joined: 11 Aug 2013
Posts: 5
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Tue 13 Aug - 13:43 (2013)    Post subject: Question générale structure programme Reply with quote

Après recherches, j'ai trouvé la solution (http://arduino.cc/en/Tutorial/BlinkWithoutDelay) : même si c'est pas très simple, je crois qu'il n'y a pas le choix; l'utilisation de la fonction delay serait donc à proscrire ....
Back to top
arnaud39
Débutant

Offline

Joined: 01 Apr 2013
Posts: 378
Masculin
Niveau d'éléctronique: Dieu vivant

PostPosted: Tue 13 Aug - 22:30 (2013)    Post subject: Question générale structure programme Reply with quote

Avant de savoir si cela est possible, projetons nous dans l'univers purement théorique. Toutes les cartes Arduino sont dotés d'un core physique qui représente un core virtuelle lors de la programmation. Or, un core physique ne peut exécuter qu'une action a la fois, il y a alors une sorte de file d'attente pour que toutes les actions soient exécutés. Un processeur a 2 core pourra donc faire 2 choses en même temps, a la même vitesse q´un processeur a un seule même cœur.
Après Intel propose une technologie appelé hypertheatring permettant de diviser un cœur physique en 2 cœur virtuel.
Mais revenons a notre carte Arduino : il n'est pas possible d'exécuter 2 actions exactement en même temps, mais en légèrement décalé oui. Après c'est une question que je me suis souvent posé en programmant en C et C++ et je n'y ai pas encore trouve de réponse ...
Je vais voire ton lien il m'intéresse beaucoup Wink
____________________________
Ancien admin du forum, co-fondateur tutoarduino.com
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Wed 14 Aug - 09:31 (2013)    Post subject: Question générale structure programme Reply with quote

brunohe wrote:
Après recherches, j'ai trouvé la solution (http://arduino.cc/en/Tutorial/BlinkWithoutDelay) : même si c'est pas très simple, je crois qu'il n'y a pas le choix; l'utilisation de la fonction delay serait donc à proscrire ....




La fonction millis uniquement te permet de savoir depuis combien de temps à débuter ton programme (en gros) alors à mon avis tu peux jouer de ce coté en utilisant comme delay et tu pourrais placer une action à 499 ms et une autre à 500ms (on va pas chipoter pour 1ms sinon j'ai une idée pour le delay mais dur expliquer et je sais pas si ça marche. Je te mettrai le code de mon idée tu verras
____________________________
http://simple-duino.com
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Simple-Duino Forum Index -> Arduino & Électronique -> Questions All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  

Index | Xooit.com free forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino