Wahou, tu m'a fait mal au crâne avec ton *(tb+(k*(*lg))+i+1)
Je comprends que tu parcours ton tableau à 2 dimensions mais pas la suite.
Posté 27 mai 2017 - 02:09
Wahou, tu m'a fait mal au crâne avec ton *(tb+(k*(*lg))+i+1)
Je comprends que tu parcours ton tableau à 2 dimensions mais pas la suite.
Posté 27 mai 2017 - 03:53
Moi aussi ! J'y travaille sans relâche. Déjà ce programme m'a pris un moment.j'ai hâte d'en voir encore un peu plus ^^
*(tb+(k*(*lg))+i+1)Je comprends que tu parcours ton tableau à 2 dimensions mais pas la suite.
Ma chaine YouTube : https://www.youtube..../oracid1/videos
Posté 27 mai 2017 - 05:18
Posté 27 mai 2017 - 06:12
Et bien, oui, dans une version antérieur sans pointeur, c'est ce que je faisais.Et la notation Tb[ ][ ], ça le fait pas ?
Ma chaine YouTube : https://www.youtube..../oracid1/videos
Posté 27 mai 2017 - 07:41
Je pense à un truc du genre. En fait ça me paraît simple. Et du coup, je sais pas si je suis dedans.
for( int indexColonne=0; indexColonne < 13; indexColonne++){ for( int indexServo = 0; indexServo < 4; indexServo++){ mySrv[indexServo].write(Tablo[indexServo][indexColonne]); } }
Tu mets des #define pour le 4 et le 13.
Tu peux expliquer ce que tu n'arrive pas à faire ?
Posté 27 mai 2017 - 08:13
Oui, je comprends bien ce que tu fais.Tu peux expliquer ce que tu n'arrive pas à faire ?
Ma chaine YouTube : https://www.youtube..../oracid1/videos
Posté 27 mai 2017 - 08:16
Tablo est un **int. C'est un pointeur, tu peux l'utiliser en paramètre de ta fonction, si vraiment tu veux faire cette fonction. Sinon, tu peux encore simplifier en parcourant ton tableau à 2 dimensions directement dans la fonction loop.
Modifié par Path, 27 mai 2017 - 10:14 .
J'ai dit des conneries, voir plus bas.
Posté 27 mai 2017 - 08:21
Je ne suis pas sûr de comprendre.Tablo est un **int. C'est un pointeur.
Ma chaine YouTube : https://www.youtube..../oracid1/videos
Posté 27 mai 2017 - 08:24
Posté 27 mai 2017 - 08:42
Moi aussi c'est loin ^^
Tu peux faire ça :
Tablo est un tableau à 2 dimensions initialisé.
pTablo est un pointeur vers un tableau à 2 dimensions pas initialisé.
int Tablo[4][14]; int **pTablo; pTablo = Tablo;
En ce sens, Tablo est bien un pointeur, même s'il se cache
[Edit] En fait non, tu peux pas sur arduino Je viens de vérifier. Je reviens.
Modifié par Path, 27 mai 2017 - 10:00 .
J'ai dit des conneries
Posté 27 mai 2017 - 10:06
ça, c'est mieux, sur arduino.
int Tablo[4][13]={{90,100,110,120,110,100,90,80,70,60,70,80,90}, // Indiquez ici les valeurs des angles {120,110,100,90,80,70,60,70,80,90,100,110,120}, // que vos servos doivent parcourir. {90,80,70,60,70,80,90,100,110,120,110,100,90}, // Le nombre de lignes de données doit être égal au nombre de servos. {60,70,80,90,100,110,120,110,100,90,80,70,60}}; // La longueur des lignes doit être égale au nombre de valeurs et doit être constante. void setup() { } void loop() { maFonction(Tablo); } void maFonction(int pTablo[4][13]) { for( int indexColonne=0; indexColonne < 13; indexColonne++){ for( int indexServo = 0; indexServo < 4; indexServo++){ Serial.print(pTablo[indexServo][indexColonne]); } } }
Donc, tu peux pas sur un tableau à 2 dimensions.
Mais ça fonctionne avec un tableau à 1 dimensions :
int Tab[10]={5,8,4,3,9,6,5,4,3,8}; int *pTab; void setup() { pTab = Tab; } void loop() { for( int indexColonne=0; indexColonne < 10; indexColonne++){ Serial.print(pTab[indexColonne]); } maFonction(Tab); } void maFonction(int *paramPTab) { for( int indexColonne=0; indexColonne < 10; indexColonne++){ Serial.print(paramPTab[indexColonne]); } }
C'est particulier arduino
Posté 28 mai 2017 - 06:28
Ma chaine YouTube : https://www.youtube..../oracid1/videos
Posté 28 mai 2017 - 08:41
J'ai installé ma caméra et j'ai filmé mon pc (si vous avez un logiciel à me proposer, je suis preneur). Avec mon logiciel vidéo, j'ai sélectionné une image par seconde. Le résultat, c'est une suite de 10 images qui se répètent.
Salut Oracid,
Comme soft pour faire cela j'utilise Screen Recorder 1.3
Si quelqu'un a mieux je suis preneur également (j'ai quand même galéré pour avoir un volume audio satsifaisant mais ça fait le boulot...)
@+
zav
Posté 28 mai 2017 - 09:55
Posté 28 mai 2017 - 12:46
Tenter car sur arduino, le langage n'est pas toujours naturel.
c'est pas faux ^^
J' avais essayé de faire du code un peu propre pour mon premier test de pilotage moteur avec fonctions et utilisation des pointeurs (pour parser des trames) et ça c'est fini avec une syntaxe plus basique...
mais du coup ça marche ^^
du coup je ferais du refactoring quand le robot sera monté... histoire d'y voir plus clair, par ce que là, mon code, je l'assume pas
Posté 28 mai 2017 - 01:03
Je parlais d'un exemple en mode pointeur. C'était bien le sujet, non ?Je faisais que tenter de rèpondre à ta question:
"Si tu as un exemple simple, ça m'intéresse."
Tenter car sur arduino, le langage n'est pas toujours naturel.
Après tu fais bien comme tu veux.
Super ! Merci. Je vais voir ça.Salut Oracid,
Comme soft pour faire cela j'utilise Screen Recorder 1.3
Si quelqu'un a mieux je suis preneur également (j'ai quand même galéré pour avoir un volume audio satsifaisant mais ça fait le boulot...)
@+
zav
Ma chaine YouTube : https://www.youtube..../oracid1/videos
Posté 05 juin 2017 - 06:44
Ma chaine YouTube : https://www.youtube..../oracid1/videos
0 members, 0 guests, 0 anonymous users