Aller au contenu


Photo
- - - - -

Robot en mecanno avec une tourelle

arduino meccanno capteur ultrason tourelle

  • Veuillez vous connecter pour répondre
7 réponses à ce sujet

#1 3721

3721

    Nouveau membre

  • Membres
  • 6 messages

Posté 14 mai 2018 - 12:06

Bonjour a tous,

il y a quelques temps je me suis inscrit sur le forum pour poser des question quand j'en aurais besoin.Depuis j'ai crée mon premier robot sur roue avec un chassie en meccano car il y avait deja des moteur adaptées et plusieurs engrenages et courroies.

 

Mon robot est maintenant terminé mais je suis passé par  plusieurs galère avant de le finir : il-n’avait pas suffisamment de couples, les courroies patinait, après il y avait trop de frottement avec les pièces d'origine :dash2: .... Mais j'ai quand même réussi a adapter sur les meccano l’Arduino ,la roulette, le capteur (avec quelques petits trous.)

je suis un débutant en programmation (j'ai suivie les cours du kit de base et sur le blog d'Eskimon)mais j'ai réussie a faire un programme simple ou le robot avance tant qu'il n'y a pas d'obstacle a moins de 30cm sinon il recule et tourne a gauche pendant X secondes.

Mais maintenant je veut faire tourner ma tourelle avec un moteur pas a pas que j'ai réussi a adapter mais je bloque sur certaines chose:

-faire tourner le moteur :facile

-mettre les valeur du capteur dans un tableau :facile

-comparer les valeur pour trouver la plus grande :pas facile mais je crois que j'ai trouver

-associer cette valeur a temps pour faire tourner le robot vers la valeur du capteur la plus grande :beaucoup chercher pas trouver (j'ai essayer avec un tableau a 2 dimension mais a chaque fois je bloque sur un truc).

 

voila le code :Fichier joint  voituremecanoV1.ino   2,18 Ko   7 téléchargement(s) désoler j'ai oublié de le commenter j'espère que vous le comprendrait ou je le reposterait .

 

et voici les photos:

20180513_121205.jpg

20180513_120954.jpg

20180513_121023 - Copie.jpg

20180513_121040.jpg

20180513_121108.jpg

 

 

merci d'avance pour vos réponses.

ps:désoler pour le fautes et poser vos questions si tout n'est pas clair.



#2 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 6 694 messages
  • Gender:Male
  • Location:Cholet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 14 mai 2018 - 08:31

Pourquoi faire un tableau en deux dimensions ? 

Pourquoi ne pas placer le capteur droit devant, mesurer en continu la présence éventuelle d'un obstacle, si obstacle on s'arrête, on bouge la tourelle à droite et à gauche, on regarde quelle valeur et la plus grande et on tourne du côté où la valeur est la plus grande ... Simple et efficace qu'en dis tu ?


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !

 

Les réalisations de Mike118  

 

 

 


#3 3721

3721

    Nouveau membre

  • Membres
  • 6 messages

Posté 15 mai 2018 - 04:02

Pourquoi faire un tableau en deux dimensions ? 

Pourquoi ne pas placer le capteur droit devant, mesurer en continu la présence éventuelle d'un obstacle, si obstacle on s'arrête, on bouge la tourelle à droite et à gauche, on regarde quelle valeur et la plus grande et on tourne du côté où la valeur est la plus grande ... Simple et efficace qu'en dis tu ?

 

Mouais c'est vrai mais autant faire tourner la tourelle a 360° non ? j'en ai la  possibilité.

 

Par contre pour le Tableau je voulais d'en coté récupérer les valeurs du capteur et de l'autre les assignées a un temps ou un angle que je change en temps. Pour après pendants mon calcul de la plus grande valeur prendre toute la ligne avec et la valeur du capteur et le "temps" pour après faire un genre de "turnLeft(monTableau[20][1]" avec dans le 20 la valeur la plus grande et dans le 1 le "temps".

je ne sais pas du tout si cela est possible et j’espère que tu as compris mon explication un peu farfelue.

 

-Une dernière question mon code pour retrouver la plus grande valeur est-il bon?

 

Merci de ta réponse et j'essayerai de vous tenir au courant si j'ai réussi ce que j'aimerai.



#4 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 6 694 messages
  • Gender:Male
  • Location:Cholet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 15 mai 2018 - 06:05

En fait il faut enregistrer la " position " de la mesure, c'est plus important que le temps ! 

 

Si dans ton tableau tu enregistre " distance, angle " 

une fonction telle que : 

int monTableau[NBMESURESMAX][2];

uint8_t indiceMax = 0;


for( uint8_t i = 0; i<NBMESURESMAX; i++) {



  if( monTableau[indiceMax][0] < monTableau[i][0] ) indiceMax = i ;

}



distanceMax = monTableau[indiceMax][0]; 

angleMax = monTableau[indiceMax][1];

c'est simple et efficace =)


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !

 

Les réalisations de Mike118  

 

 

 


#5 3721

3721

    Nouveau membre

  • Membres
  • 6 messages

Posté 15 mai 2018 - 07:28

super Merci pour tes réponse rapide Mike118 .

Je vais y réfléchir un petit peu mais c'est vraiment cool de ta par.

Par contre j'ai quatre nouvelle question: (je suis curieux).

-que veut dire:"uint8_t" ??? demande le Mega débutant que je suis

-donc dans mon setup j'enregistre avant tout les angle c'est sa?

-Ton morceau code veut dire que je n'utilise plus la fonction max?

-Et comment a tu fais pour insérer ton code dans la réponse ?

 

Merci encore pour les réponse et je pense tester toutes les modification ce weekend



#6 Jekert

Jekert

    Auteur

  • Modérateur
  • PipPip
  • 199 messages
  • Gender:Male

Posté 15 mai 2018 - 08:11

Salut,
Pour ta première question : http://www.robot-mak...variables-en-c/

#7 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 6 694 messages
  • Gender:Male
  • Location:Cholet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 15 mai 2018 - 09:39

 

 

-que veut dire:"uint8_t" ??? demande le Mega débutant que je suis

 

 

 

Il n'y a aucune honte à être débutant on est tous passé par là un moment ou un autre ;)

et pour cette première question Jekert t'a très bien répondu en pointant vers un tutoriel que j'ai rédigé exprès pour répondre à cette question ;)

 

