"pin number" dans commandes "pinMode" ou "digitalWrite"?

Bonjour.
Je suis nouveau dans l'utilisation des Arduino mais par contre je m'y connais bien en électronique et dans la programmation des microcontrôleurs comme les PIC.
Dans les cas des composants que j'avais l'habitude d'utiliser jusqu'à présent, j'ai toujours trouvé des fiches techniques ("datasheet") extrêmement détaillées avec le brochage ("pinout") de ces composants. Je n'ai pas trouvé l'équivalent pour les modules Arduino.

Dans le cas des modules Arduino, si je prends par exemple les fonctions "pinMode" ou "digitalWrite", il est indiqué dans la documentation du site Arduino que le 1er paramètre de ces fonctions est le "pin number". Mais ensuite, je ne trouve nulle part la définition de ce "pin number". Je voudrais savoir s'il existe un document technique qui indique pour chaque module Arduino (Nano, Micro, etc) quels sont ces "pin numbers". Dans les circuits intégrés digitaux traditionnels, il y a un repère pour repérer la broche (pin) numéro 1, et ensuite les numéros des pins s'ensuivent, dans l'ordre, dans le sens inverse des aiguilles d'une montre. Ici on n'a pas de repère et on ne sais pas si c'est la même logique.

Pour être plus clair, je vais prendre l'exemple de l'Arduino Micro. Je me base sur le "pinout" indiqué sous le lien "https://docs.arduino.cc/hardware/micro". Supposons que je veuille utiliser la broche appelée "ADC[4]/PF4/A3/D21" comme entrée/sortie digitale. Le "pin number", c'est 21, ou bien 7 (puisque c'est la 7ème broche si je suppose que la 1ère broche est celle correspondant à PC7/D13~), ou bien autre chose?

Merci d'avance pour vos réponses.

J'ai déplacé votre message dans la partie francophone... On écrit en anglais dans les forums généraux

lisez les "Les bonnes pratiques du Forum Francophone” pour plus d'infos sur comment utiliser le forum.


les PIN numbers sont écrits sur les cartes souvent et on trouve bien sûr des "pinout diagrams" un peu partout sur le net

si la pin est notée D21 vous utilisez 21 pour le N° de pin ou par exemple D14 (MISO) ce sera 14. (D c'est pour Digital)

les pins analogiques (liées à l'ADC) sont notées A0, A1, ... et dans la fonction analogRead() vous allez alors utiliser A0, A1, ...

Bonsoir @chrismh

Il n'y a pas de Data Sheet des cartes Arduino, il faut faire avec les Data Sheet des microcontrolleurs utilisés sur ces cartes et ajouter les infos de la 'couche Aruino' plaquée dessus (dans le but de simplifier l'utilisation des microcontrolleurs)

Si tu es habitué aux data Sheet des microcontrolleurs et à la lecture des schémas des cartes tu n'aura pas de mal identifier à quelle broche réelle d'un Port correspond une Pin au 'point de vue Arduino'.

Data sheet de l'ATmeg32u4: https://www.mouser.com/datasheet/2/268/7766s-1065155.pdf
Schéma de la carte Micro : https://content.arduino.cc/assets/arduino_micro_schematic.pdf
NB : sur son site Arduino donne accès aux schémas des cartes

Sur le 'pinout donnée ci dessus par @J-M-L les numéros de broches sur les Ports apparaissent , ce n'est pas toujours le cas sur les dessins 'pinout' du même style

On rencontre souvent une situation analogue où un facbricant de carte décide de repabtiser les Entrées/Sorties en utilsant des repères qui lui paraissent plus 'logiques' que le repérage 'physique' sur les Ports. L'essentiel est d'avoire la correspondance si on met le nez dans les data Sheet !!

Bonjour J-M-L Jackson et al1fch.
Merci pour vos réponses.

A J-M-L Jackson :

  • J'avais bien vu qu'il y avait une partie francophone du forum. J'avais crû créer mon message au bon endroit. Je me suis rendu compte après coup de mon erreur.
  • En ce qui concerne les "pinout diagrams", je les avais déjà trouvés, mais cela ne répondait pas à ma question, car ce qui est appelé "pin number" pour une E/S digitale d'un Arduino n'a rien à voir avec les numéros de pin de tous les composants électronique digitaux que je connais (que ce soient des circuits logiques ou des microcontrôleurs), où il s'agit de la numérotation des broches (par exemple si un circuit à 14 broches, la pin numéro 1 est celle à côté d'un repère donné, la pin numéro 2 est la suivante juste à côté dans le sens inverse des aiguilles d'une montre, etc). Ici, d'après votre réponse, je vois que le mot "pin number" n'a pas du tout ce sens puisque c'est le nombre dans le nom de la pin (D14 -> pin number : 14). Dans les composants que je connais, si on prend comme repère le connecteur USB et qu'on considère que la pin numéro 1 est la première à gauche de ce connecteur, le "pin number" de la pin appelée D14 serait 16. C'est une bizarrerie de plus (et à mon avis du vocabulaire inadapté) dans le monde Arduino, comme l'utilisation des mots "sketch" et "téléverser". Faudra que je m'habitue.

A al1fch :
Effet, J'ai déjà dû utiliser la data sheet d'un microcontrôleur ATmega pour avoir certaines informations (pour la consommation des entrées analogiques), mais dans le cas présent cette data sheet, ainsi que le schéma fourni (que j'avais déjà), ne pouvaient pas répondre à ma question.

Bonne journée.

Bonjour

Sur le schéma peut voir les 4 repérages complémentair de chaque entrée/sortie

l'entre sortie nommée D7 dans un programme (sketch) est aussi :
-la 12ème patte du module (le 1 étant dans un angle)
-la première patte du circuit intégré ATmega 32U4 (le 1 étant dans un angle du boitier)
-la pin 6 du Port PE du 32u4
Le schéma établit la correspondance entre ces 4 repérages

Avec Arduino il y a effectivement , par rapport aux cartes de développement des constructeurs de puces, un systeme de repérage supplémentaire à utiliser dans le code

Sur ue carte Microchip ou Texas Instruments l'entrée/sortie que jai repéré au dessus serait nommée PE6 et marquée comme cela sur la sérigraphie.

En fait, les cartes Arduino sont des modules on utilise l'identification des broches indiqué sur ledit module. Je n'ai jamais eu entre les mains une carte Arduino dont les broches ne sont pas identifiées. Cela dit une fois la carte implantées dans un montage ou sur une breadboard il n'est pas rare que les numéros soient cachés.
Lorsqu'on veut faire le lien entre la datasheet du microprocesseur et la carte Arduino il est nécessaire de trouver le schéma de la carte pour s'y retrouver.

Il faut garder en tête que l'univers "Arduino", en fait l'univers Wiring, arduino étant un fork non amical, a été pensé pour des artistes en publicité qui n'avait même pas l'idée de ce que pouvait être une datasheet.

D'où les termes "sketch" et "Shield" pour respectivement code source et carte fille ou mezzanine.

Merci pour toutes vos réponses. C'est maintenant clair pour moi.
Pour 68tjs : j'ai bien ri à ta réponse. Je comprends mieux...

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.