Show Posts
Pages: 1 ... 114 115 [116] 117 118 ... 242
1726  International / Français / Re: -Aide- Sculpture et arduino sur Télécran on: July 12, 2013, 09:55:00 am
Là pas bon
Code:
motorA.step((oldx - x)*10,FORWARD,SINGLE);
 motorB.step((oldy - y)*10,FORWARD,SINGLE);
 
 oldx = x;           //<----- là tu mets oldx = x
 oldy = y;
 
 delay(500);
 Serial.println(oldx-x);   // <--- donc là comme oldx et x sont égaux la différence est nulle

Là bon
Code:
motorA.step((oldx - x)*10,FORWARD,SINGLE);
 motorB.step((oldy - y)*10,FORWARD,SINGLE);

 Serial.println(oldx-x);   // <--- là oldx vaut la valeur de x à la précédente itération
 
 oldx = x;
 oldy = y;
 
 delay(500);
 
1727  International / Français / Re: Taille des caractères des menus d'Arduino trop petite ! on: July 11, 2013, 02:07:51 pm
Quote
Mais ça n'a aucun effet sur la taille de police de caractère des menus
Je me suis trompé.

Je suis sur Ubuntu même version java que toi et mes menus ont une police plutôt grosse bizarre!!!

Je viens de vérifier et par contre moi je suis toujours en version 1.0 de l'IDE
1728  International / Français / Re: Taille des caractères des menus d'Arduino trop petite ! on: July 11, 2013, 10:52:26 am
Regarde dans ton home le répertoire caché .arduino
il y a un fichier preference.txt tu l'ouvres avec ton éditeur préféré et tu cherches une ligne commençant par editor.font (ne pas confondre avec editor.font.macosx).
Là tu mets la police que tu veux dans le corps que tu veux.
Et tu vas voir qu'il y a plein d'autres options auxquels tu n'avais peut être pas pensé.
1729  International / Français / Re: Question pointeurs on: July 11, 2013, 10:38:36 am
Tu peux utiliser un pointeur de type void et ajouter un argument pour dire combien d'octet à transférer.
Mais le C++ te permet d'avoir plusieurs fonctions portant le même nom avec des arguments de type différents c'est le compilateur qui gère.
Exemple simple
Code:
float a=2.0,b=3.4;
int c=5,d=2;

void setup (void){
  Serial.begin(9600);
}

boolean superieur(int va, int vb){
  return(va>vb);
}

boolean superieur(float va, float vb){
  return(va>vb);
}

void loop(void){
  Serial.print(superieur(a,b));
  Serial.print(superieur(c,d));
}
1730  International / Français / Re: écran tactile syst de positionnement on: July 11, 2013, 03:14:47 am

