Clignotement deux LED avec 2 MOSFET BS 170

Bonjour à tous,

Je suis en train de faire les tutoriels tirés du livre S'initier à Arduino.

Un tuto me résiste, deux LED doivent clignoter de façon alternative en utilisant deux BS 170.

Malheureusement, cela ne fonctionne pas, les deux s'allument en même temps ! J'ai vérifié mon montage plusieurs fois, pour moi il est bon et je ne pense pas que le livre présente une erreur de ce côté !

Le programme reste très basique, je le joins ici

// (c)Frédéric SILLON 2020
// Clignotant avec la Led Externe sur Pin 8 et la Led interne L
#define LED_EXTERNE 8  // Explique à l’IDE que la Led est sur la pin 8
// fonction setup(): Initialisation de la carte Arduino
void setup() {
  pinMode(LED_EXTERNE, OUTPUT);  // Initialise la pin 8 en sortie
  pinMode(LED_BUILTIN, OUTPUT);  // Ainsi que la sorite de la Led L
}
// fonction loop(): notre clignotant
void loop() {
  digitalWrite(LED_EXTERNE, HIGH);  // Led externe ON
  digitalWrite(LED_BUILTIN, HIGH);  // Led L ON
  delay(1000);                      // Attente
  digitalWrite(LED_EXTERNE, LOW);   // Led externe OFF
  digitalWrite(LED_BUILTIN, LOW);   // Led L OFF <
  delay(1000);                      // Attente
}  // On reboucle !!

On est vraiment sur des choses simples (surtout quand je lis les autres posts) mais je ne vois pas ce qui coince.... Si vous avez des pistes, une méthodologie à me proposer, je suis preneur.

Pour moi qui suis en totale découverte Arduino, le but est de faire des tutos puis quand cela fonctionne , modifier des paramètres (delay, sensibilité des capteurs) et surtout comprendre pourquoi un tutoriel ne fonctionne pas (il est prévu d'ailleurs de refaire celui du RFID qui n'avait pas fonctionné d'ailleurs).

Bonjour,

Tu ne nous donne pas le schéma de câblage, mais celui-ci ne doit pas être mystérieux, je présume que tu pilote le Gate de chaque BS170 va une petite résistance, et à partir de la sortie 8 et la sortie qui correspond à LED_BUILTIN. (13 je crois?).

Au niveau du code, ces 2 sorties sont pilotées en même temps et avec le même niveau logique.

Donc elles évoluent en même temps et dans le même sens il me semble.

Et c'est d'ailleurs clairement indiqué dans les commentaires

Je mets le schéma de câblage , ce sera plus clair de ce côté.

Je n'ai pas été assez précis désolé.

Je mets ce que cela doit faire Led_1 et Led_2 s’allument à tour de rôle, je cite le livre
Led 1 et Led 2 renvoient aux LED rouges du schéma.

Donc à ce que je comprends, la LEd de l'Arduino doit s'allumer de façon alternative avec Led 1 et Led 2 donc je devrai avoir une séquence de ce style

LED Arduino allumé, LED 1 et LED 2 éteintes
LED Arduino éteinte, LED 1 Allumé, LED 2 éteinte
LED Arduino allumé, LED 1 et LED 2 éteintes
LED Arduino éteinte, LED 1 éteinte, LED 2 allumé.

et on reprend la séquence.

Là, j'ai mes deux LED 1 et 2 qui s'allument en même temps et non de façon alternative entre elles. Par contre, l'alternance entre les LED rouge et celle de l'Arduino est bien respectée.

dans un premier temps, 2 choses me font tiquer : l'inscription "P" qui me fait penser à un canal P, donc à un BS250 (le BS170 est un canal N) et la broche G mise au 0V (dans les 2 cas G est au milieu)

Je rejoins l’avis de @5_cylindres le schéma que tu nous présente est selon moi, complètement insensé.

@eruptionsolar

le livre où a été pris l’exemple propose-t-il un schéma (de principe) et plus du dessin du câblage ?

Oui c'est bien le cas. Le voici donc.

Je précise qu'il s'agit bien d'un tutoriel d'un livre (je suis plus fan de livre que de vidéos)

La légende précise bien que ce sont des BS170 justement et ce que j'ai acheté justement sur Gotronic (pas présent dans mes deux kits Arduino).

dans ce cas vérifie que c'est bien câblé (pas comme sur ton dessin)


là tu devrais avoir LED1 et LED2 qui s'allument alternativement ... si le Vgs de Q2 est suffisant

Merci à toi, je vais essayer, j'ai du mal à faire un câblage avec uniquement un schéma électrique (c'est pour cela d'ailleurs que les livres d'initiation présentent souvent des dessins du montage) donc ce serait bien le montage qui foire et pas le programme.

non avec

vous allumez les 2, attendez une seconde, et éteignez les 2. donc elles fonctionnent de la même façon.

