Skip to content

S0/S1, qu’est ce que c’est?

Le capteur TCS230 ne donne pas directement une couleur ou un nombre.

Il sort un signal carré (comme un train d’impulsions) sur la broche OUT.

La fréquence de ce signal est inversement proportionnelle à l’intensité lumineuse détectée.

Mais cette fréquence peut être très élevée (des centaines de kHz), donc difficile à lire pour un Arduino, surtout si tu veux faire des calculs derrière.

👉 C’est pour ça qu’on utilise S0 et S1 :

Ils servent à diviser la fréquence du signal de sortie, pour rendre le signal plus facile à lire.


🧠 Tableau de configuration S0 / S1

S0S1Fréquence de sortie
LL0% (sortie désactivée)
LH2% de la fréquence d’origine
HL20%
HH100% (plein débit)

Exemple concret

Imaginons que le capteur veut sortir un signal à 100 kHz (c’est rapide) :

  • Si S0 = H, S1 = H, tu obtiens 100 kHz → difficile à mesurer avec pulseIn()
  • Si S0 = H, S1 = L, tu obtiens 20% de 100 kHz = 20 kHz → plus facile pour Arduino
  • Si S0 = L, S1 = H, tu obtiens seulement 2 kHz
  • Si S0 = L, S1 = L, la sortie est désactivé.

La plus pratique est :

cpp
digitalWrite(S0, HIGH);
digitalWrite(S1, LOW);

→ Ça donne 20% de la fréquence d’origine, un bon compromis entre précision et vitesse.

En résumé :

  • S0 / S1 contrôlent la vitesse du signal OUT
  • Ce n’est pas lié à la couleur, mais à comment tu veux lire le signal
  • Le but est de rendre la fréquence mesurable par ton Arduino, sinon ce serait trop rapide