IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Calcul automatique du nombre de Leds


Sujet :

Arduino

  1. #41
    Membre Expert

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 562
    Par défaut
    Bonjour,

    Absent quelques jours, je vois que le problème n'a pas résisté longtemps. Une seule remarque, si la recherche incrémentale fonctionne bien, une recherche dichotomique sera sensiblement plus rapide.

    En revanche, je ne pense pas que le comptage direct des 24 fronts montants par couleur excédentaire (encore plus rapide) soit compatible avec le pilotage des Leds sur un Arduino même si l'interruption de comptage ne perturberait que les couleurs inutilisées.

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  2. #42
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 071
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 071
    Billets dans le blog
    47
    Par défaut
    Hop,

    Citation Envoyé par Guesset Voir le message
    si la recherche incrémentale fonctionne bien, une recherche dichotomique sera sensiblement plus rapide.
    Avec un ruban de 200-300 leds, on est dans la seconde et c'est peut-être encore raisonnable. Après, le coût est quadratique (n2, n=nbr de leds). Avec 1000 leds, on est à une quinzaine de secondes et ça vaut le coup de passer à une méthode dichotomique.


    Citation Envoyé par Guesset Voir le message
    En revanche, je ne pense pas que le comptage direct des 24 fronts montants par couleur excédentaire (encore plus rapide) soit compatible avec le pilotage des Leds sur un Arduino même si l'interruption de comptage ne perturberait que les couleurs inutilisées.
    Le comptage direct des 24 fronts montants... ? Je ne comprends pas... Il n'y aura qu'un seul front montant détecté, dès le 1er bit envoyé juste après avoir allumé la dernière led du ruban.

  3. #43
    Membre Expert

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 562
    Par défaut
    Bonjour,

    La dernière led laisse passer toutes les couleurs qui n'ont pas trouvé preneur. Par exemple, s'il y a 3 couleurs de plus que le nombre de LEDs, il y aura 3*24 fronts montants supplémentaires sortant de Dout.

    Illustration de l'envoi de 3 couleurs (l'ordre RGB peut changer selon les bandes) sur une bande de 4 LEDs.

    Nom : Pico & NeoPixel.png
Affichages : 18
Taille : 113,5 Ko
    Si au lieu de basculer un flag ,on incrémente un compteur c, le nombre de leds effectif est le nombre de couleurs envoyées diminué de c/24. Le problème est que ce comptage sur interruption (1 toutes les 1.25 us) peut perturber l'émission du train de couleurs (contrainte de ressources Arduino). Cette perturbation peut aller jusqu'à altérer suffisamment le flux pour que la transmission devienne erratique et le comptage non fiable.

    Une machine sensiblement plus rapide que les 16 MHz voire multicœur n'aurait pas ce risque.

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  4. #44
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 874
    Par défaut
    Citation Envoyé par Guesset Voir le message
    Bonjour,

    Si au lieu de basculer un flag ,on incrémente un compteur c, le nombre de leds effectif est le nombre de couleurs envoyées diminué de c/24.
    Les 2 bibliothèques (adafruit et fastled) courantes bloquent les interruptions durant l’appel à l’affichage donc la majorité des interruptions se perdrait et on n’aurait que la dernière

  5. #45
    Membre Expert

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 562
    Par défaut
    Bonjour Jay M,

    Citation Envoyé par Jay M Voir le message
    Les 2 bibliothèques (adafruit et fastled) courantes bloquent les interruptions durant l’appel à l’affichage donc la majorité des interruptions se perdrait et on n’aurait que la dernière
    Sur un Arduino, c'est ce que j'exprimais, mais sur une machine double cœur et rapide (genre ESP32 et Pico, ce dernier pouvant émettre les flux sans bloquer les interruptions) il est possible de capter les flux Dout sur une entrée en interruption ou scrutation rapide. D'un autre coté, c'est une initialisation et le gain en vitesse sur des MPU rapides ne sera pas forcément perçu.

    Salut
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. [TP7] Calculer sin, cos, tan, sqrt via le FPU
    Par zdra dans le forum Assembleur
    Réponses: 8
    Dernier message: 25/11/2002, 04h09
  2. Calcul des numéros de semaine d'un calendrier
    Par Invité dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 06/11/2002, 21h29
  3. Réponses: 8
    Dernier message: 18/09/2002, 03h20
  4. Récupérer 10 nb différents avec un calcul aléatoire
    Par BXDSPORT dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2002, 02h35
  5. Algo de calcul de FFT
    Par djlex03 dans le forum Traitement du signal
    Réponses: 15
    Dernier message: 02/08/2002, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo