Les capteurs semblent simples : plus, moins, signal. Mais il y a quatre choses qui tournent mal régulièrement, et aucune n'a de rapport avec le capteur lui-même.

Tension : 3,3 V ou 5 V — et le signal ?

Beaucoup de capteurs fonctionnent sous 5 V, d'autres sous 3,3 V. Jusque-là, c'est clair. Mais la tension du signal de sortie, c'est une autre histoire. Un capteur alimenté en 5 V renvoie aussi un signal en 5 V. Envoyer ce signal directement sur un microcontrôleur 3,3 V — comme un ESP32 ou un Raspberry Pi — cause des dégâts. Parfois immédiatement, parfois progressivement.

La solution est un level shifter, ou pour les cas simples un diviseur de tension avec deux résistances. Le CRG0805F10K (10 kΩ) et le CRCW0805330RFKEA (330 Ω) forment ensemble un simple diviseur qui donne un signal 3,3 V à partir d'une entrée 5 V. Attention : ça fonctionne uniquement pour des signaux lents et unidirectionnels — pas pour l'I2C ou le SPI.

Analogique, numérique ou bus

Un capteur analogique renvoie une tension proportionnelle à ce qu'il mesure. Un LDR ou une NTC donne une tension variable ; tu la lis sur une broche analogique et tu la reconvertis en valeur mesurée. Simple, mais sensible aux parasites sur de longs câblages.

Un capteur numérique donne haut ou bas — un seuil est dépassé ou non. C'est robuste et facile à lire, mais tu perds toute nuance.

Un capteur sur bus communique via un protocole. I2C et SPI sont les plus utilisés. L'I2C utilise deux lignes (SDA et SCL) sur lesquelles plusieurs capteurs peuvent se brancher, mais nécessite des résistances pull-up sur les deux lignes — typiquement 4,7 kΩ à 100 kHz. Le SPI est plus rapide mais utilise quatre lignes par capteur.

Coin plantes avec capteur d'humidité du sol en terre, connecté à une carte de développement

Longueur de câble et bruit

Longs câbles et capteurs analogiques font mauvais ménage. Chaque mètre de câble capte du bruit. Un capteur d'humidité du sol sur 2 mètres de fil planté en terre donnera rarement des valeurs stables — c'est un problème de câblage, pas un mauvais capteur.

Pour les plus grandes distances, choisis un protocole conçu pour ça : l'I2C fonctionne raisonnablement jusqu'à environ 1 mètre à vitesse normale, le SPI un peu plus loin, mais pour de vraies distances regarde 1-Wire, RS-485 ou un capteur avec traitement du signal intégré.

Commence petit, construis progressivement

Teste chaque capteur séparément d'abord : courts câbles, alimentation connue, programme exemple simple. Est-ce que ça fonctionne stablement et donne des valeurs attendues ? Alors seulement ajoute d'autres capteurs.

Deux capteurs sur le même bus I2C avec la même adresse — c'est une erreur fréquente. Vérifie l'adresse I2C de chaque appareil dans la fiche technique avant d'assembler le bus.

Erreur courante

Le connecteur rentre, donc ça marche. C'est faux. Vérifie la tension, le brochage et le niveau de signal avant de connecter. Un capteur mal branché peut s'endommager lui-même, endommager ton microcontrôleur, ou simplement ne rien faire — et tu n'as alors aucune idée laquelle des trois situations c'est.