Incrémenter afficheur 7 Seg. avec bouton poussoir

Portrait de PeakyZ

Bonjour,

J'aimerais faire un système: A chaque fois que j'appuie sur un bouton un chiffre different apparait

par exemple: j'appuie sur un bouton ca affiche 1 et je reappuie sur le même bouton et ca affiche 2 ect...

Comment je pourrais faire pour le cablage et surtout la programmation ? Merci

J'adore vos tutoriels sur votre chaine, super bien expliqué. Bravo pour votre travail

Portrait de PeakyZ

Pour la programmation j'ai pensé à ca, est-ce que ça marcherait?

int n = 0
;int EtatBouton = 0;
 
void setup(){
 
  pinMode(2,OUTPUT); //A
  pinMode(3,OUTPUT); //B
  pinMode(4,OUTPUT); //C
  pinMode(5,OUTPUT); //D
  pinMode(6,OUTPUT); //E
  pinMode(7,OUTPUT); //F
  pinMode(8,OUTPUT); //DP
  pinMode(9,INPUT);
}
 
 void loop() {
  EtatBouton == digitalRead(9)
  ;n++;
 
 ;if (n == 0)
 
 digitalWrite(8,HIGH)
 
 
 ;if (n == 1, EtatBouton == HIGH){
 
   digitalWrite(3,HIGH);
   digitalWrite(4,HIGH);
   }
 
 ;if (n == 2, EtatBouton == HIGH){
 
  digitalWrite(2,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(8,HIGH);
  digitalWrite(6,HIGH);
  digitalWrite(5,HIGH);
 }
 
 ;if (n == 3, EtatBouton == HIGH){
 
  digitalWrite(2,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(4,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(8,HIGH);
 }
 
 ;if (n == 4, EtatBouton == HIGH){
 
  digitalWrite(7,HIGH);
  digitalWrite(8,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(4,HIGH);
 }
 
 
 ;if (n == 5, EtatBouton == HIGH){
 
   digitalWrite(2,HIGH);
   digitalWrite(7,HIGH);
   digitalWrite(8,HIGH);
   digitalWrite(4,HIGH);
   digitalWrite(5,HIGH);
   }
 
 ;if (n == 6, EtatBouton == HIGH){
 
  digitalWrite(2,HIGH);
  digitalWrite(7,HIGH);
  digitalWrite(6,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(4,HIGH);
  digitalWrite(8,HIGH);
 }
 
 ;if (n == 7, EtatBouton == HIGH){
 
  digitalWrite(2,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(4,HIGH);
 }
  ;if (n == 8, EtatBouton == HIGH){
 
  digitalWrite(2,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(4,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(6,HIGH);
  digitalWrite(7,HIGH);
  digitalWrite(8,HIGH);
 
 }
 
 ;if (n == 9, EtatBouton == HIGH){
 
  digitalWrite(2,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(4,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(7,HIGH);
  digitalWrite(8,HIGH);
 }
 ;if  (n <= 10)
 
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  digitalWrite(4,LOW);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(8,LOW);
  n - 10;
 }
 

 

Portrait de PeakyZ

Ce n'est pas n<=10 mais n>=10

Portrait de Alex

Exact! Je pense que ça fonctionnera mieux comme ça.

Portrait de PeakyZ

Merci beaucoup pour le cablage comment je peux faire? Merci d'avance pour votre réponse

 

Portrait de Alex

Le montage est très simple, un bouton poussoir avec un afficheur 7 segments.

Il n'y a aucune difficulté particulière.

Portrait de PeakyZ

Merci

Portrait de Mihail60413

Bonjour, est-il possible de rajouter un bouton reset ? 

Que le compteur revienne à 0 quand on appuis sur un bouton

Merci de votre réponse