Salut,
Pour ta première question : http://www.robot-mak...variables-en-c/

 

Mais si tu as plus de questions spécifique sur ce sujet hésite pas à les poser en commentaire du tutoriel ;) 

 

 

 

-donc dans mon setup j'enregistre avant tout les angle c'est sa?

 

 

J'ai pas compris ta question ... 

quels angles ? 

Après pour tout te dire je n'ai pas compris pourquoi tu voulais faire le tableau en deux dimensions qui stock les angles ... 
Car de base si tu prend 10 mesures sur 90° tu sais que le premier angle ça sera 0, le suivant, 10, le suivant 20 puis 30, 40 50 60 70 80 et 90° ... et ça sera toujours pareil donc pas besoin de stocker l'angle ...et dans ce cas l'angle i vaut 10* i ... avec i de 0 à 9 ...  

 

 

 

-Ton morceau code veut dire que je n'utilise plus la fonction max?

 

 

non mon morceau de code n'utilise pas la fonction max car mon but est de savoir lequel des deux est le plus grand pour travailler au niveau de l'indice ... Très utile quand tu as un tableau à plusieurs dimensions quand on ne veut pas stocker les max de chaque dimension à chaque étape de la vérification... Mais si tu avais un tableau de une dimension tu pourrais sans problème utiliser la fonction max... Bref c'était surtout pour montrer une autre façon de faire =)

 

 

 

-Et comment a tu fais pour insérer ton code dans la réponse ?

 

 

 

Pour ça je te recommande de lire ce tutoriel qui explique comment intégrer du contenu sur le forum

 

et je te recommande aussi de jeter un oeil sur vous êtes nouveau sur robot maker


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !

 

Les réalisations de Mike118  

 

 

 


#8 3721

3721

    Nouveau membre

  • Membres
  • 6 messages

Posté 17 mai 2018 - 04:22

Super merci Mike et Jekert
Je ferai des teste ce weekend et je revient vers le forum pour vous montrer mes avancer ou poser encore des questions





0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users