Go Down

Topic: [Demande d'aide] Gérer afficheur 7segments 4 digits avec clavier (Read 2638 times) previous topic - next topic

MiniZ

il faut simplement détecter quel circuit est "passant"


Ok mais comment faire, avez vous une idée? De plus les bornes 4 5 6 et 7 sont communes  à la détection avec  la 2 et la 3 du coup je suis perdu...
Y a t il une fonction dans l'Arduino pour vérifier si deux bornes sont passantes.
Sinon je pensais mettre les bornes 4 5 6 et 7 à 5 V et vérifier quand j'ai 5 v sur la borne 2 ou 3 mais ca marche pas pacque je serais pas faire la différence entre les bornes 4 5 6 et 7 ou alors il faut que je mette des résistances de différente valeur

J-M-L

voici tous les liens possibles,


mais à un instant T une seule connexion est active physiquement, par exemple en position 3



-> si vous mettez des pins connectées en aux bornes 4,5,6,7 en input pull-up, et

1/ si vous mettez les pins connectées à 2 et 3 LOW, LOW
2/ si vous mettez les pins connectées à 2 et 3 LOW, HIGH
3/ si vous mettez les pins connectées à 2 et 3 HIGH, LOW

dans chaque cas, quel valeur allez vous lire (HIGH ou LOW) sur les pins des bornes 4,5,6 et 7 ??
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

kamill


J-M-L

Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

MiniZ

Merci pour ton aide J-M-L, ce qui me rassure c'est que ton schéma ressemble étrangement au mien (en plus jolie bien sur; le mien été griffonné sur un bout de feuille lol)

Voici le code que j'ai testé et qui marche... Me reste plus qu'a écrire sur mon afficheur au lieu du moniteur série.

Le code est peut être pas très jolie (débutant), alors si tu as des astuces je veux bien que tu me montres.Merci

Code: [Select]

const int broche_2 = 2;       //rien de branché sur la broche 1
const int broche_3 = 3;
const int broche_4 = 4;
const int broche_5 = 5;
const int broche_6 = 6;
const int broche_7 = 7;


void setup() {
  Serial.begin (9600);
 
  pinMode(broche_2, OUTPUT);
  pinMode(broche_3, OUTPUT);
  pinMode(broche_4, INPUT_PULLUP);
  pinMode(broche_5, INPUT_PULLUP);
  pinMode(broche_6, INPUT_PULLUP);
  pinMode(broche_7, INPUT_PULLUP);

  digitalWrite(broche_2, HIGH);
  digitalWrite(broche_3, HIGH);

  }

void loop() {

  digitalWrite (broche_2, LOW);
  digitalWrite (broche_3, HIGH);
 
if (digitalRead(broche_4) == LOW)
{
  Serial.println("position5");
}

if (digitalRead(broche_5) == LOW)
{
  Serial.println("position6");
}

if (digitalRead(broche_6) == LOW)
{
  Serial.println("position7");
}

if (digitalRead(broche_7) == LOW)
{
  Serial.println("position8");
}



{
  digitalWrite (broche_2, HIGH);
  digitalWrite (broche_3, LOW);
}

if (digitalRead(broche_4) == LOW)
{
   Serial.println("position4");
}

if (digitalRead(broche_5) == LOW)
{
   Serial.println("position3");
}

if (digitalRead(broche_6) == LOW)
{
   Serial.println("position2");
}

if (digitalRead(broche_7) == LOW)
{
   Serial.println("position1");
}

}

Go Up