Les deux pins RX et TX servent à faire une communication UART (souvent appelée "série") entre deux composants.
J'ai par exemple un capteur de distance acheté sur la boutique qui utilise ce protocole pour communiquer avec l'arduino.
En soit, l'atmega328P (le microcontrôleur présent dans la plupart des arduinos), ne supporte pas l'USB. Du coup, il y a un petit composant en plus sur l'Arduino qui fgère l'USB. Ce composant communique avec le microcontroleur en UART, et utilise donc les pins RX/TX. Par conséquent, si tu veux utiliser l'USB (pour faire du Serial.print par exemple), alors tu ne peux pas utiliser les pins 0 et 1 pour autre chose.
Vu que la programmation se fait par l'USB (en général, il existe d'autres méthodes mais elles sont beaucoup plus compliquées donc quasiment jamais utilisées), la programmation utilise aussi ces pins : si tu y branche quelque chose, selon ce que c'est, ça peut interférer avec la programmation ou pas.
En règle générale :
- tu n'utilises pas les pins 0 et 1 si tu peux utiliser d'autres pins
- si vraiment tu as besoin de toutes les pins, tu débranche ce qu'il y a sur les pins 0 et 1 pendant la programmation
- si tu as besoin de communication UART/Serie autre que pour l'USB, le plus souvent ça vaut le coup de simuler la communication UART sur d'autres pins via la bibliothèque softSerial.
Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...
Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.