Création compteur de 0 à 5 et de 5 à 0 avec afficheur 7 segments

Salut à toutes et tous,

J'aimerais réaliser un compteur de 0 à 5 par incrémentation de 1 et de 5 à 0 par -1 et éventuellement un reset qui remettrait à 0
je pensais à un Arduino, trois petits BP (+,- et reset) concernant l'afficheur je pensais 7 segments de ruban LED comme ça je pourrai faire la grandeur que je veux

Je pensais également pouvoir changer la couleur quand le compteur arrive à 5 mais cela automatiquement avec la prg de l'Arduino
Je n'ai aucune idée de comment câbler l'Arduino et encore moins lequel prendre

Si vous pouviez m'aider à réaliser cela, c'est pour le club de Basket afin d'afficher clairement le Nbre de fautes des équipes

Merci

je pensais à un Arduino, trois petits BP (+,- et reset) concernant l'afficheur je pensais 7 segments de ruban LED comme ça je pourrai faire la grandeur que je veux

Projet bien décrit (pour une fois). le choix ci dessus me paraît fort à propos. Pour changer la couleur, un ruban de couleur fait effectivement l'affaire.
Solution "je veux câbler le moins possible" en utilisant des rubans de leds programmables:
Juste une Arduino et les rubans. Programme pas très compliqué avec la bibliothèque. Facilité de changer la couleur. il fat une Arduino avec au moins 3 entrées et une à 7 sorties -> n'importe quelle carte fonctionne. Une nano suffit
Solution rubans classiques. Il faut alors au moins 7 transistors pour les commander et un transistor par couleur élémentaire
Si on avait une couleur fixe, les rubans traditionnels serait envisageable. Avec la couleur et vu la faible différence de prix, je pense que des leds adressables est une solution plus simple.

Salut,

Merci pour ton intérêt de mon projet
En fait je voudrais que le chiffre 5 s'éclaire en rouge et 0 à 4 en vert
Pour les rubans RGBW il y a 5 fils (+,R,V,B,W) comment les raccorder, si je comprends bien il faut activer la sortie de la couleur qu'on veut, donc pour le vert (chiffre de 0 à 4) ça serait activer la broche de sortie où Vert est raccordé
pour le chiffre 5 c'est la broche où R est raccordé
MAIS si j'ai 7 segments et suivant le chiffre qui doit-être affiché il faut donc alimenter les différentes broches des différentes couleurs donc dans mon cas de 2 couleurs ça serait 7 segments * 2 couleurs par segments = 14 sorties

Si je comprends bien
Edit : Non, en fait c'est 7 segments + broche couleur Verte + broche couleur Rouge
Donc 9 broches de sorties et 3 broches d'entrées

Plan des broches pour les segments Led

Pin OUT
Segment Haut = broche 1
Segment Haut Droit = broche 2
Segment Bas Droit = broche 3
Segment Bas = broche 4
Segment Bas Gauche = broche 5
Segment Haut Gauche = broche 6
Segment Milieu = broche 7

Pour le Vert = broche 8
Pour le Rouge = broche 9

Donc pour afficher le 0
digitalWrite(8,HIGH); // couleur Verte
digitalWrite(1,HIGH);
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);

Chiffre 1
digitalWrite(1,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);

