LOCODUINO

Adieu Uno, bonjour Uno !

. Par : Christian

Les nouvelles cartes Uno R4 La nouvelle carte Uno R4 (pour révision 4) est certainement appelée à remplacer la traditionnelle carte Uno R3 largement décrite et utilisée dans les articles de LOCODUINO. Elle se décline en deux versions, une minimaliste (si on peut dire) appelée Uno R4 Minima et une autre connectable en WiFi et Bluetooth appelée (…)

Retourner à l'article

Vous répondez à :

Gestion des interruptions 15 septembre 2023 16:53, par msport

Bonjour,
il est peut être plus facile d’adapter un soft que de le créer pour un matériel donné.
Cordialement

Voir en ligne : ex-dccinspector

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

18 Messages

  • Bonjour,

    En me basant sur les exemples fournis par Arduino.cc et forum Arduino, j’ai implanté un serveur Web et un serveur telnet sur une carte UNO R4.

    Mais cela ne fonctionne pas, quand un client web ou telnet se connectent en même temps, cela conduit à un plantage de la carte.
    Certains commentaires évoquent des problèmes de librairies

    Avez-vous des informations à ce sujet ?

    Georges

    Répondre

    • J’ai bien peur de ne pas avoir assez de connaissances dans ce domaine, car comme vous le savez, notre site est spécialisé en modélisme ferroviaire et nos besoins en WiFi sont beaucoup plus modestes. Pour écrire cet article, je me suis contenté de tester les exemples donnés sur le site Arduino et de voir si la carte R4 WiFi était bien compatible IoT. Tout a fonctionné, donc je me suis limité à cela.
      Je pense que le forum Arduino pourra vous apporter une réponse de meilleure qualité.
      Cordialement.

      Répondre

    • Bonjour,
       
      Je ne suis pas non plus spécialiste de l’ESP32 même si j’en ai fait un peu mais il y a cette réponse sur le forum d’Espressif qui indique qu’il ne peut y avoir qu’un seul socket qui écoute sur un ESP32 : https://esp32.com/viewtopic.php?f=4...
       
      Il y a également une limite du nombre de sockets qui de mémoire est par défaut de 4 et ne peut dépasser 10.

      Répondre

  • Adieu Uno, bonjour Uno ! 11 août 2023 15:56, par Dominique

    J’ai jeté un coup d’oeil rapide aux exemples CAN de l’Arduino R4 (CanRead et CanWrite).

    A première vue c’est assez simple mais un peu sommaire et pas aussi pratique que la bibliothèque ACAN de Pierre Molinaro qui est plus complète avec des fonctions de filtrage et de traitement associés.

    Répondre

  • Adieu Uno, bonjour Uno ! 3 septembre 2023 12:32, par Lucien Brisset

    Bravo pour cet article clair et précis permettant aux "Arduinotistes" de mettre en œuvre et surtout de comprendre certaines subtilités de la carte Uno R4.
    En tant que modélistes ferroviaire, j’ai toujours été passionné d’automatismes simples et créatifs. C’est pour cela que je préfère rester en DC plutôt qu’en DCC qui revient au fil des ans à accumuler un matériel très sophistiqué et surtout très couteux qui, à mon sens, sort de l’esprit "modéliste" et crée une sorte de ségrégation au détriment de la créativité décourageant du même coup les jeunes du modélisme ferroviaire.
    J’ai parcouru de nombreuses manifestations et expositions de clubs au cours des dernières années, j’ai admiré les immenses réseaux demandant des centaines voire des milliers d’heures de travail (Miniworld Lyon par exemple) mais comment devant ces magnifiques spectacles motiver des jeunes sans grandes ressources financières à pratiquer un tel Hobby. Je suis toujours désolé de voir que dans toutes ces manifestations magnifiques avec des circuits de plusieurs mètres de longueur, où circulent des monuments de mécanique et d’électronique, on a l’impression de se retrouver entre "retraités aisés" avec très peu de jeunes autour.
    Je pense que si l’on veut redynamiser notre hobby il faut revenir à des conceptions simples alliant créativité (les décors par exemple) et technicité abordable et compréhensive.

    Répondre

    • Adieu Uno, bonjour Uno ! 3 septembre 2023 15:29, par Christian

      Bonjour Lucien,
      C’est tout à fait ce que je pense : le modélisme, c’est avant tout construire. Le champ est varié et peut aller du décor au matériel roulant, en passant par l’électronique reproduisant un automatisme. Hélas, les modélistes, souvent âgés et aisés (parfois même fortunés), préfèrent acheter tout fait pour être sûrs que ça fonctionne. Pour preuve, le réseau en N sous Train Controller Gold, décrit dans les deux derniers Loco-Revue (août et septembre 2023), qui revient quand même à 2400 euros juste pour la commande ! Et il faut aussi des rails, des locos des wagons et du décor. Tant mieux pour son propriétaire s’il peut se le permettre, mais nous parlions des jeunes.
      La moindre locomotive coûte actuellement 350 euros (prix moyen), mais que faire d’une locomotive seule ? Pour un budget de 100 euros, un jeune peut s’acheter un drone qui vole immédiatement ou deux jeux vidéos ! Leur choix est vite fait...
      Au delà de l’économie réalisée, le DIY (faites le vous-même) permet en plus de fabriquer ce qui n’existe pas dans le commerce. Et cela permet d’apprendre quelque chose plutôt qu’utiliser un procédé industriel qui ne fera qu’évoluer pour nous forcer à nous rééquiper.
      En 10 ans, j’ai fabriqué à base d’Arduino, tout ce qu’on peut trouver sur un réseau de trains miniatures et mon plaisir est d’en faire profiter les autres. Enfin, ceux qui veulent...

      Répondre

  • Adieu Uno, bonjour Uno ! 3 septembre 2023 17:04, par Lucien Brisset

    Votre réponse m’a fait plaisir ! Enfin quelqu’un qui s’intéresse vraiment au modélisme ferroviaire dans son ensemble et c’est très important car c’est la source de la créativité, de la recherche et de la motivation à aller toujours plus loin sans se heurter à un mur de technologie et de sophistication qui ne se résout qu’à coup de modules électroniques couteux dont on ne maîtrise pas forcement les tenants et les aboutissants car ils sont créés par des ingénieurs en informatique dont l’esprit est assez loin du modélisme ferroviaire.
    Quand j’ai commencé le "train électrique" Jouef déposé sous l’arbre de Noel en 1955, j’étais émerveillé de le voir tourner en rond avec 2 piles 4,5V Wonder en série qui ne s’usent que si l’on s’en sert. J’imaginais déjà placer le long de la voie une voiture ou deux Dinky Toys, des animaux de ferme voir des soldats prêts à combattre ! Plus tard, bien plus tard j’ai commencé à partir d’un réseau tout simple genre Seetrak 400 de construire un circuit avec décors, gare de triage en m’inspirant du fameux catalogue Jouef de la fin des années 1960. J’ai au cours de ces années acheté aussi des locos en soldes de Jouef et Rocco. Et puis est venu Arduino et ... Locoduino avec sa technicité et sa créativité permettant de faire fonctionner les derniers neurones qu’il me reste et je dois dire que cela me permet à moindre coût d’éviter un Alsheimer précoce !
    Alors pourquoi ne pas suggérer à ces jeunes qui rêvent devant les circuits des exposition de modélisme ferroviaire de se dire je vais commencer par un petit circuit (Seetrack 400 par ex) en boucle avec évitement fixé sur une plaque de MDF de 3 mm achetée chez Bricodépot.
    Ensuite lui suggérer de s’initier à Arduino et de placer au niveau de aiguillages un capteur Hall ou deux pour connaitre la position de la locomotive et des aiguillages commandés par un servo-moteur ? Pourquoi ne pas lui demander de regarder sur le net ce qu’étaient les villes et villages dans les années 50-60 et d’essayer de reproduire une maison en carton peinte à la main et bien sûr aller plus loin ensuite ?

    Répondre

    • Adieu Uno, bonjour Uno ! 4 septembre 2023 09:52, par Christian

      Les jeunes sont capables de décider par eux-mêmes de ce qui les intéressent ou ce qu’ils veulent faire. Les peu nombreux qui s’intéressent aux trains miniatures sont souvent mal accueillis sur certains forums où on les infantilise et où on finit par les dégoûter.
      LOCODUINO est ouvert à tous et bien que nous soyons spécialisés en modélisme ferroviaire, nos montages peuvent aussi servir en robotique ou domotique, deux domaines qui sont peut-être plus en vogue.
      Cet espace étant réservé à discuter de l’article, je vous invite à ouvrir un fil sur notre forum afin de voir ce que ces jeunes pourraient attendre de nous. On les aidera avec bienveillance.
      Bien cordialement.

      Répondre

  • Gestion des interruptions 15 septembre 2023 16:27, par Philippe

    Bonjour,

    Je me suis offert une carte R4 minima parce que la R3 ne me semblait pas assez rapide pour faire tourner efficacement un analyseur de trames DCC. Malheureusement, mon analyseur de trames ne compile plus pour le R4, parce que cet analyseur se base sur des interruptions propres au R3.

    Les instructions rejetées sont par exemple
    ISR (INT0_vect)
    TCNT0 = 0 ;
    TCCR0B = 0b00000011 ;
    EICRA = 0b00000001 ;
    EIMSK |= (1 << 0) ;

    Dois-je revoir tout le traitement des interruptions ? Ou existe-t-il une bibliothèque qui assurerait la compatibilité ?

    Merci de votre aide,

    Philippe

    Répondre

    • Gestion des interruptions 15 septembre 2023 16:53, par msport

      Bonjour,
      il est peut être plus facile d’adapter un soft que de le créer pour un matériel donné.
      Cordialement

      Voir en ligne : ex-dccinspector

      Répondre

    • Gestion des interruptions 16 septembre 2023 09:31, par Christian

      La R4 ayant un microcontrôleur différent de la R3, aura aussi des timers différents et donc des registres de contrôle différents. En conséquence, vous ne pouvez pas utiliser des instructions qui concernent les registres des timers de la R3.
      Comme je l’ai expliqué dans l’article, un programme écrit pour la R3 ne peut tourner sur la R4 que s’il respecte l’API d’Arduino, c’est-à-dire les fonctions écrites pour Arduino qui libèrent le programmeur de se préoccuper de ce qui se passe sous le capot.
      En utilisant l’accès direct à des registres, vous vous limitez à un seul type de microcontrôleur alors qu’en utilisant les fonctions écrites pour Arduino, les registres sont positionnés comme il se doit, même si vous ne savez pas exactement ce qu’il se passe.
      Il ne s’agit pas seulement d’interruptions, même si celles de la R4 sont aussi différentes de la R3.
      Pour adapter votre programme, il va falloir vous plonger dans la documentation du microcontrôleur de la R4 et comprendre les différentes ressources de ce dernier afin de les utiliser au mieux : gros travail !

      Répondre

    • Gestion des interruptions 18 septembre 2023 16:44, par Philippe

      Merci de vos suggestions. Je vais analyser le code de l’ex-dccinspector. Et voir comment gérer des interruptions sans utiliser de code spécifique à un processeur.

      Répondre

  • Adieu Uno, bonjour Uno ! 29 septembre 2023 19:05, par yves2guilers

    La BaseStation de Gregg Berman, qui est utilisée pour faire le projet DCCpp_Uno, invoque-t-elle les registres timers ou respecte-t-elle l’API d’Arduino ?

    Répondre

  • Adieu Uno, bonjour Uno ! 29 septembre 2023 20:55, par msport

    La réponse est dans le code ...

    289. bitSet(TCCR1A,WGM10) ; // set Timer 1 to FAST PWM, with TOP=OCR1A
    290. bitSet(TCCR1A,WGM11) ;
    291. bitSet(TCCR1B,WGM12) ;
    292. bitSet(TCCR1B,WGM13) ;
    293.

    Répondre

  • Adieu Uno, bonjour Uno ! vive le DMA 14 décembre 2023 07:02, par yves2guilers

    Pour moi la grosse différence entre un Aduino R3 et un Arduino R4 est la présence d’un DMA pour le R4 qui permet de transférer des données d’une plage mémoire vers une autre plage mémoire sans intervention de la CPU, une fois le processus lancé.
    De même le R4 effectuera un transfert de la mémoire ( un tableau) vers un périphérique ou inversement. Ce transfère peut ou pas être cadencé par un timer.
    On peut citer deux exemples, générer une sinusoïde à une fréquence donnée avec un DAC, acquérir 30 points d’un capteur de distance imprécis puis calculer la moyenne de ces points. Je pense que pour l’instant cette fonctionnalité n’a pas encore été activée part l’équipe de développement de la fondation Arduino.

    Répondre

    • Adieu Uno, bonjour Uno ! vive le DMA 14 décembre 2023 10:08, par Christian

      J’ai évoqué le DMA dans le paragraphe "Allons voir sous le capot" mais si je n’ai pas développé, c’est que peu de projets de modélisme ferroviaire auront besoin de transférer des données entre le CPU et un périphérique. Je manque peut-être d’imagination pour l’instant.
      J’aurais aussi tendance à dire que chacun voit la ressource la plus importante de ce microcontrôleur en fonction de ses propres besoins et c’est tout à fait naturel. Encore une fois, pour ceux qui ont envie de découvrir, il y a plein de domaines à explorer dans cette nouvelle carte. C’est quand même réservé aux experts dont vous semblez faire partie puisque votre attention a été portée sur le DMA.
      Merci pour votre contribution : si vous exploitez le DMA dans le cadre d’un montage de modélisme ferroviaire, nous sommes preneur d’un article car nous cherchons de nouveaux auteurs et le site est ouvert à tous.
      Cordialement.

      Répondre

  • Adieu Uno, bonjour Uno ! 18 août 2024 14:57, par Franck

    Bonjour,

    J’ai une carte UNO R4 Wifi et je souhaite utiliser les leds pour faire défiler des messages de debug.

    Mon gros problème, est que durant l’affichage du message qui défile (qui peut prendre une dizaine de seconde), le LOOP est bloqué. Donc le code est bloqué jusqu’à la fin du défilement du texte.
    Y a t-il un moyen pour que le code continue à s’exécuter durant le défilement du texte ?

    Merci pour votre aide.
    CDlt,

    Répondre

    • Adieu Uno, bonjour Uno ! 19 août 2024 10:13, par Jean-Luc

      Bonjour,

      Il faut que vous coupiez le défilement de votre texte en pas élémentaires, ce qui doit se faire assez facilement, et qu’un pas s’exécute à chaque exécution de loop. Autrement dit, au lieu d’écrire une boucle for qui provoque le défilement, vous devez faire une itération de cette boucle à chaque loop.

      Répondre

Rubrique Matériel

Les derniers articles

Les articles les plus lus