Capteur infrarouge Grove Arduino

Bonjour voilà le programme pour deux capteurs infrarouge Grove (émetteur et récepteur) et je voudrai savoir comment on fait pour rajouter un autre émetteur et un autre récepteur dans le programme, merci d'avance pour vos aide :slight_smile:

void __ardublockDigitalWrite(int D3, boolean status)
{
  pinMode(D3, OUTPUT);
  digitalWrite(D3, status);
}

boolean __ardublockDigitalRead(int D2)
{
  pinMode(D2, INPUT);
  return digitalRead(D2);
}



void setup()
{
  Serial.begin(9600);
  __ardublockDigitalWrite(3, HIGH);

}

void loop()
{
  Serial.print(__ardublockDigitalRead(2));
  Serial.println();
}

l'émetteur est branché sur le port D3 et le récepteur est branché sur le port D2

maxime676767:
Bonjour voilà le programme pour deux capteurs infrarouge Grove (émetteur et récepteur) et je voudrai savoir comment on fait pour rajouter un autre émetteur et un autre récepteur dans le programme

Si par exemple tu connectais ces nouveaux capteurs sur des entrées/sorties non encore utilisées tu ne penses pas que ce serait une bonne idée....

Bah oui mais après comment les insérer dans le code ?

Le code actuel fait une vingtaine de ligne. Il n'est pas très complexe.
Est-il de toi?
Si tu l'analyses même grossiérement tu devrais assez facilement comprendre comment il fonctionne et comment l'adapter à des entrées/sorties supplémentaires.

Non justement je l'ai pris d'une personne qui l'a posté sur ce Forum c'est pour ça que je demande comment rajouté deux autres capteurs

Et tu n'as surtout pas essayé de comprendre ce que ça fait.
Déjà le code se simplifie comme ça.

void setup()
{
  Serial.begin(9600);
  pinMode(2, INPUT);
  pinMode(3, OUTPUT);
  digitalWrite(3, HIGH);
}

void loop()
{
  Serial.print(digitalRead(2));
  Serial.println();
}

pinMode(3, OUTPUT);
digitalWrite(3, HIGH);
digitalRead(2)

Avec tout ça, tu en as assez pour y arriver tout seul comme un grand.

void setup()
{
  Serial.begin(9600);
  pinMode(2, INPUT);
  pinMode(3, OUTPUT);
  digitalWrite(3, HIGH);
  pinMode(6, INPUT);
  pinMode(7, OUTPUT);
  digitalWrite(7, HIGH);
}

void loop()
{
  Serial.print(digitalRead(2));
  Serial.println();
  Serial.print(digitalRead(6));
  Serial.println();
}

C'est bon ça marche merci :slight_smile:
mais j'ai une autre question dans le moniteur série ça s'affiche sur une ligne et j'aimerai bien qu'il a deux ligne une pour deux capteurs, comment faire ?

maxime676767:
mais j'ai une autre question dans le moniteur série ça s'affiche sur une ligne et j'aimerai bien qu'il a deux ligne une pour deux capteurs, comment faire ?

Tu t'es relu avant d'appuyer sur . La question n'est pas très claire.
Actuellement le résultat s'affiche sur 2 lignes, une pour chaque capteur.
Pour comprendre la différence entre print et println

Je veux dire que quand j'ouvre le moniteur série, il y a qu'une ligne qui s'affiche et j'aimerai bien qu'il y a une ligne pour les capteurs 2 et 3 et une autre ligne pour les capteurs 6 et 7

Sur les broches 3 et 7 ce sont pas des capteurs qui sont branchés. Ce sont des LED infrarouge. Elles émettent de la lumière (dans l'infrarouge) lorsqu'on applique une tension à leurs bornes. C'est-à-dire lorsque la sortie et au niveau HIGH si j'en crois ton programme.

Là, tu affiches l'état des broches 2 et 6 de l'arduino.

void loop()
{
  Serial.print(digitalRead(2));
  Serial.println();
  Serial.print(digitalRead(6));
  Serial.println();
}

Si tu veux afficher l'état des broches 3 et 7 il suffit d'ajouter des print supplémentaires.

Pour rendre la chose plus claire, tu peux ajouter du texte pour savoir ce qui s'affiche
Exemple pour la broche 2

  Serial.print("Broche 2 : ");Serial.print(digitalRead(2)); Serial.println();

A toi d'adapter en fonction de ce que tu veux voir dans le moniteur série.

Re bonjour, excusez moi pour rien je ne pouvais plus répondre, en fait je voudrai qu'une ligne (verticale) s'occupe du port 2 et une autre ligne vertical s'occupe du port 6 :slight_smile:

Bonjour,

C'est ça que tu veux ?

 Serial.print(digitalRead(2));
 Serial.print("   ");
 Serial.println(digitalRead(6));

Voilà exactement, merci beaucoup kamill et surtout merci fdufnews pour vos aides, Bonne fin de journée et peut-être à bientôt :slight_smile:

maxime676767:
Re bonjour, excusez moi pour rien je ne pouvais plus répondre, en fait je voudrai qu'une ligne (verticale) s'occupe du port 2 et une autre ligne vertical s'occupe du port 6 :slight_smile:

Je t'avais envoyé des liens pour que tu vois la différence entre print et println ce n'est pas pour rien.

maxime676767:
en fait je voudrai qu'une ligne (verticale) s'occupe du port 2 et une autre ligne vertical s'occupe du port 6 :slight_smile:

Une ligne verticale.... on parle généralement de colonne dans ce cas.