j'ai une 32" qui pour moi est tout à fait convenable.
La je crois que tu te vantes. smiley-lol
Ce serait pas plutôt 3.2"
1731  International / Français / Re: fonctionnement d'un code sans USB avec shield 6DOF on: July 11, 2013, 12:57:22 am
Quote
J'ai trouvé une solution qui fonctionne. J'utilise un adaptateur USB secteur (pour téléphone portable et cela fonctionne). Je n'arrive quand même pas a expliquer le problème mais ça fonctionne 
Sur la UNO, il y a un système de commutation automatique de l'alimentation entre USB et alim externe. Peut être une panne de ce coté là?
1732  International / Français / Re: fonctionnement d'un code sans USB avec shield 6DOF on: July 10, 2013, 11:53:24 am
Tes alimentations ont bien le plus au centre du connecteur?
1733  International / Français / Re: Modules radio ou autres pour portée et autonomie maximale on: July 10, 2013, 11:52:46 am
Quote
Que j'améliore la réception de 3 db , reviens au même que d'améliorer l'émetteur de 3 db.
Pas tout à fait à niveau de bruit constant le rapport signal sur bruit est plus défavorable dans le premier cas. Puisqu'à la réception le gain est appliqué au signal et au bruit.
1734  International / Réalisations et Projets Finis / Re: IR-Blue-duino caméra thermique on: July 10, 2013, 02:03:34 am
Oupssss  smiley-red
Je viens de m'apercevoir que j'avais mis le mauvais pdf dans le premier post. Il manquait le schéma du montage.
L'erreur est corrigée, le premier post mis à jour. La schéma est maintenant dans le document "IR-blue-duino_project.pdf"
1735  International / Français / Re: [demande d'avis] module bluetooth arduino on: July 10, 2013, 01:51:38 am
Dans ma caméra thermique j'ai utilisé un module trouvé chez dx.com pour quelques $.

C'est un "linvor" autre nom HC06.
Ce module est uniquement esclave
Commandes AT à minima : réglage de la vitesse, nom du périphérique, code PIN
Niveau entrées/sorties     : RX,TX une LED qui indique s'il est appairé ou non

Après si tu veux un peu plus sophistiqué il faut prendre un module type "HC05".
Ce module peut être maitre ou esclave
Jeu de commande AT étendu.
Au niveau des entrées/sorties c'est un peu la roulette russe. Il y a beaucoup de variantes du firmware

Pour ces 2 modules le matériel est identique on peut le reflasher et on peut très bien transformer un HC06 en HC05 par exemple. On peut aussi exploiter directement des entrées/sortie du module (il y a des io logiques et analogiques)

Je suis justement entrain de regarder la chose mais je me heurte à 3 problèmes je suis sous linux, l'outil de programmation utilise le port parallèle (qui a encore un port parallèle sur son PC!!!) et il y a pas mal d'infos contradictoires sur le net. Sujet pour l'instant en pause de mon coté..

Maintenant il y a aussi les modules BLE (Bluetooth Low Energie)
Des modules qui répondent à une version plus récente de la norme Bluetooth et qui sont moins énergivores.

Voilà c'est tout ce que je sais là-dessus
1736  International / Français / Re: -Aide- Sculpture et arduino sur Télécran on: July 09, 2013, 03:48:18 pm
Hé hé sacré blagueur!!!

Code:
oldx = x;
 oldy = y;
 
 motorA.step(oldx - x,FORWARD,SINGLE);
 motorB.step(oldy - y,FORWARD,SINGLE);

Avec les lignes dans cet ordre oldx - x et oldy - y sont toujours à zéro.

Moi j'écrirais plutôt comme ça:
Code:
motorA.step(oldx - x,FORWARD,SINGLE);
 motorB.step(oldy - y,FORWARD,SINGLE);

 oldx = x;
 oldy = y;


Merci pour ta réponse  fdufnews
Ok mais les valeurs qui me sont données dans le moniteur série sont les mêmes que les lignes
oldx = x;
oldy = y;
soient placées avant ou après
 smiley-sweat

Peut être que la console te donnes la même chose (ce qui n'est pas étonnant puisque le print est à la fin) par contre vu des lignes motorA.step et motorB.step ce n'est pas pareil dans un cas la différence est systématiquement nulle dans l'autre c'est l'écart d'une itération à l'autre
1737  International / Français / Re: La programmation objet est-elle plus gourmande en place on: July 09, 2013, 03:14:21 pm
Suite de l'essai
J'ai ajouté la librairie memoryFree pour mesurer la mémoire libre sur les 2 programmes précédents

Avec le programme simple:
        Taille du programme : 3008 octets
        Mémoire libre           : 1811 octets

Avec le programme objet:
        Taille du programme : 3080 octets
        Mémoire libre           : 1810 octets

Donc sur un programme simple la différence est minime.

Si quelqu'un a d'autres exemples.

En pièce jointe les 2 programmes

Edit: je viens de constater que la librairie memoryFree a légèrement changé depuis que je l'ai installée. Si vous reproduisez les exemples il n'est pas impossible que vous trouviez une différence dans les résultats.
1738  International / Français / Re: La programmation objet est-elle plus gourmande en place on: July 09, 2013, 02:58:32 pm
Ma pierre à l'édifice.
Un petit exemple, 2 programmes qui lisent quelques entrées logiques et retournent un message sur la console si le bouton est appuyé.
EssaiBoutonsSimple
Code:
#define NUMBOUTON 5
byte boutons[NUMBOUTON]= {2, 3, 4, 5, 6};
byte index=0;

void setup(void){
  for (int i=0;i<NUMBOUTON;i++){
    pinMode(boutons[i],INPUT);
    digitalWrite(boutons[i],HIGH); // active pullup
  }
  Serial.begin(9600);
}

void loop(void){
  byte etat= digitalRead(boutons[index]);
  if (etat==0){
    Serial.print("Pin ");
    Serial.print(boutons[index]);
    Serial.println(" on");
  }
  index++;
  if (index>NUMBOUTON){
    index=0;
  }
}

EssaiBoutonsObjet
Code:
class bouton{
  byte pinBouton;
 
  public:
    bouton(byte);
    boolean getState(void);
    byte getPin(void);
 
};

  bouton::bouton(byte pin){
    pinMode(pin,INPUT);
    digitalWrite(pin,HIGH); // active pullup
    pinBouton=pin;
  }
 
  boolean bouton::getState(void){
    return(digitalRead(pinBouton)==0);
  }

  byte bouton::getPin(void){
    return(bouton::pinBouton);
  }

#define NUMBOUTON 5
byte index=0;

bouton tabBouton[NUMBOUTON]={bouton(2), bouton(3), bouton(4), bouton(5), bouton(6)};
void setup(void){
  Serial.begin(9600);
}

void loop(void){
    if (tabBouton[index].getState()){
    Serial.print("Pin ");
    Serial.print(tabBouton[index].getPin());
    Serial.println(" on");
  }
  index++;
  if (index>NUMBOUTON){
    index=0;
  }
}

Le code objet du premier programme est compilé en 2706 octets
Le code objet du second programme est compilé en 2772 octets

Donc on ne peut pas dire que le code généré soit beaucoup plus gros. En même temps l'exemple est très simple
Je vais continuer en regardant la mémoire consommée
1739  International / Français / Re: -Aide- Sculpture et arduino sur Télécran on: July 09, 2013, 01:40:34 pm
Hé hé sacré blagueur!!!

Code:
oldx = x;
 oldy = y;
 
 motorA.step(oldx - x,FORWARD,SINGLE);
 motorB.step(oldy - y,FORWARD,SINGLE);

Avec les lignes dans cet ordre oldx - x et oldy - y sont toujours à zéro.

Moi j'écrirais plutôt comme ça:
Code:
motorA.step(oldx - x,FORWARD,SINGLE);
 motorB.step(oldy - y,FORWARD,SINGLE);

 oldx = x;
 oldy = y;
1740  International / Français / Re: probleme de validation digicode on: July 09, 2013, 07:30:05 am
+1

Code:
case '*': checkPassword(); password.reset(); break;

D'autre part je te conseille de prendre en charge une limite max du nombre de caractères. Si un ptit malin en tape plus de 20 (limite par défaut de la lib), dieu seul sait ce qui pourrait se passer ...
La librairie le gère. Elle ne fait rien et retourne false.
Pages: 1 ... 114 115 [116] 117 118 ... 242