Go Down

Topic: Barrière infrarouge + led (Read 277 times) previous topic - next topic

BrutusLeCactus

Bonjour à tous, étant un père de famille ayant découvert Arduino et m'y étant mis il n'y a pas longtemps, je souhaiterai créer une barrière infrarouge avec une led s'allumant lorsque le faisceau est coupé afin de pouvoir localiser une voiture dans un circuit (Voiture et circuit Hot Wheels), pour apprendre l'électronique ainsi que le codage à mon fils. Je suis loin d'être calé dans ce domaine alors si quelqu'un peut m'aider ce serait très aimable de sa part.

Merci et bonne journée/soirée.

68tjs

Bonjour et bienvenue.

La meilleure façon de commencer est de faire un minimum d'auto formation.
Dans le messages épinglé "Règles du forum francophone" nous recommandons de commencer avec le tuto d'Eskimon dont nous donnons le lien d'accès.

C'est de l'avis général ce qu'on trouve de mieux : il est parfait.
Tu y découvrira progressivement la programation et l'électronique et surtout tu acquèrera des bases solides.

Si tu as des questions sur les exemples du tuto pose les sur ce forum il se trouvera toujours quelqu'un qui aura la réponse vu la diversité des spécialités.

BrutusLeCactus

Merci de votre réponse brève et rapide. Si j'ai d'autre questions auxquelles je n'ai pas de réponse, je me retournerai vers vous.

Sur ce bonne continuation.

BrutusLeCactus

Bien le bonjour, je me présente BrutusLeCactus, amateur de arduino. Rentrons dans le vif du sujet. Alors que j'essayais de faire une barrière infrarouge qui lorsque celle-ci est rompue, une led s'allume, un problème est survenu. J'arrive effectivement à afficher 1 dans le moniteur série lorsque la barrière infrarouge est intacte et 0 lorsque celle-ci est rompue. Mais pourtant je n'arrive pas à allumer la led qui est censé s'allumer lorsque cela affiche 0. Est-ce qu'une personne aurait  l'amabilité de m'aider s'il vous plait ? Merci.

Code: [Select]
void __ardublockDigitalWrite(int D2, boolean status)
{
  pinMode(D2, OUTPUT);
  digitalWrite(D2, status);
}

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



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

}

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


Le matériel utilisé est le suivant :

https://www.lextronic.fr/modules-infrarouges/28973-module-grove-emetteur-infrarouge.html

https://www.lextronic.fr/modules-infrarouges/28974-module-grove-recepteur-infrarouge.html

https://www.lextronic.fr/shield-fomat-grove/14174-platine-grove-base-shield-v2-0.html

https://www.gotronic.fr/art-carte-arduino-mega-2560-12421.htm

avec des câbles et une led normale.

Merci de votre réponse !

kamill

#4
Mar 25, 2019, 09:24 am Last Edit: Mar 25, 2019, 09:26 am by kamill
Bonjour,

Il suffit d'écrire l'inverse de la valeur lue sur la sortie.
Code: [Select]
void loop()
{
  bool val = __ardublockDigitalRead(2);
  Serial.println(val);
  __ardublockDigitalWrite(3, !val);
}


Un conseil: laisses tomber ardublock et utilises les fonctions arduino, ce sera plus efficace et tu trouveras beaucoup d'exemples sur le net.

PBZOOM

"..je n'arrive pas à allumer la led qui est censé s'allumer lorsque cela affiche 0...."

la quelle ? (led)
celle de la barrière invisible infra rouge ...
bien sur que non ....
"...avec des câbles et une led normale."
et pas de résistance ?!?.....

"....la led qui est censé s'allumer ..."
dans votre programme en sortie vous avez la broche D2
en sortie (led émettrice infrarouge)
et la broche D3
en entrée (récepteur infrarouge )
 et c 'est TOUT ,RIEN d 'autre .....
(a part serial ,tx,rx qui relié au usb s'alument fonction du trafic entre le pont usb et l' atmega ou le mega 26... dans votre cas)..

si vous débutez , et que vous voulez apprendre a votre fils , le bon sens serez de vous mémé  apprendre ,ne serais ce que pour être en capacité d' expliquer a votre fils .
mème  si il ya de très bon tuto sur le net l' arduino ide , le logiciel de programmation  officiel 
comporte un exemple  qui s 'apelle : BLINK LED , les concepteurs ont prit la peine de l'intégrer , pour quoi , même si cela fait scolaire , s' en priver ?.....

bidouilleelec

#6
Mar 25, 2019, 10:27 am Last Edit: Mar 25, 2019, 10:29 am by bidouilleelec
Bonjour BrutusLeCactus

.....

Un conseil: laisses tomber ardublock et utilises les fonctions arduino, ce sera plus efficace et tu trouveras beaucoup d'exemples sur le net.
Vous devriez suivre le conseil de 68tjs  ( post #1) :

"nous recommandons de commencer avec le tuto d'Eskimon dont nous donnons le lien d'accès."

Et joindre un schéma de votre montage.

Cordialement,
bidouilleelec

BrutusLeCactus

Merci pour toutes vos réponses et je vous prie encore de vouloir bien m'excuser pour mon ignorance. Effectivement, j'ai déjà lu "Zestes de Savoir" mais d'après ce que j'ai lu, je ne pense que cela puisse m'aider pour mon "projet" ou alors c'est que je n'ai pas dû faire très attention.

lesept

Un autre cours en ligne qui me semble bien fait : OpenClassRooms : le premier cours parle de l'utilisation des LEDs, mais autant le lire en entier...
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

Go Up