Aller au contenu


Photo
- - - - -

besoin d'aide programmation arduino


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

#21 Turboseb77

Turboseb77

    Nouveau membre

  • Membres
  • 10 messages

Posté 13 septembre 2018 - 06:22

ça fonctionne sur une plage : ok dans ce cas c'est parfait :)

 

par contre j'ai mis mes régimes moteur par ordre croissant en partant du haut, le plus logique pour moi, donc je doit modifier quoi?

 

------------------------------------------------------------------------------------

 

 if ( delaisInterChange < 60000002 ) // 1000trs
    return 1666 ;
    else if ( delaisInterChange < 30000001 ) // 2000trs
    return 833 ;
    else if ( delaisInterChange < 20000000 ) // 3000trs
    return 555 ;
    else if ( delaisInterChange < 15000000 ) // 4000trs
    return 416 ;

------------------------------------------------------------------------------------



#22 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 7 190 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é 13 septembre 2018 - 07:59

ça fonctionne sur une plage : ok dans ce cas c'est parfait :)

 

par contre j'ai mis mes régimes moteur par ordre croissant en partant du haut, le plus logique pour moi, donc je doit modifier quoi?

 

------------------------------------------------------------------------------------

 

  if ( delaisInterChange > 60000002 ) // 1000trs
    return 1666 ;
  else if ( delaisInterChange > 30000001 ) // 2000trs
    return 833 ;

  else if ( delaisInterChange > 20000000 ) // 3000trs
    return 555 ;
  else if ( delaisInterChange >15000000 ) // 4000trs
    return 416 ;

  else 

    return xxxx;

------------------------------------------------------------------------------------

 

Je t'ai modifié les lignes au dessus par contre attention , 

 

le cas 1 c'est compris entre 0 et 1000 trs,  => 1666

le cas 2 sera entre 1000 et 2000 ... => 833
le cas 3 sera entre 2000 et 3000 => 555

le cas 4 sera entre 3000 et 4000 => 416

 

il faut rajouter une valeur pour les cas au dessus de 4000 trs dans le else XXXX =) 

J'avais oublié de le préciser .


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  

 

 

 


#23 Turboseb77

Turboseb77

    Nouveau membre

  • Membres
  • 10 messages

Posté 14 septembre 2018 - 10:27

donc tu à modifié le code et remplacé "<" par ">", ok je vais changer cela

 

pour les valeurs au dessus de 4000 trs en fait j'ai juste posté les 4 premières ligne, mais je vais jusqu'a 19000trs

et je vais peut être modfier encore pour faire une plage par palier de 500trs dans la zone utilisable du moteur, de 9000 à 14000trs

 

:thank_you:



#24 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 7 190 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 septembre 2018 - 12:41

Bon pour rappel ce code n'est valable que pendant 71 minutes et 35 seconds après l'allumage de l'arduino... 

Après il va y avoir un overflow de la fonction micros() ... 
Cet overflow n'est pas encore gérer dans le code actuel ... 
Mais il faut déjà s'assurer que le code actuel fonctionne bien comme tu le souhaite pendant ces 71 minutes ... avant de le complexifier un peu pour gérer le cas de l'overflow. 

Visiblement tu as oscillo et tout ce qu'il faut pour tester donc tien nous au courant ;)  Je suis curieux de voir si je me suis trompé quelque part dans ce que je t'ai proposé ou pas =).


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  

 

 

 


#25 Forthman

Forthman

    Membre passionné

  • Membres
  • PipPipPip
  • 558 messages
  • Gender:Not Telling
  • Location:Montauban (82)

Posté 15 septembre 2018 - 08:29

Mike, je viens de jeter un oeil à ton code, et un truc m'embête...

Ton programme attend un changement d'état de l'entrée  pour activer le calcul, le décalage temporisé, et la durée de la sortie.

Si l'entrée est reliée à la bobine, alors le signal est aussi une impulsion, et du coup il faudrait détecter un front montant et pas un changement d'état.

 

Enfin je crois :unsure: (car je ne sais que lire sommairement du C)

à voir aussi avec TurboSeb77 (j'ai jamais joué avec une mob de compet :Koshechka_08:)



#26 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 7 190 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 septembre 2018 - 08:58

Je pense que tu as bien compris le code que j'ai fais =)

Par contre moi j'ai peut être mal interpréter ce que turboseb a dit ... 

Il me semble qu'il transforme un signal sinusoidale en signal carré et pas en impulsions ...  et que la fréquence des changements d'état sur ce signal carré permet de générer les deux pulses dont il a besoin.

Le code permet justement de transformer un changement d'état du signal en pulse de longueur fixe avec un délais variable... 



 


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  

 

 

 





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

0 members, 0 guests, 0 anonymous users