il faudrait faire

  digitalWrite(LED_EXTERNE, HIGH);  // Led externe ON
  digitalWrite(LED_BUILTIN, LOW);  // Led L OFF
  delay(1000);                      // Attente
  digitalWrite(LED_EXTERNE, LOW);   // Led externe OFF
  digitalWrite(LED_BUILTIN, HIGH);   // Led L ON <

si vous voulez que ce soit une seule des deux qui soit allumée à un instant T

un grand MERCI à tous cela fonctionne !! Par contre désolé Jackson, mais cela fonctionne bien avec le programme d"origine. Pour être plus précis, la LED 1 s'allume en même temps que la LED 13 , la LED 2 s"allume alors que la LED 13 s'éteint et le cycle reprend. C'est au final comme cela qu'il fallait comprendre par rapport à la LED 13.
Et content pour moi, suis arrivé à faire le câblage :slight_smile:

@5_cylindres j'ai archivé ton montage pour les prochaines fois ;)

oui mais vous sembliez dire

J'avoue que ce n'est pas très clair :slight_smile:
Pour la deuxième citation, c'est le fonctionnement que je PENSAIS que le programme allait faire par rapport aux LED rouge d'un côté et la LED de l'Arduino de l'autre.

Au final, le programme fait : la LED 1 s'allume en même temps que la LED 13 , la LED 2 s"allume alors que la LED 13 ainsi que la LED1 s'éteignent et le cycle reprend.

Ce que l'auteur avait précisé pour le "coeur" de la manip à savoir Led_1 et Led_2 s’allument à tour de rôle ce qui est bien le cas.

Désolé si je n'ai pas été précis.

un grand MERCI à tous pour votre aide et la résolution de mon problème

ce n'est pas mon montage, c'est celui que tu as toi-même fourni, issu de ton livre : je n'ai fait que te montrer quel devait être le câblage réel par opposition à celui que l'on voit dans le dessin généré sous Fritzing ou Tinkercad que tu nous avais soumis.
(mais même si je n'ai pas servi à grand chose, je suis tout de même content d'avoir pu t'aider)

Pour ma part , encore bien incapable de voir le souci justement du câblage.
Est ce que justement le datasheet du BS170 m'aurait permis de savoir que la source se branchait à la masse ?
C'est pour monter en expérience comme on dit :)

Est ce que justement le datasheet du BS170 m'aurait permis de savoir que la source se branchait à la masse ?

sur la Data Sheet du BS170 le montage de test (Fig 1) est un montage ‘Source à la masse’, montage de loin le plus fréquent pour les usages rencontrés sur ce forum (Mosfet en commutation) mais pas le montage unique.

la broche "G" (Grille en français ou Gate en anglais) d'un MOSFET est son organe de commande : si tu la vois à un potentiel fixe, genre Vcc ou 0V, il ne pourra pas être commandé (c'est comme la base d'un bipolaire).

La datasheet te donne le brochage et les caractéristiques du composant.

Elle ne t'apprendra pas à savoir utiliser un mosfet, il y a des tutos généraux pour cela.

Il faut savoir qu'il existe des mosfets canal N et d'autre canal P.
Comme en bipolaire, il existe des NPN et des PNP.

Dans un mosfet c'est la tension appliquée entre la Grille et la Source qui débloque le transistor qu'il soit canal N ou Canal P.

Avec un canal N, on met la source au potentiel le plus négatif, c'est généralement la masse.
Avec un canal P, on met la source au potentiel le plus positif, c'est généralement la tension d'alimentation.

Astuce : quand on fait un vrai schéma, pas un truc fritzing, dans le symbole du mosfet figure une diode.
C'est simple : la diode doit se retrouver en inverse.

Le symbole "volmétre" représente la tension qui commande le mosfet.
Pour rendre passant le transistor :
Dans un canal N la grille est à une tension supérieure à la source.
Dans un canal P la grille est à une tension inférieure à la source.

Si tu examines les deux symboles, tu verras que les flèches horizontales ne sont pas dans le même sens et que les diodes sont toutes les deux en inverse.

Pourquoi de canal N et des canal P ?

Comme tu peux le voir :
Avec la masse au moins de l'alimentation :
la commande d'un canal N est plus simple mais la charge n'est pas à la masse.
Avec le canal P c'est l'inverse : commande plus compliquée, mais la charge est parfaitement à la masse.

Merci pour vos compléments très instructifs et comprend mieux pourquoi vous avez réagi comme cela avec le premier montage indiqué (broche G à la masse)

Je rebondis sur les propos de 68tjs

Elle ne t'apprendra pas à savoir utiliser un mosfet, il y a des tutos généraux pour cela.

Je ne suis pas vidéo étant malentendant, est ce que vous connaissez un bon livre abordant ses points justement (et encore mieux si avec un peu de pratique avec) pour un débutant ?
Il y a eu des manips avec un transistor mais là je n'ai pas rencontré de souci (une manip avec un NPN et une autre avec un PNP).