Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Index du Forum



Question générale structure programme


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

Hors ligne

Inscrit le: 11 Aoû 2013
Messages: 5
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Dim 11 Aoû - 10:02 (2013)    Sujet du message: Question générale structure programme Répondre en citant

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é ?
Revenir en haut
Admin
Fondateur

Hors ligne

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

MessagePosté le: Dim 11 Aoû - 10:42 (2013)    Sujet du message: Question générale structure programme Répondre en citant

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
Revenir en haut
brunohe
Débutant

Hors ligne

Inscrit le: 11 Aoû 2013
Messages: 5
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Dim 11 Aoû - 11:01 (2013)    Sujet du message: Question générale structure programme Répondre en citant

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 ...
Revenir en haut
Admin
Fondateur

Hors ligne

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

MessagePosté le: Dim 11 Aoû - 12:59 (2013)    Sujet du message: Question générale structure programme Répondre en citant

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
Revenir en haut
brunohe
Débutant

Hors ligne

Inscrit le: 11 Aoû 2013
Messages: 5
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Lun 12 Aoû - 19:12 (2013)    Sujet du message: Question générale structure programme Répondre en citant

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 ? 
Revenir en haut
Admin
Fondateur

Hors ligne

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

MessagePosté le: Lun 12 Aoû - 19:57 (2013)    Sujet du message: Question générale structure programme Répondre en citant

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
Revenir en haut
brunohe
Débutant

Hors ligne

Inscrit le: 11 Aoû 2013
Messages: 5
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Mar 13 Aoû - 13:43 (2013)    Sujet du message: Question générale structure programme Répondre en citant

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 ....
Revenir en haut
arnaud39
Débutant

Hors ligne

Inscrit le: 01 Avr 2013
Messages: 378
Masculin
Niveau d'éléctronique: Dieu vivant

MessagePosté le: Mar 13 Aoû - 22:30 (2013)    Sujet du message: Question générale structure programme Répondre en citant

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
Revenir en haut
Admin
Fondateur

Hors ligne

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

MessagePosté le: Mer 14 Aoû - 09:31 (2013)    Sujet du message: Question générale structure programme Répondre en citant

brunohe a écrit:
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
Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 23:39 (2017)    Sujet du message: Question générale structure programme

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