Pages: 1 2 [3]   Go Down
Author Topic: problème de programmation besoin d'aide  (Read 2507 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Sr. Member
****
Karma: 2
Posts: 259
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Toi tu n'utilises pas cette librairie, mais ta librairie l'utilise.

Si tu ne veux pas te casser la tête, télécharge la version 0023 de l'IDE Arduino, qui utilise encore le fichier "WProgram.h"
Logged

Ales
Offline Offline
Faraday Member
**
Karma: 29
Posts: 3176
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Jviens de regarder la lib : elle est auto-adaptative, il ne devrait pas y avoir de problème quelque soit ta version d'IDE. Il doit y avoir un problème dans ton install ce n'est pas normal.
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

c'est pour sa que je ne comprend pas, je suis aller voir également sur un autre forum et il disent qu'il y aurait un souci dans le programme seulement je ne vois pas ce qui ne va pas. Lorsque j'ai utilisé l'Arduino pour programmer mon écran ColorLCDShield je n'ai eu aucun souci tout fonctionnait correctement.

Pour l'installe que faudrait-il que je fasse??? que je réinstalle complètement Arduino ? (sachant que je pense que c'est impossible étant donné que je suis dans une école et que l'on ne peut rien installé  smiley-confuse)

Comment faire ??

Ou alors vous pouvez peut être m'aider ce que j'aimerais faire c'est une régulation PID toute simple, je pensais pouvoir le faire avec le programme de base du PID mais peut être qu'il y a une autre solution ???
« Last Edit: March 06, 2013, 02:52:36 am by helene76 » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Personne ne peut m'aider ??? s'il vous plait
Logged

Ales
Offline Offline
Faraday Member
**
Karma: 29
Posts: 3176
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tu as essayé de reinstallé l'IDE ?
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Je peux pas le faire j'ai pas les droits, je suis dans une école donc impossible de réinstaller l'IDE
Logged

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 24
Posts: 3171
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Tu télécharges ton ide sur une clé usb et tu la lances toujours depuis la clé usb, normalement ça devrait fonctionner.
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

D'accord j'essaie sa cette après midi je vous redit si sa fonctionne ou pas. Merci en tout cas.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Un nouveau problème survient : voici mon programme
Code:
#include <simpletimer.h>

/**
* Asservissement d'un moteur à l'aide d'un régulateur PID
* Avril 2012 - Black Templar
*/
 
//#include <SimpleTimer.h>   //http://arduino.cc/playground/Code/SimpleTimer
#define _DEBUG false
 
SimpleTimer timer;                 // Timer pour échantillonnage
const int _MOTEUR =  9;            // Digital pin pour commande moteur
unsigned int tick_codeuse = 0;     // Compteur de tick de la codeuse
int cmd = 0;                       // Commande du moteur
 
const int frequence_echantillonnage = 50;  // Fréquence du pid
const int rapport_reducteur = 29;          // Rapport entre le nombre de tours de l'arbre moteur et de la roue
const int tick_par_tour_codeuse = 32;      // Nombre de tick codeuse par tour de l'arbre moteur
 
float consigne_moteur_nombre_tours_par_seconde = 5.;  //  Nombre de tours de roue par seconde
 
float erreur_precedente = consigne_moteur_nombre_tours_par_seconde;
float somme_erreur = 0;   // Somme des erreurs pour l'intégrateur
float kp = 300;           // Coefficient proportionnel
float ki = 5.5;           // Coefficient intégrateur
float kd = 100;           // Coefficient dérivateur
 
/* Routine d'initialisation */
void setup() {
    Serial.begin(115200);         // Initialisation port COM
    pinMode(_MOTEUR, OUTPUT);     // Sortie moteur
    analogWrite(_MOTEUR, 255);    // Sortie moteur à 0
 
    delay(5000);                  // Pause de 5 sec pour laisser le temps au moteur de s'arréter si celui-ci est en marche
 
    attachInterrupt(0, compteur, CHANGE);    // Interruption sur tick de la codeuse (interruption 0 = pin2 arduino mega)
    timer.setInterval(1000/frequence_echantillonnage, asservissement);  // Interruption pour calcul du PID et asservissement
}
 
/* Fonction principale */
void loop(){
    timer.run();
    delay(10);
}
 
/* Interruption sur tick de la codeuse */
void compteur(){
    tick_codeuse++;  // On incrémente le nombre de tick de la codeuse
}
 
/* Interruption pour calcul du PID */
void asservissement()
{
    // Réinitialisation du nombre de tick de la codeuse
    int tick = tick_codeuse;
    tick_codeuse=0;
 
    // Calcul des erreurs
    int frequence_codeuse = frequence_echantillonnage*tick;
    float nb_tour_par_sec = (float)frequence_codeuse/(float)tick_par_tour_codeuse/(float)rapport_reducteur;
    float erreur = consigne_moteur_nombre_tours_par_seconde - nb_tour_par_sec;
    somme_erreur += erreur;
    float delta_erreur = erreur-erreur_precedente;
    erreur_precedente = erreur;
 
    // PID : calcul de la commande
    cmd = kp*erreur + ki*somme_erreur + kd*delta_erreur;
 
    // Normalisation et contrôle du moteur
    if(cmd < 0) cmd=0;
    else if(cmd > 255) cmd = 255;
    analogWrite(_MOTEUR, 255-cmd);
 
    // DEBUG
    if(_DEBUG)  Serial.println(nb_tour_par_sec,8);
}
L'adresse de la librairie est donné c'est celle que j'utilise seulement voici les erreurs que j'ai

In file included from PID.cpp:1:
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:9: error: stray '\302' in program
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:9: error: stray '\267' in program
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:9: error: stray '\302' in program
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:9: error: stray '\267' in program
In file included from PID.cpp:1:
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:252:46: error: invalid suffix "aaea3b8475dc9f120d3ece631c6" on integer constant
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:253:62: error: invalid suffix "aaea3b8475dc9f120d3ece631c6" on integer constant
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:433: error: stray '#' in program
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:433: error: stray '#' in program
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:433: error: stray '#' in program
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:433: error: stray '#' in program
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:433: error: stray '#' in program
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:433: error: stray '#' in program
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:531: error: stray '#' in program
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:4: error: expected unqualified-id before '<' token
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:433: error: expected constructor, destructor, or type conversion before '.' token
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:433: error: expected unqualified-id before '<' token
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:433: error: expected constructor, destructor, or type conversion before '/' token
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:433: error: expected unqualified-id before '<' token
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:433: error: expected constructor, destructor, or type conversion before '.' token
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:433: error: expected unqualified-id before '<' token
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:433: error: expected unqualified-id before '<' token
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Je viens de tester ton code avec la librairie fraichement récupérée depuis le lien que tu as fourni.
Je n'ai aucun problème de compilation, mon IDE est en version 1.5.2.
Logged

France
Offline Offline
Faraday Member
**
Karma: 52
Posts: 5341
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

In file included from PID.cpp:1:
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:9: error: stray '\302' in program
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:9: error: stray '\267' in program
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:9: error: stray '\302' in program
C:\arduino-1.0\libraries\simpletimer/simpletimer.h:9: error: stray '\267' in program
(...)
Ça sent l'encodage de fichier qui a foiré smiley-wink
Ouvre les deux fichiers .h en question avec notepad++ est regarde si il t'affiche des caractères spéciaux (carrés noirs).
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Pages: 1 2 [3]   Go Up
Jump to: