Aller au contenu


Telson

Inscrit(e) (le) 05 juil. 2011
Déconnecté Dernière activité févr. 02 2022 05:08
-----

Sujets que j'ai initiés

openservo ou commande CC + potar + encodeur

01 mars 2017 - 06:19

Est ce que quelqu'un connais ce genre de produit :

 

https://openservo.org/

 

Je me pose la question de savoir si il existe un moyen de trouver/créer une carte électronique pour piloter un moteur cc avec potentiomètre + encodeur....

 

La partie démultiplication serait maison et en fonction des besoins de couple/vitesse....

 

++

 

 


Simulateur Arduino :: Autodesk Circuits.io

22 janvier 2017 - 12:19

bonjour tout le monde,

Alors voilà vous connaissez certainement le simulateur pour Arduino Autodesk Circuits.io ::

https://circuits.io/

Existe t'il d'autres simulateur plus performant?

Je n'ai pas besoin d'entrées, je simule les sorties par un affichage.

ce qui m'intéresse c'est de faire tourner mon programme et de récupérer via un serial.print des données.....

Merci par avance...

++

Matrice changement de repère ou matrice de translation

13 janvier 2017 - 10:39

Hello les makers,

 

Alors je vais certainement en faire sourire plus d'un mais compte tenu que ma mémoire me fait défaut et que mon niveau en math actuellement ne me permets plus de comprendre les hiéroglyphes que l'ont trouve sur de nombreux tutoriels je vous pose directement la question suivante :

 

Comment déterminer la matrice de changement de repère ou de la matrice de translation  pour l'exemple suivant :

 

Dans mon repère d'origine ayant pour centre O(0,0,0), j'ai deux points :

 

- A (3,2,1)

- B (6,6,5)

 

J'aimerai trouver la matrice me permettant de trouver les coordonnées de B (6,6,5) dans le repère de centre A.....

 

 

Fichier joint  changement repere.png   17,77 Ko   66 téléchargement(s)

 

Si quelqu'un pouvait me rafraichir la mémoire ça serait super sympas....

 

Merci


initialiser tableau avec des variables.

03 janvier 2017 - 09:54

Hello tout le monde,
 
je suis un peu honteux de vous poser cette question mais je tourne en rond sur un sujet bien étrange.
 
J'essaie (désespérément) d’initialiser un tableau avec des variables, ainsi :
 
//Variables globale

float X_cuisse_D = 10.7;
float Z_cuisse_D = 20.3;

//tableau globale, accessible dans toutes les procédures
float montableau[2]={0,0};

void setup()
{
Serial.begin(9600);
montableau[2]={X_cuisse_D,Z_cuisse_D}; //et bien là c'est pas BON !!
//test(montableau);


}

void loop()
{

 
}


le message d'erreur retourné est :
 
H:\arduino\PROGRAMMES\ini_tab\ini_tab.ino: In function 'void setup()':

ini_tab:13: error: cannot convert '<brace-enclosed initializer list>' to 'float' in assignment

 montableau[2]={X_cuisse_D,Z_cuisse_D};

              ^

exit status 1
cannot convert '<brace-enclosed initializer list>' to 'float' in assignment
Qu'est ce que j'oublie punaise !!???

Help structure

14 octobre 2016 - 10:43

Hello les makers.

 

J'aurais besoin d'un peu d'aide sur une structure que voici :

 

class Sweeper
{
  Servo servo;              // the servo
  int pos;              // current servo position
  int increment;        // increment to move for each interval
  int  updateInterval;      // interval between updates
  unsigned long lastUpdate; // last update of position
 
public:
  Sweeper(int interval)
  {
    
    updateInterval = interval;
    increment = 1;
  }
 
  void Attach(int pin)
  {
    servo.attach(pin);
  }
 
  void Detach()
  {
    servo.detach();
  }
 
  void Update(unsigned long currentMillis)
  {
    if((currentMillis - lastUpdate) > updateInterval)  // time to update
    {
      lastUpdate = millis();
      pos += increment;
      servo.write(pos);
      if ((pos >= 180) || (pos <= 0)) // end of sweep
      {
        // reverse direction
        increment = -increment;
      }
    }
  }
};
 
 
Sweeper sweeper1(25);
Sweeper sweeper2(35);


 
void setup()
{


 
  sweeper1.Attach(9);
  sweeper2.Attach(10);
 
  // Timer0 is already used for millis() - we'll just interrupt somewhere
  // in the middle and call the "Compare A" function below
  OCR0A = 0xAF;
  TIMSK0 |= _BV(OCIE0A);
}
 
// Interrupt is called once a millisecond, looks for any new GPS data, and stores it
SIGNAL(TIMER0_COMPA_vect)
{
  unsigned long currentMillis = millis();
 sweeper1.Update(currentMillis);
 int
  if(digitalRead(2) == HIGH)
  {
     sweeper2.Update(currentMillis);

  }

}

void loop()
{
}

 

Vous remarquerez que lorsque nous avons plusieurs servomoteurs il faut leur donner la base de temps entre deux pas :

 

 

Sweeper sweeper1(25);
Sweeper sweeper2(35);

 

Et les attacher, c'est à dire leur attribuer une broche :

 

  sweeper1.Attach(9);
  sweeper2.Attach(10);

 

Mon problème c'est que lorsque nous avons 10/15 servomoteurs nous n'allons quand même pas écrire 10/15 ligne pour attribuer le temps de base pour chaque servomoteur et écrire 10/15 lignes pour attribuer à chaque servomoteur sa broche !!

 

Je pensais donc , pour 10 servomoteurs, faire une boucle du style :

 

for (a=0; a<=9;a++)

{

Sweeper "sweeper" + a.Attach(a+9);

{

 

 

Mais voilà !! ça marche pas !!

 

Une idée?

 

Merci par avance.

 

++