SPI et I²C transmettent des commandes numériques, mais ils n’imposent ni le même câblage ni les mêmes contraintes d’intégration. Pour choisir, vérifiez d’abord l’interface réellement prise en charge par le composant, puis ses limites analogiques.
Pour commander un potentiomètre numérique, choisissez un protocole que le composant prend effectivement en charge, puis vérifiez qu’il s’intègre aux ressources de votre carte et au reste du bus. SPI se prête souvent à une liaison dédiée, rapide et simple à déboguer, tandis qu’I²C permet de partager deux lignes entre plusieurs périphériques adressables.
Cette comparaison concerne la transmission des commandes, pas la résistance ni le comportement analogique du potentiomètre. Un modèle piloté en SPI ou en I²C reste soumis à des limites de tension, de courant, de puissance et de résolution définies par sa fiche technique.
Ne pas confondre protocole et composant
Un potentiomètre numérique reçoit des ordres par une interface logique et modifie la position de son curseur parmi des valeurs discrètes. Selon le modèle, il peut fonctionner en diviseur de tension à trois bornes ou comme résistance variable à deux bornes. Le protocole décrit comment lui transmettre des données, pas la manière dont il agit sur le signal analogique.
Un même composant ne prend pas nécessairement en charge les deux standards. Certains modèles utilisent SPI, d’autres I²C, et d’autres encore une commande spécifique par impulsions, direction et validation. Ainsi, la mention « numérique » ne garantit pas la compatibilité avec une bibliothèque ou un bus donné. Vérifiez dans la fiche technique le nom de l’interface, le format des trames, les broches utilisées et les séquences de commande.
Le protocole SPI d’un potentiomètre numérique n’indique pas sa valeur nominale, son nombre de positions ni sa tension analogique admissible. De même, le protocole I²C d’un potentiomètre numérique ne renseigne pas à lui seul sur la résistance du curseur ou le courant maximal. Ces caractéristiques doivent être comparées séparément.
À retenir Commencez par sélectionner un composant compatible avec votre usage analogique et votre plage de tension. Comparez ensuite son interface de commande avec les protocoles déjà disponibles sur la carte.
Pour repérer les différentes familles de composants, consultez la rubrique des potentiomètres ajustables et numériques. Ne supposez pas que tous les produits d’une même catégorie suivent le même protocole.
SPI : une liaison dédiée et flexible
SPI utilise une horloge, une ligne de données de la carte vers le périphérique, généralement appelée MOSI, et, si le composant en a besoin, une ligne de retour MISO. Une ligne de sélection, souvent nommée CS ou SS, permet d’activer le périphérique visé. La masse doit également être commune entre les appareils. Pour un potentiomètre qui ne fait que recevoir des commandes, MISO peut être absent ou inutilisé.
Plusieurs périphériques SPI peuvent partager l’horloge et les lignes de données. Il faut toutefois généralement une sélection distincte pour chacun, sauf si le montage emploie un décodeur ou une autre organisation prévue à cet effet. SPI n’impose pas un système universel d’adresses : la carte sélectionne le composant matériellement, puis envoie les bits selon le format attendu par celui‑ci.
Cette organisation peut être pratique lorsqu’un seul potentiomètre numérique est connecté ou lorsque la carte dispose de broches de sélection libres. Elle évite les résistances de rappel propres à un bus I²C classique et permet souvent des transferts soutenus à une fréquence élevée. Mais il n’existe pas de fréquence garantie pour tous les composants : la limite dépend de la fiche technique, de la carte et du câblage.
Le pilote logiciel doit aussi respecter les paramètres précis du périphérique : polarité et phase de l’horloge, ordre des bits, nombre de bits par trame et durée de sélection. Deux appareils SPI peuvent exiger des réglages différents, même s’ils partagent les mêmes lignes. Respectez leur protocole plutôt que de supposer qu’une bibliothèque SPI générique suffit à commander le curseur.
I²C : un bus partagé avec adresses
I²C transmet les données sur deux lignes partagées : SDA pour les données et SCL pour l’horloge. Les périphériques reliés au même bus sont distingués par une adresse, selon les possibilités prévues par leur référence. La communication comprend notamment des conditions de départ et d’arrêt ainsi que des acquittements. Le microcontrôleur peut donc communiquer avec plusieurs composants en conservant les mêmes deux lignes.
Cette économie de broches est utile sur une carte embarquée qui pilote déjà des capteurs ou d’autres circuits I²C. Elle ne signifie pas que le câblage est sans précaution. Les lignes nécessitent normalement des résistances de rappel vers une tension compatible. Leur valeur et la fréquence utilisable dépendent entre autres de la capacité totale du bus, de sa longueur et des caractéristiques des appareils. Vérifiez également si la carte ou un module intègre déjà ces résistances : plusieurs rappels en parallèle peuvent modifier leur valeur équivalente.
L’adresse est un critère important. Elle peut être fixe ou configurable selon le composant. Si deux appareils présentent la même adresse et ne peuvent pas être différenciés par une option prévue par le fabricant, la carte risque de ne pas pouvoir leur envoyer des commandes séparées sur le même bus. Contrôlez aussi le nombre d’adresses disponibles lorsque plusieurs exemplaires du même potentiomètre sont envisagés.
Le logiciel doit envoyer les octets et les commandes dans le format attendu. Une bibliothèque I²C gère les opérations de base du bus, mais elle ne connaît pas automatiquement la signification des registres propres au potentiomètre. Il faut donc associer les bonnes séquences, vérifier les retours d’erreur ou les acquittements et tenir compte des éventuels délais de mise à jour.
Le protocole I²C d’un potentiomètre numérique est souvent intéressant quand vous souhaitez réduire le nombre de broches et partager le bus. Il ne constitue pas pour autant un choix automatique : adresse indisponible, capacités électriques du bus ou prise en charge logicielle peuvent rendre SPI plus simple dans un montage précis.
Comparatif du câblage et de l’intégration
Le nombre de connexions dépend du nombre de périphériques et des options de lecture. Le tableau donne les repères habituels, sans compter les alimentations et la masse, indispensables dans les deux cas. Les broches réellement nécessaires restent celles indiquées dans la documentation du composant.
| Critère | SPI | I²C |
|---|
| Lignes de données et d’horloge | Horloge et données vers le périphérique ; retour de données parfois nécessaire | Deux lignes partagées, SDA et SCL |
| Sélection du périphérique | Souvent une ligne CS par appareil, ou un circuit de décodage | Adresse transmise sur le bus |
| Partage entre périphériques | Lignes communes, sélection généralement distincte | Lignes communes et adresses distinctes |
| Éléments électriques à vérifier | Niveaux logiques, fréquence, charge et longueur des liaisons | Niveaux logiques, résistances de rappel, capacité et longueur du bus |
| Point d’attention logiciel | Mode d’horloge, ordre des bits et format propre au composant | Adresse, séquence d’octets et acquittements |
Ce comparatif ne remplace pas le schéma d’application de la fiche technique. Le nombre total de fils peut varier, par exemple si le potentiomètre fournit une sortie de lecture ou si plusieurs composants sont commandés. Le choix entre SPI et I²C pour un potentiomètre dépend donc autant des ressources disponibles que de la configuration réelle du circuit.
Les critères analogiques restent essentiels
Une commande correcte ne rend pas automatiquement le potentiomètre adapté au signal. Avant de comparer les protocoles d’un montage embarqué, définissez le rôle du composant : réglage d’un seuil, atténuation, polarisation ou autre fonction. Identifiez ensuite la façon dont ses bornes seront utilisées et les tensions qui pourront s’y trouver.
- Plage de tension analogique : la tension appliquée aux bornes et au curseur doit rester dans les limites indiquées. Elle n’est pas nécessairement égale à la tension logique du bus.
- Courant et puissance : vérifiez le courant admissible dans le curseur et la puissance dissipée par le composant. Un potentiomètre numérique ne remplace pas automatiquement une résistance de puissance ou une commande de charge.
- Valeur et résolution : la résistance totale et le nombre de positions déterminent la plage et la finesse des réglages disponibles. La variation est discrète, pas continue comme celle d’un potentiomètre mécanique.
- Résistance du curseur et tolérance : ces paramètres peuvent influer sur la précision du circuit, surtout si l’impédance de charge est faible.
- Signal et fréquence : les limites de bande passante, de distorsion ou de bruit dépendent du modèle et de l’application. Pour l’audio ou un signal rapide, examinez les spécifications prévues pour ces conditions.
Un potentiomètre numérique peut également avoir une mémoire volatile ou non volatile. Dans le premier cas, sa position peut revenir à une valeur définie à la mise sous tension ; dans le second, le curseur peut être restauré ou mémorisé selon les fonctions disponibles. Si la mémoire utilise un nombre limité de cycles d’écriture, évitez d’enregistrer une nouvelle position à chaque mise à jour sans vérifier la durée de vie spécifiée.
La tension d’alimentation logique et les tensions analogiques admissibles sont deux sujets distincts. Assurez-vous que les niveaux du microcontrôleur sont compatibles avec SDA/SCL ou avec les entrées SPI, mais vérifiez séparément que le signal traversant le potentiomètre respecte les limites de ses bornes. Une mise sous tension dans un ordre particulier peut aussi être imposée pour éviter d’appliquer un signal analogique à un composant non alimenté.
Choisir selon le montage
Un choix méthodique évite de retenir une interface uniquement parce qu’elle est familière. Procédez dans cet ordre :
- Décrivez la fonction analogique. Précisez si le composant agit comme diviseur de tension ou résistance variable, puis établissez les plages de tension, le courant et la puissance nécessaires.
- Filtrez les références compatibles. Comparez la valeur nominale, la résolution, la résistance du curseur, le nombre de voies, les limites analogiques et le comportement à la mise sous tension.
- Confirmez le protocole exact. Relevez le brochage, la tension logique, les paramètres de communication, l’adresse éventuelle et les commandes nécessaires pour déplacer le curseur.
- Faites l’inventaire de la carte. Pour SPI, comptez les lignes de sélection disponibles et les appareils déjà connectés. Pour I²C, vérifiez la disponibilité de SDA et SCL, les adresses et les résistances de rappel présentes.
- Évaluez le logiciel et la reprise après démarrage. Assurez-vous que la bibliothèque ou le pilote sait envoyer les commandes requises, puis déterminez comment initialiser ou retrouver une position reproductible.
- Testez le circuit en charge. Mesurez la tension du curseur et observez le comportement dans les conditions d’utilisation prévues. Une mesure sans la charge réelle peut masquer une interaction entre le potentiomètre et l’entrée du circuit.
SPI est souvent le choix pratique pour une liaison courte à un périphérique sélectionné par une broche, en particulier si la carte possède déjà un pilote adapté. I²C est souvent plus commode si plusieurs circuits partagent déjà le bus et si une adresse est disponible. Ces tendances ne sont pas des règles absolues : le meilleur choix est celui qui respecte simultanément le composant, le câblage, les ressources et le logiciel.
Pour un projet avec une carte Arduino, comparez les composants de la rubrique des potentiomètres prévus pour les montages Arduino avec la documentation de la carte et du module retenu. La compatibilité mécanique ou la présence d’un brochage pratique ne confirme pas, à elle seule, le protocole utilisé.
Un assortiment de potentiomètres rotatifs et de trimmers pour varier vos montages Arduino et électroniques.
Deux modules X9C103S de 10 kΩ pour régler une résistance par commande numérique dans vos montages.
Erreurs fréquentes et vérifications finales
Une confusion courante consiste à assimiler tout pilotage série à SPI ou I²C. Certains potentiomètres utilisent une interface à trois signaux, par exemple des commandes de direction et d’incrémentation, qui ne sont pas l’un de ces deux bus standards. Le module à X9C103S en est un exemple : vérifiez sa séquence de commande plutôt que de lui appliquer un pilote SPI ou I²C par défaut.
Autre erreur : choisir uniquement selon le nombre de fils. Deux lignes I²C peuvent sembler préférables à une sélection SPI supplémentaire, mais une adresse déjà occupée ou un bus chargé complique l’intégration. À l’inverse, SPI peut être simple avec un seul appareil, mais le nombre de broches de sélection augmente à mesure que le montage s’étoffe.
Enfin, ne confondez pas une variation de position réussie avec un fonctionnement analogique correct. Une commande peut être acquittée alors que la tension au curseur est hors plage, que la charge perturbe le réglage ou que le courant dépasse la limite. Mesurez le signal dans le montage complet et inspectez la fiche technique pour les conditions limites.
Si vous remplacez un réglage mécanique par une commande numérique, examinez aussi les changements de comportement, de plage et de brochage. Le guide sur le remplacement d’un potentiomètre mécanique par un modèle numérique aide à cadrer ces vérifications. Pour découvrir des références et comparer leur usage, vous pouvez également consulter les potentiomètres ajustables traversants, sans présumer que chaque référence est un modèle numérique compatible avec votre bus.
Douze valeurs et cinq exemplaires de chacune pour ajuster vos circuits, du dépannage aux prototypes électroniques.
Douze valeurs de trimmers multitours pour ajuster vos circuits avec un réglage progressif et maîtrisé.
En résumé, SPI facilite souvent une liaison dédiée et I²C le partage de deux lignes, mais aucun ne définit les propriétés analogiques du composant. Identifiez l’interface exacte, puis validez les caractéristiques du curseur et les contraintes électriques avant de figer le schéma et le code.
Les prix indiqués sont ceux constatés à la date mentionnée ; seul le prix affiché lors de la commande fait foi.