Auteur Sujet: Bonjour,  (Lu 4556 fois)

Serrurier

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Bonjour,
« le: mai 14, 2020, 12:44:36 pm »
Bonjour,
Je reprends le modélisme ferroviaire (HO) après une bonne trentaine d'années d'interruption et force m'est de constater que les choses ont quelque peu évolué....
J'ai donc tenté de m'initier au digital, mais je dois bien avouer qu'il m'a fallu un bon moment pour savoir par quel bout commencer ! Je souhaiterais en effet pouvoir émuler le fonctionnement d'installations de sécurité en usage sur le réseau ferré français, avec asservissement des locomotives pour le respect des signaux fermés (et, si possible, éviter un arrêt brutal).
Au vu des articles et tutoriels très pédagogiques présentés sur ce site, j'ai cru comprendre que le système Arduino me permettrait probablement d'atteindre mon objectif ; je remercie à cet égard toutes les personnes qui se dévouent pour l'animer.
Pour l'instant, je prends le temps de lire les différents articles, mais je ne manquerai pas revenir vers vous au cas où mon projet se concrétiserait.
Bien cordialement,




msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Bonjour,
« Réponse #1 le: mai 16, 2020, 09:51:00 am »
Bienvenue et bon retour vers le futur !
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Bonjour,
« Réponse #2 le: mai 18, 2020, 09:12:46 pm »
Bienvenue,

Faites nous part des sujets et contributions que vous retenez.
Sans oublier le site editorial.

Cordialement
Cordialement,
Dominique

Serrurier

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re : Bonjour,
« Réponse #3 le: mai 24, 2020, 10:37:25 pm »
Bonjour,
Merci pour votre accueil.
Pour répondre à Dominique, je m'intéresse actuellement aux sujets relatifs à la commande digitale des accessoires. L'étude du passage à niveau multivoies a également retenu mon attention. J'envisage en effet la réalisation d'un automate de passage à niveau de pleine ligne de voie unique (basé sur le principe des passages à niveau mis en œuvre sur les lignes "à trafic lent et faible"). Si j'y parviens, je ne m'interdis pas de réfléchir ensuite à d'autres projets plus ambitieux.
Cordialement,
Michel

Serrurier

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re : Bonjour,
« Réponse #4 le: juin 05, 2020, 10:14:32 am »
Bonjour,
Je reviens vers vous au sujet de mon projet de passage à niveau avec LED et manœuvre des barrières par servomoteurs.
Il est bien évident qu'étant parti de peu de choses, je ne puisse pas atteindre en si peu de temps un niveau de connaissance suffisant pour comprendre et reproduire les détails de projets aussi sophistiqués que ceux présentés sur ce site. Aussi, afin de tenter de progresser, je m'emploie à réaliser des codes simples, savoir la commande des cycles de préavis, fermeture et réouverture, le tout commandé par des interruptions. En dépit de la lecture intensive de nombreux sujets (et la consultation de sites autres que Locoduino), je ne parviens pas à obtenir de réponse tranchée à certaines questions que je prends donc la liberté de vous poser; je compte à cet égard sur votre bienveillance, car je suis bien conscient que c'est peut-être écrit quelque part (mais que ce n'est pas faute de ne pas avoir cherché) :
  • Peut-on faire exécuter simultanément deux procédures, l'une commandant le clignotement des feux routiers, l'autre commandant les servomoteurs degré par degré avec une temporisation (par millis() et non par delay), pour contrôler la vitesse de manœuvre des barrières ? Je ne vois pas comment on pourrait écrire cela dans la boucle loop(), et ne vois donc d'autre solution que d'imbriquer les deux procédures; il est évident que si je pouvais l'éviter, cela me permettrait de paramétrer séparément les délais de clignotement et de manœuvre des barrières (le cycle réel d'un passage à niveau automatique est peut-être un peu long à l'échelle du modéliste, d'où l'intérêt de pouvoir paramétrer l'ensemble par recours à des constantes)
  • la commande monServo.write(angle) de la bibliothèque <Servo.h> peut-elle être utilisée directement? Je vois en effet sur certains codes que les fonctions de commande de servomoteurs passent des variables de durée ;
  • J'ai cru lire, au détour d'une phrase, que Arduino n'admettait qu'un nombre limité d'écritures et réécritures. Ai-je bien compris et, dans l'affirmative, pourriez-vous m'indiquer l'ordre de grandeur de ce nombre ?
  • En complément de la question précédente, je simule actuellement le fonctionnement de mon code et mon montage au moyen de Tinkercad (conseillé par l'un des tutoriels du site Eskimon). Connaissez-vous cette application et, dans l'affirmative, si elle vous semble constituer une alternative intéressante pour les débutants (bien que limitée) ? 

Je remercie par avance les personnes qui voudront bien me répondre et vous souhaite une bonne journée.
Bien cordialement,
Michel

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : Re : Bonjour,
« Réponse #5 le: juin 05, 2020, 10:29:17 am »
Bonjour,

Peut-on faire exécuter simultanément deux procédures, l'une commandant le clignotement des feux routiers, l'autre commandant les servomoteurs degré par degré avec une temporisation (par millis() et non par delay), pour contrôler la vitesse de manœuvre des barrières ? Je ne vois pas comment on pourrait écrire cela dans la boucle loop(), et ne vois donc d'autre solution que d'imbriquer les deux procédures; il est évident que si je pouvais l'éviter, cela me permettrait de paramétrer séparément les délais de clignotement et de manœuvre des barrières (le cycle réel d'un passage à niveau automatique est peut-être un peu long à l'échelle du modéliste, d'où l'intérêt de pouvoir paramétrer l'ensemble par recours à des constantes)

