Show Posts
Pages: 1 ... 122 123 [124] 125 126 ... 229
1846  International / Français / Re: Créer bibliothèque pour assigner les entrées sorties et utiliser des fonctions on: February 04, 2013, 04:07:57 pm
Je viens de modifier et toujours la même erreur.
Quote
sketch_feb02a.cpp.o: In function `__static_initialization_and_destruction_0':
C:\Users\NOAR\AppData\Local\Temp\build4035633229277018135.tmp/sketch_feb02a.cpp:5: undefined reference to `MODUA::MODUA()'
sketch_feb02a.cpp.o: In function `loop':
C:\Users\NOAR\AppData\Local\Temp\build4035633229277018135.tmp/sketch_feb02a.cpp:10: undefined reference to `MODUA::allumer(int)'
C:\Users\NOAR\AppData\Local\Temp\build4035633229277018135.tmp/sketch_feb02a.cpp:11: undefined reference to `MODUA::pendant(int)'
sketch_feb02a.cpp.o: In function `setup':
C:\Users\NOAR\AppData\Local\Temp\build4035633229277018135.tmp/sketch_feb02a.cpp:7: undefined reference to `MODUA::initialiser()'

Ca devrait fonctionner. Je vais tenter en installant une nouvelle version propre.

j'ai l'impression que tu ne lis pas correctement les informations que je t'ai données précédemment ou alors tu repris du code plus ancien.
Dans ton sketch tu ne dois as faire référence au nom de la classe mais à l'instance de cette classe  que tu crées localement.

Code:
#include <MODUA.h>
MODUA robot;
void setup(){
robot.initialiser();}
void loop()
{
robot.allumer(LED);//modu.allumer();
robot.pendant(1000);
}
1847  International / Français / Re: Créer bibliothèque pour assigner les entrées sorties et utiliser des fonctions on: February 04, 2013, 03:24:49 pm
@telkel : Je ne sais pas ce que tu fais mais le code que j'ai donné compile sans erreur. Tu as bien placé la librairie dans le bon répertoire?

@batto: non dans le .h seul le type est nécessaire. Il permet au compilateur de connaître le type des arguments attendus.
1848  International / Français / Re: Joystick (4 directions) de debug on: February 04, 2013, 05:17:51 am
http://arduino.cc/forum/index.php/topic,20125.0.html
http://playground.arduino.cc//Code/AnalogButtons
1849  International / Français / Re: transformation de 3 couleur en 16bit de donné on: February 04, 2013, 03:20:38 am
C'est pas la peine de se compliquer la vie avec des boucles compliquées ou des histoires de gamma. Si tu veux voir le rouge, tu remplis l'écran avec un dégradé de rouge et tu comptes combien tu vois de nuances de rouge. Si la couleur est codées sur 5 bits tu devrais en dénombrer 32 (comme on le voit sur le bleu dans l'image que tu as jointe). C'est pas plus compliqué que ça. Maintenant si tu en trouves moins c'est qu'il y a un problème soit dans la liaison entre l'écran et ton arduino soit sur la carte de l'écran.

Une fois que tu as confirmé la liaison matérielle entre l'écran et l'arduino si cela ne fonctionne toujours pas, tu sors la loupe et tu examines la carte. il y a peut être une piste coupée, une mauvaise soudure ou un pâté de soudure entre 2 broches.

Si j'en crois l'image que tu as envoyée, il y a de fortes chances que 2 bits soient court-circuités (ou échangés) car le dégradé de rouge obtenu n'est pas monotone.


1850  International / Français / Re: voltage d'un stepper motor on: February 04, 2013, 03:01:50 am
GUILLEMOT MAXI SCAN - SCANNER À PLAT - A
alim externe 16v 0.9A
la photo arrive

Bon si l'alimentation externe délivre 16V cela limite les spéculations. Si l'alim est directe aux moteurs ben ils fonctionnent en 16V. Si tu vois un régulateur (ou un transistor ballast) dans la liaison entre l'alim et les moteurs tu peux parier sur 10 à 12V et tu as peu de chance de perdre.
Il y a très peu de chance que ce soit une tension inférieure. Il faut quand même fournir quelques watts pour faire bouger un chariot de scanner et avec une résistance de 85 Ohms on voit qu'avec une tension inférieure à 10V on est en-dessous du watt.
1851  International / Français / Re: Créer bibliothèque pour assigner les entrées sorties et utiliser des fonctions on: February 03, 2013, 11:05:24 am
Code:
MODUA.h

#define LED 13 //*fixe l'utilisation d'une led sur D13
#ifndef MODUA_H
#define MODUA_H
#include <Arduino.h>

class MODUA // Objet
{
    private :
int temps; //utilisée dans pendant()
    public:
MODUA();
void allumer(int); // pour faire allumer(LED); dans le croquis
void initialiser(); // pour déclarer les entrées/sorties avant setup ou dedans
int broche; // utilisée dans initialiser()
void pendant(int);
};
 #endif

Code:
MODUA.cpp

#include "MODUA.h"
MODUA::MODUA() // objet MODU apparemment obligatoire
{}
void MODUA::allumer(int broche) // pour allumer une led dont la broche est déclaré en define dans le .h
{
    digitalWrite(broche,HIGH);
}
void MODUA:: initialiser() // déclarer D13 en sortie
{
pinMode(LED, OUTPUT);
}

void MODUA::pendant(int time)// fait un delay
{
   int temps= time;
   delay(temps);
}

1852  International / Français / Re: Utiliser valeur du potentiomètre pour décaler une action on: February 03, 2013, 10:51:47 am
Quote
Mais je me rends surtout compte que l'idée du potar paraissait une bonne idée car c'était sur le papier la plus simple, on tourne un bouton pour augmenter le temps, on le baisse pour baisser le temps. Mais quand je vois le mal à programmer le code, je me demande si en mettant des boutons on gagnerait pas du temps pour incrémenter et décrémenter la valeur de décalage.
C'est pas la manière de saisir les consignes qui complique ou ralenti le code c'est les ajouts successifs non maitrisés.
La saisie du temps par les potentiomètres et d'ailleurs plus simple que la saisie par des boutons.
Il faut juste mettre le montage de coté, prendre une feuille de papier et décrire pas à pas ce que doit faire ton programme. Comment sont utilisées les commandes les paramètres qu'elles fournissent et ce que le programme en fait. Tu vas voir, c'est magique après cela ira tout seul.
1853  International / Français / Re: Créer bibliothèque pour assigner les entrées sorties et utiliser des fonctions on: February 03, 2013, 10:37:32 am
relies ce que j'ai écrit au-dessus.
La classe doit porter le même nom que le répertoire et que le .cpp
Donc si la classe s'appelle MODUA elle est dans le répertoire libraries/MODUA où il doit y avoir un fichier MODUA.cpp

Code:
#include <MODUA.h>
MODU robot;                   <--------- la classe s'appelle MODUA pas MODU et robot c'est l'objet de type MODUA que tu instancies
void setup(){
robot.initialiser();}
void loop()
{
MODU::allumer(LED);//modu.allumer();         <--------- donc ici c'est robot que l'on doit trouver est pas MODU
MODU::pendant(1000);                 <---------- tu as oublié de le définir dans le .h
}

Lorsque tu appliques une méthode à une instance tu dois utiliser l'opérateur "."
Ce qui donne:
Code:
robot.allumer();
robot.pendant()
1854  International / Français / Re: Créer bibliothèque pour assigner les entrées sorties et utiliser des fonctions on: February 03, 2013, 04:48:15 am
Arduino est assez rigide au niveau des librairies.
Le répertoire contenant la librairie doit être dans un répertoire libraries situé lui-même dans sketchbook.
Le nom du répertoire doit être celui de la classe déclarée et celui du .cpp principal.
Si tu fais ça, ton code compile. Il génère quelques erreurs de syntaxe qui une fois corrigées donne un code à priori correct.
Au niveau des erreurs:
    il manque un point virgule à la fin d'une ligne
    tu fais un #define LED 13 dans le .h et ensuite dans le .cpp tu fais LED = 13  (ce qui n'a pas de sens  après passage dans le pré-processeur cela donne 13=13)
1855  International / Français / Re: Relier tablette android à deux arduinos on: February 03, 2013, 02:44:48 am
Tu veux envoyer vers les 2 cartes en même temps en l'une après l'autre?
T u cherches une appli ou un moyen de communication?
1856  International / Français / Re: Problème de variable étrange on: February 02, 2013, 09:19:28 am
Code:
long total_execution_LED = (micros() - temps) / 1000000;
les constantes en long doivent être déclarées comme telle
Code:
long total_execution_LED = (micros() - temps) / 1000000L;

Code:
if (signal_recu == -23971)
    {
      long temps = micros();
     
      digitalWrite(LED,HIGH);
    }
    else if (signal_recu == -7651)
    {
      long total_execution_LED = (micros() - temps) / 1000000;
     
      digitalWrite(LED,LOW);
     
      Serial.println(total_execution_LED,DEC);
    }
Une variable n'est vue que dans le bloc où elle est déclarée. Si tu veux l'utiliser dans les 2 branches du if il faut la déclarer avant le if.
Code:
long temps
if (signal_recu == -23971)
    {
      temps = micros();
     
      digitalWrite(LED,HIGH);
    }
    else if (signal_recu == -7651)
    {
      long total_execution_LED = (micros() - temps) / 1000000;
     
      digitalWrite(LED,LOW);
     
      Serial.println(total_execution_LED,DEC);
    }
1857  International / Français / Magazine Fait Main on: February 01, 2013, 04:58:25 pm
 un magazine en ligne qui couvre plusieurs sujets, à savoir:

   - l'informatique,
   - l'électronique,
   - la cuisine,
   - l'art,
    et enfin l'écologie.
http://www.faitmain.org/
Et il y a un article sur l'Arduino (entre autres choses)
1858  International / Français / Re: Photorésistance plus sensible on: February 01, 2013, 05:13:41 am
ATTENTION, ce n'est pas des rebonds au sens mécanique de la chose. C'est juste que le passage devant la barrière optique est relativement lent par rapport au temps d'exécution de la boucle principale et que celle-ci est parcourue plusieurs fois avant que le faisceau soit rétabli.

Suivant le besoin de l'application, il faut:
    soit attendre que le faisceau soit rétabli avant de déclencher une nouvelle alarme
    soit mettre en place un comptage pour redéclencher une nouvelle alarme si le faisceau est interrompu trop longtemps (signalement d'une panne potentielle du capteur)
1859  International / Français / Re: Arduino nano, quelques informations on: January 31, 2013, 04:44:06 pm
Quote
Mais alors si j'utilise un tel câble, je suis donc reliée en direct sans séparation machine PC <=> carte. C'est un risque à prendre avec le milieu aquatique !
C'est la même problématique avec la nano et un câble USB

Si tu veux être isolé, il y a ces solutions qui permettent la programmation sans fil:
http://arduino.cc/en/Main/ArduinoBoardBluetooth
http://arduino.cc/en/Main/ArduinoBoardFio
1860  International / Français / Re: Arduino nano, quelques informations on: January 31, 2013, 05:12:47 am
Quote
Sinon, faudra que je me trimbale avec le labo
Non juste un ridicule petit cordon qui fait interface USB vers série.Dans ce genre là: http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm On en trouve un peu partout.
Pages: 1 ... 122 123 [124] 125 126 ... 229