Répondre à la discussion
Affichage des résultats 1 à 13 sur 13

Fonction arduino sur Led addressable



  1. #1
    bypbop

    Fonction arduino sur Led addressable


    ------

    Bonjour à tous,

    Voila j'ai fait une petite fonction qui fait une boucle sur ma ledstrip mais je ne comprends pas pourquoi qd je mets i>=0 cela ne boucle que sur la premier boucle pas la seconde alors que lorsque je mets i>0; i -- la fonction marche bien mets du coup je n'ai plus mon pixel 0.

    Que faire car j'ai besoin d'avoir i=0 dans la première boucle.


    Code:
    void colorWipe(uint32_t c, uint8_t wait) {
      
      for(uint16_t i=strip0.numPixels()-1; i>0; i--) {
          strip0.setPixelColor(i, c);
          strip1.setPixelColor(i, c);
          strip0.show();
          strip1.show();
          delay(wait);
      }
      
      for(uint16_t i=0; i<strip0.numPixels(); i++) {
          strip2.setPixelColor(i, c);
          strip3.setPixelColor(i, c);
          strip2.show();
          strip3.show();
          delay(wait);
      }
    }
    Cordialement,
    bypbop

    -----

  2. Publicité
  3. #2
    Yoruk

    Re : Fonction arduino sur Led addressable

    Salut,

    Il n'y aurait pas un souci avec strip0.numPixels() ? Dans ta première boucle, il y a un -1, pas dans la seconde... ?

    Au pire tu remplaces ta première boucle par une positive (i variant de 0 à ton max,n comme la seconde) et tu mets:

    strip0.setPixelColor(i, strip0.numPixels()-c);
    La robotique, c'est fantastique !

  4. #3
    bypbop

    Re : Fonction arduino sur Led addressable

    Pour le moins -1 non car dans la premiere je veux aller de 7 à 0 et la seconde de 0 à 7.
    J'aurais pu faire ceci pour la seconde : uint16_t i=0; i<=strip0.numPixels()-1; i++
    d'ailleurs sur la seconde cela marche bien mais dans la première si je mets le = ca bloque dès la première boucle.


    C'est qd mm bizarre non ?
    Cordialement,
    bypbop
    Dernière modification par bypbop ; 08/11/2013 à 20h31.

  5. #4
    Yoruk

    Re : Fonction arduino sur Led addressable

    i>-1 ? Ou tente ma méthode :

    Code:
    for(uint16_t i=0; i<strip0.numPixels(); i++) {
          strip2.setPixelColor(i, strip0.numPixels()-c);
          strip3.setPixelColor(i, strip0.numPixels()-c);
          strip2.show();
          strip3.show();
          delay(wait);
      }
    avec peut être un strip0.numPixels()-c-1, faut voir.

    strip0.numPixels() vaut 8 ?
    La robotique, c'est fantastique !

  6. #5
    bypbop

    Re : Fonction arduino sur Led addressable

    oui cela vaut 8 et en pixel de 0 à 7 par contre c : c'est ma couleur.
    i>-1 : cela marche pas

    Cordialement,
    bypbop
    Dernière modification par bypbop ; 08/11/2013 à 20h47.

  7. A voir en vidéo sur Futura
  8. #6
    Yoruk

    Re : Fonction arduino sur Led addressable

    Pardon:

    Code:
    for(uint16_t i=0; i<strip0.numPixels(); i++) {
          strip2.setPixelColor(strip0.numPixels()-i, c);
          strip3.setPixelColor(strip0.numPixels()-i, c);
          strip2.show();
          strip3.show();
          delay(wait);
      }
    La robotique, c'est fantastique !

  9. Publicité
  10. #7
    bypbop

    Re : Fonction arduino sur Led addressable

    Alors en faisant comme toi je dois faire :

    Code:
    void colorWipe(uint32_t c, uint8_t wait) {
      
      for(uint16_t i=0; i<=strip0.numPixels(); i++) {
          strip0.setPixelColor(strip0.numPixels()-i, c);
          strip1.setPixelColor(strip0.numPixels()-i, c);
          strip0.show();
          strip1.show();
          Serial.println(strip0.numPixels()-i);
          delay(wait);
      }
      for(uint16_t i=0; i<strip0.numPixels(); i++) {
          strip2.setPixelColor(i, c);
          strip3.setPixelColor(i, c);
          strip2.show();
          strip3.show();
          delay(wait);
      }
    }

    cela marche mais le problème c'est que j'ai qd mm i qui vaut 8 à un moment donc c'est pas bon et en faisant


    Code:
    void colorWipe(uint32_t c, uint8_t wait) {
      
      for(uint16_t i=0; i<=strip0.numPixels()-1; i++) {
          strip0.setPixelColor(strip0.numPixels()-i, c);
          strip1.setPixelColor(strip0.numPixels()-i, c);
          strip0.show();
          strip1.show();
          Serial.println(strip0.numPixels()-i);
          delay(wait);
      }
      for(uint16_t i=0; i<strip0.numPixels(); i++) {
          strip2.setPixelColor(i, c);
          strip3.setPixelColor(i, c);
          strip2.show();
          strip3.show();
          delay(wait);
      }
    }
    J'ai plus le 0.


    Cordialement,
    bypbop

  11. #8
    Yoruk

    Re : Fonction arduino sur Led addressable

    Ok, adapte ceci avec tes variables et ton code. Je l'ai testé sur un soft, j'ai bien 7---0 et 0---7

    Code:
      for (int i = 1; i < 9; i ++) {
      println(8- i);
    }
      
      for (int i = 0; i < 8; i ++) {
      println(i);
    }
    La robotique, c'est fantastique !

  12. #9
    bypbop

    Re : Fonction arduino sur Led addressable

    Merci pour ton aide Yoruk

    Cordialement,
    bypbop

  13. #10
    Yoruk

    Re : Fonction arduino sur Led addressable

    ça a marché ?
    La robotique, c'est fantastique !

  14. #11
    _asm_

    Re : Fonction arduino sur Led addressable

    Salut
    J'aurais plutôt fait :
    Type i=8;
    While(i)
    {
    i--;
    ...
    }

  15. #12
    bypbop

    Re : Fonction arduino sur Led addressable

    Oui cela fonctionne correctement.

    @ asm : Avec un while comment tu sors de ta boucle ? donc pour moi le for est plus approprié
    Cordialement,
    bypbop

  16. Publicité
  17. #13
    Yoruk

    Re : Fonction arduino sur Led addressable

    Oui, je me suis aussi posé la question... Tu es censé tester quelque chose de binaire... ?
    La robotique, c'est fantastique !

Sur le même thème :

Discussions similaires

  1. Arduino + LED API
    Par benbosch dans le forum Électronique
    Réponses: 2
    Dernier message: 08/10/2013, 23h51
  2. Arduino
    Par Darrkshadow dans le forum Électronique
    Réponses: 17
    Dernier message: 03/12/2012, 16h08
  3. arduino
    Par kedric dans le forum Électronique
    Réponses: 6
    Dernier message: 03/01/2011, 21h22
  4. Arduino
    Par qwintine dans le forum Électronique
    Réponses: 18
    Dernier message: 18/11/2010, 20h07
  5. Arduino
    Par sdow dans le forum Électronique
    Réponses: 3
    Dernier message: 29/10/2007, 21h42
Découvrez nos comparatifs produits sur l'informatique et les technologies.