Arduino UNO Q - RS485
Utilisez la communication série RS485 avec l'Arduino UNO Q et un module TTL vers RS485. Le RS485 prend en charge la communication longue distance (jusqu'à 1200m), une grande immunité au bruit et des topologies de bus multi-appareils — ce qui le rend idéal pour les projets industriels et d'automatisation. Avec Bridge et Telegram, vous pouvez envoyer et recevoir des données RS485 à distance depuis Python ou votre téléphone.
Dans ce tutoriel, vous apprendrez :
- Comment fonctionne la communication RS485 et pourquoi un module TTL vers RS485 est nécessaire
- Comment câbler le module TTL vers RS485 sur l'Arduino UNO Q
- Comment envoyer et recevoir des données via RS485 sur Arduino UNO Q
- Comment utiliser Bridge pour contrôler la communication RS485 depuis Python sur Arduino UNO Q
- Comment envoyer et recevoir des données RS485 via Telegram sur Arduino UNO Q
- Comment utiliser OpenClaw sur Arduino UNO Q avec RS485

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À Propos du Module TTL vers RS485
Le MCU de l'Arduino UNO Q communique via UART en utilisant des niveaux logiques TTL (3,3V). Les signaux TTL ont une portée limitée. Pour communiquer sur de longues distances avec des appareils compatibles RS485 (capteurs, variateurs, compteurs, contrôleurs industriels), vous devez convertir les signaux TTL vers le standard différentiel RS485. Le module TTL vers RS485 effectue cette conversion dans les deux sens.
Avantages clés du RS485 :
- Longue distance : jusqu'à 1200 mètres
- Grande immunité au bruit
- Bus multi-drop : jusqu'à 32 appareils sur un seul bus

