Show Posts
Pages: [1]
1  International / Français / Re: Créer librairie 7 segments on: May 16, 2012, 04:18:04 pm
Déjà désolé de ne pas avoir pu répondre avant, mais en ce moment je suis en pleine période avant bac (premiers oraux, PPE, révisions ...)

Alors merci beaucoup, ton programme marche (enfin j'ai du modifier un petit truc du genre une majuscule ou autre pour que cela marche mais rien de bien méchant)

Je vais essayer de regarder et comprendre ton code sur l'autre sujet dès que j'ai un peu de temps, et je reviendrais vers toi si j'ai besoin d'aide  smiley-lol

Encore merci barbudor
2  International / Français / Re: Créer librairie 7 segments on: May 08, 2012, 05:04:38 am
Si j'utilise juste "A7segA(2);" j'ai droit à un: sketch_may08a:3: error: expected constructor, destructor, or type conversion before '(' token
(il faut bien utiliser ces fonctions entre #include et void setup ?)

Sinon les fonctions void affX() marchent  smiley
3  International / Français / Re: Bibliothèques pour Arduino on: May 08, 2012, 04:02:42 am
Tiens tu as ce tuto qui explique bien les bases des bibliothèques smiley-wink http://www.robot-maker.com/index.php?/tutorials/article/30-creer-une-bibliotheque-arduino/
4  International / Français / Re: Créer librairie 7 segments on: May 08, 2012, 03:57:42 am
Déjà merci beaucoup pour ton aide smiley-grin

Alors j'ai rajouté un void devant mes fonctions, l'ajout de la bibliothèque se passe bien mais quand je fais appel à la fonction "void A7segA(2)" j'ai cette erreur:

sketch_may08a:6: error: variable or field 'A7segA' declared void

Donc je pense que void n'est pas approprié, mais alors qu'est ce que je dois utiliser?
Quand je regarde le tuto d'Arduino qui explique la création de bibliothèques (Le morse),lorsqu'ils associent une broche à une LED ils n'utilisent aucun type (et ne renvoient rien) non?

Code:
Morse::Morse(int pin)
{
  pinMode(pin, OUTPUT);
  _pin = pin;
}

Et c'est vrai que ton code est beaucoup plus simple, je fais marcher mon code puis j'essaye de le simplifier grâce au tiens smiley-wink

Encore merci smiley-lol
Adri
5  International / Français / Créer librairie 7 segments on: May 07, 2012, 04:27:23 pm
Salut tout le monde,
Avant tout je veux vous prévenir que je suis un grand débutant en Arduino, alors soyez indulgent smiley-razz

Alors en fait, je voudrais contrôler un afficheur 7 segments à partir de mon Arduino (Duemilanove) pour écrire différents chiffres. J'ai donc tout programmé en allumant et éteignant chaque segment (désignés par une lettre allant de A à G) un par un, ça marche mais c'est assez lourd, c'est donc pour ça que j'aimerais créer une librairie pour simplifier mon code.

J'ai donc créé ces deux fichiers:
Code:
  #ifndef a7seg_h
  #define a7seg_h
     
  #include "Arduino.h"
     
    class a7seg
    {
      public:

A7segA(int pin); //associe broche a A
A7segB(int pin); //associe broche a B
A7segC(int pin); //associe broche a C
A7segD(int pin); //associe broche a D
A7segE(int pin); //associe broche a E
A7segF(int pin); //associe broche a F
A7segG(int pin); //associe broche a G


void aff1(); //affiche 1
void aff2(); //affiche 2
void aff3(); //affiche 3...
void aff4();
void aff5();
void aff6();
void aff7();
void aff8();
void aff9();
void aff0();


      private:

int A;
int B;
int C;
int D;
int E;
int F;
int G;


    };
     
    #endif

et
Code:
/*
  a7seg.cpp - Bibliothèque pour controler un afficheur 7 segments.
*/
 
#include "Arduino.h"
#include "a7seg.h"
 
a7seg::A7segA(int pin) //Associe broche a A
{
pinMode(A, OUTPUT);
pin = A;
}

a7seg::A7segB(int pin) //associe broche a B
{
pinMode(B, OUTPUT);
pin = B;
}

a7seg::A7segC(int pin) //associe broche a C
{
pinMode(C, OUTPUT);
pin = C;
}

a7seg::A7segD(int pin) //associe broche a D ...
{
pinMode(D, OUTPUT);
pin = D;
}

a7seg::A7segE(int pin)
{
pinMode(E, OUTPUT);
pin = E;
}

a7seg::A7segF(int pin)
{
pinMode(F, OUTPUT);
pin = F;
}

a7seg::A7segG(int pin)
{
pinMode(G, OUTPUT);
pin = G;
}
 

 
void a7seg::aff1() //affiche 1
{
  digitalWrite(A, HIGH);
   digitalWrite(B, LOW);
   digitalWrite(C, LOW);
   digitalWrite(D, HIGH);
   digitalWrite(E, HIGH);
   digitalWrite(F, HIGH);
   digitalWrite(G, HIGH);
}
 
void a7seg::aff2() //affiche 2
{
  digitalWrite(A, LOW);
   digitalWrite(B, LOW);
   digitalWrite(C, HIGH);
   digitalWrite(D, LOW);
   digitalWrite(E, LOW);
   digitalWrite(F, HIGH);
   digitalWrite(G, LOW);
}

void a7seg::aff3() //affiche 3
{
  digitalWrite(A, LOW);
   digitalWrite(B, LOW);
   digitalWrite(C, LOW);
   digitalWrite(D, LOW);
   digitalWrite(E, HIGH);
   digitalWrite(F, HIGH);
   digitalWrite(G, LOW);
}

void a7seg::aff4() //affiche 4
{
  digitalWrite(A, HIGH);
   digitalWrite(B, LOW);
   digitalWrite(C, LOW);
   digitalWrite(D, HIGH);
   digitalWrite(E, HIGH);
   digitalWrite(F, LOW);
   digitalWrite(G, LOW);
}

void a7seg::aff5() //affiche 5
{
  digitalWrite(A, LOW);
   digitalWrite(B, HIGH);
   digitalWrite(C, LOW);
   digitalWrite(D, LOW);
   digitalWrite(E, HIGH);
   digitalWrite(F, LOW);
   digitalWrite(G, LOW);
}

void a7seg::aff6() //affiche 6
{
  digitalWrite(A, LOW);
   digitalWrite(B, HIGH);
   digitalWrite(C, LOW);
   digitalWrite(D, LOW);
   digitalWrite(E, LOW);
   digitalWrite(F, LOW);
   digitalWrite(G, LOW);
}

void a7seg::aff7() //affiche 7
{
  digitalWrite(A, LOW);
   digitalWrite(B, LOW);
   digitalWrite(C, LOW);
   digitalWrite(D, HIGH);
   digitalWrite(E, HIGH);
   digitalWrite(F, HIGH);
   digitalWrite(G, HIGH);
}

void a7seg::aff8() //affiche 8
{
  digitalWrite(A, LOW);
   digitalWrite(B, LOW);
   digitalWrite(C, LOW);
   digitalWrite(D, LOW);
   digitalWrite(E, LOW);
   digitalWrite(F, LOW);
   digitalWrite(G, LOW);
}

void a7seg::aff9() //affiche 9
{
  digitalWrite(A, LOW);
   digitalWrite(B, LOW);
   digitalWrite(C, LOW);
   digitalWrite(D, LOW);
   digitalWrite(E, HIGH);
   digitalWrite(F, LOW);
   digitalWrite(G, LOW);
}

void a7seg::aff0() //affiche 0
{
  digitalWrite(A, HIGH);
   digitalWrite(B, HIGH);
   digitalWrite(C, HIGH);
   digitalWrite(D, HIGH);
   digitalWrite(E, HIGH);
   digitalWrite(F, HIGH);
   digitalWrite(G, LOW);
}

Seulement lorsque j'essaye d'inclure cette librairie j'ai ces messages:

In file included from sketch_may07a.cpp:1:
C:\Users\****\arduino-1.0\libraries\a7seg/a7seg.h:10: error: ISO C++ forbids declaration of 'A7segA' with no type
C:\Users\****\arduino-1.0\libraries\a7seg/a7seg.h:11: error: ISO C++ forbids declaration of 'A7segB' with no type
C:\Users\****\arduino-1.0\libraries\a7seg/a7seg.h:12: error: ISO C++ forbids declaration of 'A7segC' with no type
C:\Users\****\arduino-1.0\libraries\a7seg/a7seg.h:13: error: ISO C++ forbids declaration of 'A7segD' with no type
C:\Users\****\arduino-1.0\libraries\a7seg/a7seg.h:14: error: ISO C++ forbids declaration of 'A7segE' with no type
C:\Users\****\arduino-1.0\libraries\a7seg/a7seg.h:15: error: ISO C++ forbids declaration of 'A7segF' with no type
C:\Users\****\arduino-1.0\libraries\a7seg/a7seg.h:16: error: ISO C++ forbids declaration of 'A7segG' with no type

J'ai bien compris que je déclarais mal les fonctions qui servent à initialiser mes broches mais je ne sais pas comment y remedier (si je mets void ça ne marche pas non plus) smiley-confuse

Alors je sollicite votre aide pour résoudre ce problème (voir même m'aider à simplifier encore plus ces fichiers)  smiley

Merci d'avance
Adri
6  Forum 2005-2010 (read only) / Français / Re: Allumer 1 LED en appuyant sur une touche du PC ? on: August 06, 2010, 05:06:02 am
Ah  ok merci, si j'arrive à trouver quelques trucs pour t'aider je te tiens au courant smiley-wink
7  Forum 2005-2010 (read only) / Français / Re: Allumer 1 LED en appuyant sur une touche du PC ? on: August 06, 2010, 04:40:11 am
Salut,

ce projet m'interresse également et j'aimerai savoir si tu as réussi à finir le code stp smiley
8  Forum 2005-2010 (read only) / Français / Re: Aide pour comprendre tuto on: July 26, 2010, 12:42:58 pm
Ah ah, super merci beaucoup smiley
9  Forum 2005-2010 (read only) / Français / Re: Aide pour comprendre tuto on: July 26, 2010, 08:26:25 am
Ah ok, merci beaucoup smiley

PS: au passage est ce que tu as un site pour apprendre à se débrouiller avec une Arduino Duemilanove (en francais si possible :-[ )stp
10  Forum 2005-2010 (read only) / Français / Aide pour comprendre tuto on: July 26, 2010, 06:36:19 am
Salut,

j'aimerai réaliser ce tuto http://arduino.cc/en/Tutorial/Dimmer  avec ma Arduino Duemilanove mais je ne comprends pas ou il faut marquer ce texte:

Code:
Processing Code
Run the following sketch in Processing. It will send bytes out the serial port to the Arduino to dim the LED.


 /* Processing code for this example */
  // Dimmer - sends bytes over a serial port
  // by David A. Mellis
  
  // This example code is in the public domain.

  import processing.serial.*;
  Serial port;
  
  void setup() {
  size(256, 150);
  
  println("Available serial ports:");
  println(Serial.list());
  
  // Uses the first port in this list (number 0).  Change this to
  // select the port corresponding to your Arduino board.  The last
  // parameter (e.g. 9600) is the speed of the communication.  It
  // has to correspond to the value passed to Serial.begin() in your
  // Arduino sketch.
  port = new Serial(this, Serial.list()[0], 9600);  
  
  // If you know the name of the port used by the Arduino board, you
  // can specify it directly like this.
  //port = new Serial(this, "COM1", 9600);
  }
  
  void draw() {
  // draw a gradient from black to white
  for (int i = 0; i < 256; i++) {
  stroke(i);
  line(i, 0, i, 150);
  }
  
  // write the current X-position of the mouse to the serial port as
  // a single byte
  port.write(mouseX);
  }
  */

Et est ce que ce projet est réalisable avec ma carte ? Ou faut'il ajouter des extensions?

Merci d'avance
11  Forum 2005-2010 (read only) / Français / Re: PB Arduino Duemilanove ATmega328 on: July 26, 2010, 06:35:22 am
Et dès qu'elle est alimentée il y a une lumière verte pour montrer qu'elle est branchée smiley-wink
Pages: [1]