Chiffre2
digitalWrite(1,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(7,HIGH);
digitalWrite(3,LOW);

Chiffre 3
digitalWrite(3,HIGH);
digitalWrite(5,LOW);

Chiffre 4
digitalWrite(6,HIGH);
digitalWrite(1,LOW);

Chiffre 5
digitalWrite(8,LOW); // on éteint la couleur Verte
digitalWrite(9,HIGH); // on allume la couleur Rouge
digitalWrite(1,HIGH);
digitalWrite(9,HIGH);
digitalWrite(2,Low);
digitalWrite(4,Low);

Ca doit-être ça non

J'apelle le segment 1 celui qui utilise la broche 1 et ainsi de suite

Tout ce que tu dis es bon, sauf qu'arrivé au chiffre 5, tu semblait fatigué (ou tu fais comme les profs "c'est pour voir si vous suiviez"):
LOW devient Low
le segment 4 passe à HIGH
Le segment 9 n'existe pas


Un petit bémol quand même c'est le la liste peut être parcourue dans les deux sens 0 -> 5 ET 5 -> 0
Pour afficher 1, ce qui est écrit est bon si on avait avant le 0. Mais si on vient du 2, le segment 3 est éteint, il faut l'allumer, et le segment 7 était allumé, il le restera.

Une solution pour celui qui ne veut pas réfléchir, c'est de définir tous les segments.

Une solution pour l'informaticien, c'est pour ce type de cas, définir un tableau

uint8_t segment[6][7]={  {HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, LOW, HIGH, LOW}, // chiffre 0
                         {LOW, HIGH, HIGH, LOW, LOW, LOW, LOW, HIGH, LOW}, // chiffre 1
....

Pour afficher le chiffre N, on fait

digitalWrite(1,segment[N][1]);
digitalWrite(2,segment[N][2]);
digitalWrite(3,segment[N][3]);
.....
digitalWrite(9,segment[N][9]);

ou encore

for(i=1; i<=9; i++) digitalWrite(i,segment[N][i]);

A part cela, tout est un problème de câblage et de disponibilité.
Pour allumer un segment, en principe ce sera bien un HIGH pour le segment. Tu est parti sur le schéma:

Leds.gif

Leds.gif

Il faut donc 9 transistors, mais les deux d'en haut ne peuvent être commandés directement par l'Aduino, il faut un montage en plus, en général un transistor "npn n'importe lequel". ce montage peur imposer une commande HIGH ou LOW pour commander la couleur.


Après il faut réfléchir sur ce projet et l'évolution de ce projet. Tel quel, il va pouvoir afficher n'importe quel nombre entre 0 et 9, voir quelques autres symboles - = + h A E P H ... en vert, rouge ou jaune (vert+rouge)

Avec deux transistors de plus, on peut afficher en une des 7 couleurs

Si par contre le projet était figé et n’évoluera plus 0 à 4 en vert et 5 en rouge, on peut avoir une commande par segment vert et une commande pour le 5 rouge (5 cathodes reliées , 2 en l'air). C'est beaucoup plus simple, mais impossible d'évoluer:

Leds.gif

Leds.gif

Tout va dépendre de quel matériel tu disposes. Si tu as déjà les rubans ce peut être une bonne solution. Si tu n'as rien, regardes le prix des rubans + transistors et compare avec des rubans adressables qui n'ont pas besoin de transistors du tout (rubans à WS2812B)

3 solutions en fonction des tiroirs, du prix, du nombre de soudures et de transistors.

Je n'ai aucun matériel
Je m'entraine depuis ce soir avec Tinkercad pour allumer ou éteindre 7 LED
Je pars de 0 et appuie sur un BP pour incrémenter de 1
J'essaie ça, je vais voir si j'y arrive, après on fera avec le BP Moins
Quand le code fonctionnera, je verrai quelle solution je vais prendre

Je ne m'y connais pas en électronique, je fais ça pour le club de basket qui n'a pas d'affichage du nbre de fautes des équipes
Il y avait qq'un qui avait mis 5 lampes avec des interrupteurs, assez compliqué quand on se trompais
Ici juste 3 BP c'est plus facile

Merci pour ton aide

Je ne m’y connais pas en électronique

C’est pour cela que je t’oriente plus du côté des leds programmables. Cela donne une solution extrêmement simple
côté soudures, le code est un peu plus complexe, mais plus facilement télédépanable. Et cela permet toutes les modifications par la suite. Je ne suis d’ailleurs pas sûr que ce soit plus cher!

Pour les boutons, il y a une bibliothèque qui est intéressante, je n’ai pas sa référence…

J’essaie avec un BP mais il est à 1 que j’appuie ou non, je ne comprends pas pourquoi

On a besoin du schéma de branchement. Eventuellement le code de la configuration pour le bouton et le code pour la lecture.

Salut,

C'est bon pour le BP, j'y suis arrivé. Tuto aidant et persévérance

Je pense que je vais utiliser des rubans Led Adressable, reste à voir pour la programmation puisque c'est sur des bits
Je vais voir si je trouve des tutos, cela ne devrais pas être trop difficile puisque les 7 segments utilisent que 2 couleurs et une seule à la fois.
Si tu as une piste sur comment faire

Au fait, dans tinkercad comment on fait pour démarrer un new projet ?

Merci

electronull:
Au fait, dans tinkercad comment on fait pour démarrer un new projet ?

Bonjour,

On clique sur "creer un circuit"
Si on est dans l'édition d'un projet, on clique sur l'icone tinkercad en haut à gauche pour revenir dans la page des circuits.

Salut Kamill,

Ok vu, hier soir j'avais regardé les tutos et pas vu le bouton

Merci

Salut à toutes et tous,

Je reviens sur mon compteur, je pense que cela va être difficile de savoir quelle grandeur de digit il faudra pour que cela soit visible dans un complexe sportif et en plein jour
J'ai trouvé ça sur le net, ça a l'air pas trop mal et pas trop chère, il faudrait savoir si c'est compatible avec Arduino et comment ça se programme
https://szlightalldisplay.fr.aliexpress.com/store/group/P10-Outdoor-Module/228842_511665050.html
Si qq'un a déjà essayé ça !

Merci pour votre aide

Je reviens sur mon compteur, je pense que cela va être difficile de savoir quelle grandeur de digit il faudra pour que cela soit visible dans un complexe sportif et en plein jour

Pour la taille, c’est facile, un chiffre marqué avec un gros feutre sur un page suffit.

J’ai récupéré des afficheurs que l’on voit fleurir dans les villes pour annoncer les évènements, les accidents… c’est des matrices 8*5, et la hauteur ne fait que 5,5cm de haut! Par conte pas de schémas, j’ai un peu galéré pour afficher une lettre.

Sur le lien, il y a plein d’afficheurs, des petits et des grands.