Brochage
- Interface TTL (connecte à l'Arduino UNO Q MCU) :
- VCC : Alimentation — connecter à 3,3V
- GND : Masse
- RXD : Entrée de données — connecter à la broche TX du MCU (D6)
- TXD : Sortie de données — connecter à la broche RX du MCU (D7)
- Interface RS485 :
- D+ (A ou TR+) : Ligne de données différentielle A
- D- (B ou TR-) : Ligne de données différentielle B
- GND : Optionnel — connecter pour réduire le bruit
Schéma de Câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Broche Module TTL-vers-RS485 | Broche MCU Arduino UNO Q | Remarque |
|---|---|---|
| VCC | 3,3V | |
| GND | GND | |
| RXD | D6 (MCU TX) | |
| TXD | D7 (MCU RX) |
Connectez D+ et D- au bus RS485. Pour les tests avec un PC, connectez-les à un adaptateur USB vers RS485.
Comment Programmer pour RS485
- Inclure SoftwareSerial et créer un objet série RS485 :
- Lire les données RS485 entrantes :
- Envoyer des données via RS485 :
Code Arduino UNO Q
Étapes Rapides
Première utilisation d'Arduino UNO Q ? Suivez le tutoriel Démarrer avec Arduino UNO Q avant de continuer.
- Connecter : Câblez le module TTL vers RS485 sur le MCU de l'Arduino UNO Q comme indiqué dans le schéma de câblage.
- Ouvrir Arduino App Lab : Lancez Arduino App Lab et attendez qu'il détecte votre Arduino UNO Q.
- Créer une nouvelle application : Cliquez sur le bouton Créer une nouvelle application.

- Donnez un nom à l'application, par exemple : RS485
- Cliquez sur Créer pour confirmer.

- Coller le sketch : Copiez le code MCU ci-dessus et collez-le dans sketch/sketch.ino.
- Téléverser : Cliquez sur le bouton Exécuter dans Arduino App Lab.

Test
Pour tester la communication RS485 :
- Connectez les broches D+ et D- à un adaptateur USB vers RS485 :

- Réglez le débit en bauds sur 9600, sélectionnez le bon port COM.
- Tapez n'importe quel texte et envoyez-le. L'Arduino UNO Q le renverra en écho — vous devriez voir les données en écho dans le terminal.
Bridge : Linux + MCU
Cette section montre comment envoyer et recevoir des données RS485 depuis le côté Linux (Python) via Bridge :
- Le module TTL vers RS485 est connecté au MCU via SoftwareSerial — le MCU gère toutes les entrées/sorties série
- Le MPU ne peut pas utiliser SoftwareSerial directement — il appelle des fonctions Bridge pour envoyer/recevoir des données RS485
- Le MPU dispose du Wi-Fi — exécutant Debian Linux complet, il peut relayer les données RS485 vers Telegram ou des services web
- Arduino_RouterBridge permet la communication RPC entre les deux processeurs
- ⚠️ /dev/ttyHS1 (Linux) et Serial1 (MCU) sont RÉSERVÉS par le routeur — ne les ouvrez jamais dans le code utilisateur
Code MCU (Bridge)
Code Python (Bridge)
Étapes Rapides
- Connecter : Câblez le module TTL vers RS485 sur l'Arduino UNO Q comme indiqué ci-dessus.
- Ouvrir Arduino App Lab et créer une nouvelle application nommée RS485Bridge.
- Coller le sketch MCU dans sketch/sketch.ino.
- Coller le code Python dans le fichier Python.
- Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.

- Search for Arduino_RouterBridge created by Arduino and click the Install button.
- Téléverser : Cliquez sur le bouton Exécuter. Python enverra un message via RS485 et lira les données reçues en écho.

Sortie de la Console App Lab
Telegram
Envoyez et recevez des données RS485 via Telegram — transmettez les messages de capteurs industriels vers votre téléphone ou envoyez des commandes Telegram vers un appareil RS485.
Sketch MCU : Gardez le même sketch MCU de la section Bridge précédente.
Code Python (Telegram)
Étapes Rapides
- Remplacez YOUR_TELEGRAM_BOT_TOKEN par votre token de bot réel obtenu auprès de BotFather.
- Remplacez YOUR_CHAT_ID par votre identifiant de chat Telegram.
- Collez le code Python dans le fichier Python de votre application (gardez le même sketch MCU).
- Cliquez sur le bouton Exécuter — envoyez /send Hello dans Telegram pour transmettre des données via RS485.
Sortie de la Console App Lab
ArduinoBot
Intégration d'OpenClaw
Vous pouvez adapter OpenClaw à ce tutoriel en vous référant aux instructions du tutoriel Arduino UNO Q - OpenClaw.
Idées de Projets
Vous pouvez créer de nombreux projets utiles avec la communication RS485 et l'Arduino UNO Q :
- Réseau de capteurs industriels : Connectez plusieurs capteurs RS485 (température, humidité, débit) sur un seul bus ; le MCU interroge chaque appareil par adresse, collecte les relevés, et Python envoie des résumés périodiques à Telegram
- Enregistreur de données Modbus RTU : Utilisez le bus RS485 pour lire les registres Modbus RTU depuis un compteur d'énergie ou un variateur de fréquence ; Python enregistre les données dans un fichier et envoie des alertes lorsque les valeurs dépassent les seuils
- Contrôle de relais longue distance : Faites passer le câble RS485 sur 100m jusqu'à un tableau de relais distant ; envoyez /send RELAY_ON depuis Telegram et l'Arduino UNO Q transmet la commande via RS485 pour activer le relais
- Panneau de contrôle d'accès : Connectez un contrôleur d'accès RS485 au module ; le MCU lit les événements de porte, et Python les transmet comme notifications Telegram — indiquant quelle porte s'est ouverte et à quelle heure
- Passerelle d'automatisation du bâtiment : Faites le pont entre les contrôleurs HVAC ou d'éclairage RS485 et Internet ; Python traduit les commandes Telegram en chaînes de commande RS485 et les envoie via la fonction Bridge send_rs485
Défiez-vous
Prêt à aller plus loin avec RS485 sur Arduino UNO Q ? Essayez ces défis :
- Facile : Étendez le sketch Bridge pour accumuler les octets reçus en lignes (en utilisant \n comme délimiteur) et exposez la dernière ligne complète via get_last_line — évitant les lectures partielles lorsque les données RS485 arrivent par fragments.
- Moyen : Implémentez un filtre d'adresse de style Modbus : modifiez la boucle de réception MCU pour n'accepter que les messages commençant par un octet d'adresse d'appareil spécifique (ex. 0x01), ne mettant en mémoire tampon que les trames valides — et exposez la charge utile filtrée via get_received.
- Avancé : Créez un système d'interrogation multi-appareils : stockez une liste d'adresses d'appareils RS485 dans un fichier JSON Python ; Python envoie séquentiellement une commande de requête à chaque adresse via send_rs485, attend une réponse via get_received, et enregistre chaque réponse dans un fichier CSV horodaté — créant un enregistreur de données RS485 léger fonctionnant entièrement du côté Linux de l'Arduino UNO Q.