Auteur Sujet: DCC++ & Arduino Uno R4 WiFi  (Lu 1856 fois)

Matth_76

  • Newbie
  • *
  • Messages: 6
    • Voir le profil
DCC++ & Arduino Uno R4 WiFi
« le: novembre 22, 2024, 12:16:07 am »
Bonjour,

Dans le cadre de mon projet de construction d'un mini réseau automatisé à l'échelle N, j'ai trouvé intéressant de pouvoir travailler avec la carte Arduino Uno R4 WiFi. En effet avec son processeur plus rapide, le WiFi intégré, la matrice LED et le support du Bus CAN natif, cette carte semble bien adaptée pour mon projet.
Le problème est que malgré son nom très similaire à l'Arduino Uno Rev3 le processeur n'est pas le même et la librairie DCC++ ne la supporte pas.

J'ai donc travaillé sur la modification de la Base station DCC++ de Gregg E. Berman pour cette carte. Ma base station se compose uniquement d'un Arduino Uno R4 Wifi et d'un Arduino Motor Shield (clone de Deek Robot en réalité). Le signal DCC sort par les pin 12 (voie principale) et 13 (voie de programmation) de l'Arduino donc aucun câble jumper n'est requis!

Avec cette configuration, le pilotage des locomotives fonctionne bien soit via Serial ou WiFi. Je ne vous cache pas que cela n'a pas été sans effort!

Pour l'instant la lecture des CVs ne fonctionne pas. Il semblerait qu'il y ait une différence entre les 2 cartes Uno Rev3 et R4 au niveau des pins analogiques utilisés pour la lecture. Etant donné que la programmation des locomotives n'est pas une priorité pour moi je ne vais pas trop investir du temps sur ce sujet pour le moment.

Pour les éventuels intéressés, le code (livré sans garantie) de ce projet se trouve ici https://github.com/moverney/DCCpp_UnoR4/tree/develop. Ce code est nettement perfectible mais c'est un premier jet sur lequel je vais pouvoir m'appuyer pour mon projet.

Bien à vous.

bk4nt

  • Full Member
  • ***
  • Messages: 105
    • Voir le profil
Re : DCC++ & Arduino Uno R4 WiFi
« Réponse #1 le: novembre 22, 2024, 01:01:51 am »
le processeur n'est pas le même et la librairie

Je ne vous cache pas que cela n'a pas été sans effort!

Il semblerait qu'il y ait une différence entre les 2 cartes Uno Rev3 et R4 au niveau des pins

Bonjour,

Il est assez courant qu'un sketch ou une librairie développée sur un Arduino à CPU de modèle X ne fonctionne pas sur d'autres modèles.

D'un modèle de CPU à un autre, les fonctionnalités des pins ne sont pas forcément les mêmes. C'est notamment le cas pour des pins supportant ou non des interruptions.

Ca oblige d'aller voir un peu la doc des CPU pour lesquelles un sketch ou une librairie a été développée. Ou de s'intéresser plus aux pins utilisés. Puis de réaffecter les pins dans le sketch, voir dans les librairies qu'on utilise.

Parfois, réaffecter des pins permet de "porter" du code d'un modèle de CPU à un autre.