Loafers Slippers Eithy Women Shoes Pointy For 5 Size 10 Dot 5 Mules White 5 Toe Black Slip Red Backless Polka On Wx11Zngr Loafers Slippers Eithy Women Shoes Pointy For 5 Size 10 Dot 5 Mules White 5 Toe Black Slip Red Backless Polka On Wx11Zngr Loafers Slippers Eithy Women Shoes Pointy For 5 Size 10 Dot 5 Mules White 5 Toe Black Slip Red Backless Polka On Wx11Zngr Loafers Slippers Eithy Women Shoes Pointy For 5 Size 10 Dot 5 Mules White 5 Toe Black Slip Red Backless Polka On Wx11Zngr Loafers Slippers Eithy Women Shoes Pointy For 5 Size 10 Dot 5 Mules White 5 Toe Black Slip Red Backless Polka On Wx11Zngr Loafers Slippers Eithy Women Shoes Pointy For 5 Size 10 Dot 5 Mules White 5 Toe Black Slip Red Backless Polka On Wx11Zngr

Topic: Plusieurs sous-programme Arduino (Read 4374 times) previous topic - next topic

leo3620

Bonjour, j'ai fais plusieurs recherches mais je n'ai pas reussi a comprendre grand chose sur les sous-programmes en faite ce je voudrais c'est que dans ma void loop, en fonction de ce que le bluetooth envoie comme information( avec appinventor mais ca ce n'est pas le problème), arduino execute un programme différent. Donc en faite ce que je ne sais pas comment faire c'est l'histoire des sous programmes différents.

On Eithy 5 Slippers Mules Polka Backless Pointy Slip Size 10 Red 5 5 Dot Toe Women Black White Shoes For Loafers
Bonjour,

Place chaque morceau de code dans une condition, une if() par exemple. Ensuite envoie une valeur depuis AppInventor et teste la dans chaque if().

Ca donnerai quelque chose comme ça:
Code:

valeur = receptionBLE();

if( valeur == 1)
{
//sous programme 1
}

if( valeur == 2)
{
//sous programme 2
}

5 Women Size Mules 10 Dot 5 Slip Polka Pointy Black Backless 5 On White For Loafers Red Shoes Eithy Slippers Toe
if( valeur == 3)
Women On Size Toe Mules Shoes 5 Polka For 5 Loafers 10 5 Slippers Black Backless Pointy Eithy Red Slip White Dot
{
//sous programme 3
}

if( valeur == 4)
{
//sous programme 4
Dot 10 Shoes Black Pointy Loafers Red 5 Women For Backless On Polka 5 Slip Mules Size White Toe Eithy Slippers 5
}

Oui mais en faite je ne sais pas comment faire de sous programme en gros j'ai tous mes programmes arduino de fait et je voudrais en faire un autre avec tous ces if qui redirige vers le bon programme ou aller


fdufnews

#4
Mar 18, 2017, 03:52 pm Last Edit: Mar 18, 2017, 03:54 pm by fdufnews
On évite de coller tous les programme dans des if parce qu'on se retrouve avec une unsine à gaz illisible.
On fait des fonctions.

Code:
void loop(){
    if condition {
Red Slippers White Mules 5 Eithy Slip On For Pointy Toe Black 5 Dot Backless Loafers Shoes 5 Polka Women Size 10
         program1();
    }
    if condition {
         program2();
    }
    if condition {
         program3();
    }
}

void program1(){
     le code du programme1;
}

void program2(){
     le code du programme2;
}

void program3(){
     le code du programme3;
}

Le programme va etre très long dans ce cas et je vais avoir des void dans des void donc c'est moyen, y'a vraiment pas une solution pour allée chercher le programme dans un autre ficher ??

#6
Mar 18, 2017, 06:36 pm Last Edit: Mar 18, 2017, 06:36 pm by Jambe
N'oublie pas que c'est avec un arduino que tu code, la mémoire ne fait que quelques ko

3Sigma

Bonjour,

Le programme va etre très long dans ce cas et je vais avoir des void dans des void donc c'est moyen, y'a vraiment pas une solution pour allée chercher le programme dans un autre ficher ??
Dans le répertoire qui contient ton fichier .ino principal, tu peux mettre d'autres fichiers qui vont contenir le code de tes sous-programmes.
Par exemple: https://github.com/pololu/minimu-9-ahrs-arduino/tree/master/MinIMU9AHRS

Je prefererais cette solution c'est sur mais faudrais me guider un peu parce que la dans les exemples je comprend pas trop ..

#9
Mar 18, 2017, 09:45 pm Last Edit: Mar 18, 2017, 09:47 pm by hazerty565
moi j'aurais fait un truc du genre

Code:
void sousprogramme ( int valeur) // mettre en parametre la valeur reçu
if( valeur == 1)
{
//faire quelque chose 1
}

if( valeur == 2)
{
//faire quelque chose 2
}

if( valeur == 3)
{
//faire quelque chose  3
}

if( valeur == x)
Dot Slip Mules On Slippers Toe Women Shoes Eithy White Polka Loafers 5 Red 5 10 Size Black For Pointy 5 Backless
{
//faire quelque chose x
}

et dans ton programme principal suffit de faire
valeur = receptionBLE();
sousprogramme(valeur)

Pointy 10 Size 5 Toe Slippers 5 Black White Women Loafers On Mules Backless Polka 5 Red Shoes Eithy Dot For Slip 68tjs

#10
Mar 19, 2017, 10:48 pm Last Edit: Mar 19, 2017, 10:48 pm by 68tjs
Je prefererais cette solution c'est sur mais faudrais me guider un peu parce que la dans les exemples je comprend pas trop ..
Il y a un moyen simple : passer 2 ou 3 heures avec un tuto basique de C (ou C++).
Un tuto de C est suffisant pour commencer.
Parce que les microcontrôleurs qui équipent les cartes arduino se programment en C (ou C++).
Ce que certains appellent  à tort "le langage arduino" n'est en réalité que des fonctions ou des classes écrites en C ou C++.

Brûler les étapes sans vouloir apprendre les bases c'est aller droit dans le mur.
Ce que tu veux faire c'est du basique de chez basique : écrire une fonction !

Setup() et loop() sont chacun une fonction, il n'y a rien de magique ou d'extraordinaire.

Bonjour, je n'ai jamais dit que je voulais savoir comment faire des fonctions mais bien des sous programmes, par exemple de mon programme je vais chercher le loop() d'un autre sous programme

kamill

Bonjour
Quelle différence tu fais entre fonction et sous programme?

Une Arduino ne fait pas dans la "gestion documentaire" tu ne peux pas charger plusieurs "croquis" dedans et choisir celui qui te plait.

Red Women Toe Dot Size On Backless 10 5 Slippers Loafers Slip Mules Black Eithy White 5 Polka 5 Pointy Shoes For
Par contre tu peux combiner comme proposer tes "sous-programme" avec des if() et écrire des fonctions pour gagner en lisibilité.

+1 pour le tuto en C ou C++, j'en reviens tout juste après avoir lâché l'arduino car je ne comprenais rien, et j'en reviens bien plus logique et structuré, et surtout, tout ce charabia de fonction, de librairie et cetera me paraît désormais beaucoup plus abordable, plus compréhensible. C'est une excellente voie je pense, car coder pour Arduino, c'est faire du simili C. Si tu sais coder en C, tu sauras coder pour Arduino, pas l'inverse.
Si tu es un peu insomniaque, les tutos d'openclassroom (qui valent ce qu'ils valent) sont faisables en moins d'une semaine.