Ça dépend ce qu'on entend pas simultanément.

Si c'est « en parallèle », c'est non. Un CPU est séquentiel et il ne peut pas faire deux choses en même temps.

Si c'est « de manière entrelacée » c'est oui. Il y a deux façon de faire les choses de manière entrelacée : avec un système d'exploitation ou à la main. Pour l'Arduino c'est à la main.

Mais il existe de nombreuse bibliothèques permettant d'entrelacer sans effort. Pour les servos et les led vous avez SlowMotionServo et LightDimmer, toutes deux disponibles dans le gestionnaire de bibliothèques de l'IDE. Ces deux bibliothèques sont employées dans cet article : https://www.locoduino.org/spip.php?article25

Citer
la commande monServo.write(angle) de la bibliothèque <Servo.h> peut-elle être utilisée directement? Je vois en effet sur certains codes que les fonctions de commande de servomoteurs passent des variables de durée ;

Oui

Citer
J'ai cru lire, au détour d'une phrase, que Arduino n'admettait qu'un nombre limité d'écritures et réécritures. Ai-je bien compris et, dans l'affirmative, pourriez-vous m'indiquer l'ordre de grandeur de ce nombre ?

Oui mais ça concerne l'EEPROM (données persistantes) et la flash (programme et constantes). Respectivement 100000 et 10000 écritures.

Citer
En complément de la question précédente, je simule actuellement le fonctionnement de mon code et mon montage au moyen de Tinkercad (conseillé par l'un des tutoriels du site Eskimon). Connaissez-vous cette application et, dans l'affirmative, si elle vous semble constituer une alternative intéressante pour les débutants (bien que limitée) ?

Je connais de nom mais je n'utilise pas.

PS : méfiez vous de ce qui est sur le blog d'Eskimon (je parle de la présentation du langage), il y a des erreurs et beaucoup de mauvaises pratiques.
« Modifié: juin 05, 2020, 10:43:04 am par Jean-Luc »
Cordialement

Serrurier

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re : Bonjour,
« Réponse #6 le: juin 05, 2020, 05:02:25 pm »
Bonjour Jean-Luc,
Je vous remercie d'avoir pris le temps de me répondre aussi promptement et aussi complètement.
Je vais regarder de très près ces bibliothèques, attendu que j'ai d'ores et déjà entrelacé ces commandes "à la main", en répartissant les cycles de clignotement - sans fading, car c'est déjà compliqué pour un débutant ! Mais ça viendra ;)-, par rapport à la vitesse de descente de la barrière).
L'étape suivante consistera à ajouter la sonnerie, mais je crois qu'il y a un sujet sur le forum.
Je suis bien conscient qu'aucun tutoriel n'est exempt d'erreurs (compte tenu, aussi, de la mauvais compréhension que je peux avoir de certaines choses). J'y recours essentiellement pour tenter de lever les incompréhensions que je peux avoir à la lecture d'un article et du code qui lui est associé, étant entendu que je fais ensuite "une moyenne"; je vous remercie néanmoins d'attirer mon attention, sur ce cas particulier.
Je vous réitère mes remerciements et vous souhaite une bonne soirée.
Bien cordialement,
Michel